ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
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
30namespace acl
31{
32 class Kernel;
33}
34
35namespace asl
36{
37 class VectorTemplate;
38 template <typename V> class DataWithGhostNodes;
40 typedef std::shared_ptr<DataWithGhostNodesACLData> SPDataWithGhostNodesACLData;
42 typedef std::shared_ptr<AbstractDataWithGhostNodes> SPAbstractDataWithGhostNodes;
43
45
50 {
51 public:
53 protected:
55 double factor;
56 unsigned int nStorages;
59 public:
60 void addData(Data inD);
62 virtual void execute()=0;
63 virtual void init()=0;
65 void reset();
66 };
67
68
70
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
115 {
116 public:
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);
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
OpenCl Kernel generator.
Definition aclKernel.h:49
The class represents several ElementData.
The class represents several Element.
void execute()
Executes the numerical procedure.
TimeContinPLagrangeFraction(Data inD, double f, unsigned int order)
TimeContinPLagrangeFraction(acl::VectorOfElementsData &inD, double f, unsigned int order)
SPAbstractDataWithGhostNodes Field
SPDataWithGhostNodesACLData Data
virtual void init()
Builds the necesery internal data and kernels.
TimeContinPLagrange(Data inD, double f, unsigned int order)
TimeContinPLagrange(acl::VectorOfElementsData &inD, double f, unsigned int order)
virtual void init()
Builds the necesery internal data and kernels.
virtual void execute()
Executes the numerical procedure.
SPDataWithGhostNodesACLData Data
virtual void init()=0
Builds the necesery internal data and kernels.
void addData(Data inD)
TimeContinuations(acl::VectorOfElementsData &inD, double factor)
void reset()
makes reset of the contiuation (storage) cicle
virtual void execute()=0
Executes the numerical procedure.
acl::VectorOfElementsData inData
TimeContinuations(Data inD, double factor)
void addData(acl::VectorOfElementsData &inD)
Defines set of vectros with several properties.
Advanced Computational Language.
Definition acl.h:41
Advanced Simulation Library.
Definition aslDataInc.h:31
DataWithGhostNodes< acl::VectorOfElementsData > DataWithGhostNodesACLData
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
std::shared_ptr< TimeContinPLagrange > SPTimeContinPLagrange
std::shared_ptr< TimeContinPLagrangeFraction > SPTimeContinPLagrangeFraction
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData