ASL
0.1.7
Advanced Simulation Library
Toggle main menu visibility
Loading...
Searching...
No Matches
src
num
aslTimeContinuations.h
Go to the documentation of this file.
1
/*
2
* Advanced Simulation Library <http://asl.org.il>
3
*
4
* Copyright 2015 Avtech Scientific <http://avtechscientific.com>
5
*
6
*
7
* This file is part of Advanced Simulation Library (ASL).
8
*
9
* ASL is free software: you can redistribute it and/or modify it
10
* under the terms of the GNU Affero General Public License as
11
* published by the Free Software Foundation, version 3 of the License.
12
*
13
* ASL is distributed in the hope that it will be useful,
14
* but WITHOUT ANY WARRANTY; without even the implied warranty of
15
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
* GNU Affero General Public License for more details.
17
*
18
* You should have received a copy of the GNU Affero General Public License
19
* along with ASL. If not, see <http://www.gnu.org/licenses/>.
20
*
21
*/
22
23
24
#ifndef ASLTIMECONTINUATIONS_H
25
#define ASLTIMECONTINUATIONS_H
26
27
#include "
aslNumMethod.h
"
28
#include <
acl/aclMath/aclVectorOfElementsDef.h
>
29
30
namespace
acl
31
{
32
class
Kernel
;
33
}
34
35
namespace
asl
36
{
37
class
VectorTemplate
;
38
template
<
typename
V>
class
DataWithGhostNodes
;
39
typedef
DataWithGhostNodes<acl::VectorOfElementsData>
DataWithGhostNodesACLData
;
40
typedef
std::shared_ptr<DataWithGhostNodesACLData>
SPDataWithGhostNodesACLData
;
41
class
AbstractDataWithGhostNodes
;
42
typedef
std::shared_ptr<AbstractDataWithGhostNodes>
SPAbstractDataWithGhostNodes
;
43
45
49
class
TimeContinuations
:
public
NumMethod
50
{
51
public
:
52
typedef
SPDataWithGhostNodesACLData
Data
;
53
protected
:
54
acl::VectorOfElementsData
inData
;
55
double
factor
;
56
unsigned
int
nStorages
;
57
TimeContinuations
(
Data
inD,
double
factor
);
58
TimeContinuations
(
acl::VectorOfElementsData
& inD,
double
factor
);
59
public
:
60
void
addData
(
Data
inD);
61
void
addData
(
acl::VectorOfElementsData
& inD);
62
virtual
void
execute
()=0;
63
virtual
void
init
()=0;
65
void
reset
();
66
};
67
68
70
80
class
TimeContinPLagrange
:
public
TimeContinuations
81
{
82
private
:
83
acl::VectorOfElements
storedData;
84
std::vector<std::shared_ptr<acl::Kernel>> kernels;
85
unsigned
int
order;
86
std::vector<double> coefs;
87
88
public
:
89
TimeContinPLagrange
(
Data
inD,
double
f,
unsigned
int
order);
90
TimeContinPLagrange
(
acl::VectorOfElementsData
& inD,
double
f,
unsigned
int
order);
91
virtual
void
execute
();
92
virtual
void
init
();
93
};
94
95
typedef
std::shared_ptr<TimeContinPLagrange>
SPTimeContinPLagrange
;
96
98
114
class
TimeContinPLagrangeFraction
:
public
TimeContinuations
115
{
116
public
:
117
typedef
SPDataWithGhostNodesACLData
Data
;
118
typedef
SPAbstractDataWithGhostNodes
Field
;
119
private
:
120
acl::VectorOfElements
storedData;
121
std::vector<std::shared_ptr<acl::Kernel>> kernels;
122
unsigned
int
order;
123
double
offset;
124
std::vector<double> coefs;
125
126
public
:
127
TimeContinPLagrangeFraction
(
Data
inD,
double
f,
unsigned
int
order);
128
TimeContinPLagrangeFraction
(
acl::VectorOfElementsData
& inD,
129
double
f,
unsigned
int
order);
130
void
execute
();
131
virtual
void
init
();
132
};
133
134
typedef
std::shared_ptr<TimeContinPLagrangeFraction>
SPTimeContinPLagrangeFraction
;
135
136
137
}
// asl
138
#endif
// ASLTIMECONTINUATIONS_H
aclVectorOfElementsDef.h
aslNumMethod.h
acl::Kernel
OpenCl Kernel generator.
Definition
aclKernel.h:49
acl::VectorOfElementsData
The class represents several ElementData.
Definition
aclVectorOfElementsDef.h:57
acl::VectorOfElements
The class represents several Element.
Definition
aclVectorOfElementsDef.h:92
asl::AbstractDataWithGhostNodes
Definition
aslDataWithGhostNodes.h:39
asl::DataWithGhostNodes
Definition
aslDataWithGhostNodes.h:58
asl::NumMethod
Definition
aslNumMethod.h:35
asl::TimeContinPLagrangeFraction::execute
void execute()
Executes the numerical procedure.
asl::TimeContinPLagrangeFraction::TimeContinPLagrangeFraction
TimeContinPLagrangeFraction(Data inD, double f, unsigned int order)
asl::TimeContinPLagrangeFraction::TimeContinPLagrangeFraction
TimeContinPLagrangeFraction(acl::VectorOfElementsData &inD, double f, unsigned int order)
asl::TimeContinPLagrangeFraction::Field
SPAbstractDataWithGhostNodes Field
Definition
aslTimeContinuations.h:118
asl::TimeContinPLagrangeFraction::Data
SPDataWithGhostNodesACLData Data
Definition
aslTimeContinuations.h:117
asl::TimeContinPLagrangeFraction::init
virtual void init()
Builds the necesery internal data and kernels.
asl::TimeContinPLagrange::TimeContinPLagrange
TimeContinPLagrange(Data inD, double f, unsigned int order)
asl::TimeContinPLagrange::TimeContinPLagrange
TimeContinPLagrange(acl::VectorOfElementsData &inD, double f, unsigned int order)
asl::TimeContinPLagrange::init
virtual void init()
Builds the necesery internal data and kernels.
asl::TimeContinPLagrange::execute
virtual void execute()
Executes the numerical procedure.
asl::TimeContinuations::Data
SPDataWithGhostNodesACLData Data
Definition
aslTimeContinuations.h:52
asl::TimeContinuations::factor
double factor
Definition
aslTimeContinuations.h:55
asl::TimeContinuations::init
virtual void init()=0
Builds the necesery internal data and kernels.
asl::TimeContinuations::addData
void addData(Data inD)
asl::TimeContinuations::TimeContinuations
TimeContinuations(acl::VectorOfElementsData &inD, double factor)
asl::TimeContinuations::reset
void reset()
makes reset of the contiuation (storage) cicle
asl::TimeContinuations::execute
virtual void execute()=0
Executes the numerical procedure.
asl::TimeContinuations::inData
acl::VectorOfElementsData inData
Definition
aslTimeContinuations.h:54
asl::TimeContinuations::TimeContinuations
TimeContinuations(Data inD, double factor)
asl::TimeContinuations::addData
void addData(acl::VectorOfElementsData &inD)
asl::TimeContinuations::nStorages
unsigned int nStorages
Definition
aslTimeContinuations.h:56
asl::VectorTemplate
Defines set of vectros with several properties.
Definition
aslTemplates.h:88
acl
Advanced Computational Language.
Definition
acl.h:41
asl
Advanced Simulation Library.
Definition
aslDataInc.h:31
asl::DataWithGhostNodesACLData
DataWithGhostNodes< acl::VectorOfElementsData > DataWithGhostNodesACLData
Definition
aslGenerators.h:46
asl::SPAbstractDataWithGhostNodes
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition
aslGenerators.h:51
asl::SPTimeContinPLagrangeFraction
std::shared_ptr< TimeContinPLagrangeFraction > SPTimeContinPLagrangeFraction
Definition
aslTimeContinuations.h:134
asl::SPTimeContinPLagrange
std::shared_ptr< TimeContinPLagrange > SPTimeContinPLagrange
Definition
aslTimeContinuations.h:95
asl::SPDataWithGhostNodesACLData
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition
aslGenerators.h:47
Generated by
1.17.0