ASL 0.1.7
Advanced Simulation Library
Loading...
Searching...
No Matches
aslBasicBC.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 ASLBASICBC_H
25#define ASLBASICBC_H
26
27#include "aslBCond.h"
28#include <data/aslDataWithGhostNodes.h>
29#include <acl/aclMath/aclVectorOfElementsDef.h>
30
31
32namespace acl{
33 class Kernel;
34 typedef std::shared_ptr<Kernel> SPKernel;
35}
36
37
38
39namespace asl
40{
41 template <typename T> class UValue;
42 class PositionFunction;
43 typedef std::shared_ptr<PositionFunction> SPPositionFunction;
44
45
47
50 class BCConstantValue:public BCond
51 {
52 public:
55 protected:
56 Data data;
58 public:
60 virtual void execute();
61 virtual void init();
63 };
64
66
70 {
71 public:
74 protected:
75 Data data;
77 public:
79 const acl::VectorOfElements & v,
80 Data map);
82 virtual void execute();
83 virtual void init();
85 };
86
88
92 {
93 public:
96 protected:
97 Data data;
99 public:
101 const acl::VectorOfElements & v,
102 Data map,
103 const VectorTemplate *const t);
105 virtual void execute();
106 virtual void init();
108 };
109
111
114 class BCValuePFMap:public BCondWithMap
115 {
116 public:
119 protected:
120 Data data;
122 public:
125 Data map);
127 virtual void execute();
128 virtual void init();
130 };
131
132
134
138 double v,
139 const std::vector<SlicesNames> & sl);
141
145 UValue<double> & v,
146 const std::vector<SlicesNames> & sl);
148
152 UValue<AVec<float>> & v,
153 const std::vector<SlicesNames> & sl);
155
159 AVec<> v,
160 const std::vector<SlicesNames> & sl);
161
164 double v,
166
169 AVec<> v,
171
176
179 double v,
181 const VectorTemplate *const t);
182
185 AVec<> v,
187 const VectorTemplate *const t);
188
189
191 class BCConstantGradient:public BCond
192 {
193 public:
196 protected:
197 Data data;
199 public:
201 const acl::VectorOfElements & v,
202 const VectorTemplate *const t);
203 virtual void execute();
204 virtual void init();
206 };
207
210 {
211 public:
214 protected:
215 Data data;
217 public:
219 const acl::VectorOfElements & v,
220 Data map,
221 const VectorTemplate *const t);
223 const acl::VectorOfElements & v,
224 Data map,
226 const VectorTemplate *const t);
228 virtual void execute();
229 virtual void init();
231 };
232
235 double v,
236 const VectorTemplate *const t,
237 const std::vector<SlicesNames> & sl);
238
241 double v,
243 const VectorTemplate *const t);
246 double v,
249 const VectorTemplate *const t);
250
253 AVec<> v,
255 const VectorTemplate *const t);
256
259 double v,
261 const VectorTemplate *const t);
264 double v,
267 const VectorTemplate *const t);
268
271 AVec<> v,
273 const VectorTemplate *const t);
274
276
279 class BCConstantSource:public BCond
280 {
281 public:
284 protected:
285 Data data;
287 public:
289 virtual void execute();
290 virtual void init();
292 };
293
294
296
299 class BCDirectCopier:public BCondConnector
300 {
301 public:
304 protected:
305 Data & source;
307 public:
309 virtual void execute();
310 virtual void init();
311 };
312
314
317 class BCSConstantValue:public BCondSlice
318 {
319 public:
321 protected:
323 Data data;
325 public:
327 virtual void execute();
328 virtual void init();
329 };
330
331
332
333} //asl
334
335#endif //ASLBASICBC_H
The class represents several Element.
Bondary condition that makes fixed gradient <>
Definition aslBasicBC.h:192
acl::VectorOfElements value
Definition aslBasicBC.h:198
virtual void init()
Builds the necesery internal data and kernels.
void setValue(const acl::VectorOfElements &value)
BCConstantGradient(Data d, const acl::VectorOfElements &v, const VectorTemplate *const t)
SPAbstractDataWithGhostNodes Data
Definition aslBasicBC.h:194
virtual void execute()
Executes the numerical procedure.
Bondary condition that makes fixed gradient <>
Definition aslBasicBC.h:210
BCConstantGradientMap(Data d, const acl::VectorOfElements &v, Data map, const VectorTemplate *const t)
BCConstantGradientMap(Data d, const acl::VectorOfElements &v, Data map, Data computationalDomain, const VectorTemplate *const t)
virtual void init()
Builds the necesery internal data and kernels.
SPAbstractDataWithGhostNodes Data
Definition aslBasicBC.h:212
virtual void execute()
Executes the numerical procedure.
acl::VectorOfElements value
Definition aslBasicBC.h:216
void setValue(const acl::VectorOfElements &v)
Bondary condition that adds fixed value to one in each point.
Definition aslBasicBC.h:280
virtual void execute()
Executes the numerical procedure.
void setValue(cl_double value)
BCConstantSource(Data d, cl_double v)
acl::SPKernel kernel
Definition aslBasicBC.h:283
SPDataWithGhostNodesACLData Data
Definition aslBasicBC.h:282
virtual void init()
Builds the necesery internal data and kernels.
virtual void init()
Builds the necesery internal data and kernels.
SPAbstractDataWithGhostNodes Data
Definition aslBasicBC.h:53
BCConstantValue(Data d, const acl::VectorOfElements &v)
acl::VectorOfElements value
Definition aslBasicBC.h:57
acl::SPKernel kernel
Definition aslBasicBC.h:54
virtual void execute()
Executes the numerical procedure.
void setValue(const acl::VectorOfElements &v)
Bondary condition that puts fixed value in each point.
Definition aslBasicBC.h:70
BCConstantValueMap(Data d, const acl::VectorOfElements &v, Data map)
void setValue(const acl::VectorOfElements &v)
virtual void execute()
Executes the numerical procedure.
SPAbstractDataWithGhostNodes Data
Definition aslBasicBC.h:72
acl::SPKernel kernel
Definition aslBasicBC.h:73
virtual void init()
Builds the necesery internal data and kernels.
acl::VectorOfElements value
Definition aslBasicBC.h:76
Bondary condition that puts fixed value in each boundary point.
Definition aslBasicBC.h:92
acl::VectorOfElements value
Definition aslBasicBC.h:98
BCConstantValueMiddlePointMap(Data d, const acl::VectorOfElements &v, Data map, const VectorTemplate *const t)
virtual void init()
Builds the necesery internal data and kernels.
void setValue(const acl::VectorOfElements &v)
virtual void execute()
Executes the numerical procedure.
SPAbstractDataWithGhostNodes Data
Definition aslBasicBC.h:94
Bondary condition that copies directly the values from one data to another.
Definition aslBasicBC.h:300
acl::SPKernel kernel
Definition aslBasicBC.h:303
SPDataWithGhostNodesACLData Data
Definition aslBasicBC.h:302
virtual void init()
Builds the necesery internal data and kernels.
virtual void execute()
Executes the numerical procedure.
BCDirectCopier(Data dSource, Data dDestination)
Bondary condition that puts fixed value in each point uses Slices.
Definition aslBasicBC.h:318
SPDataWithGhostNodesACLData Data
Definition aslBasicBC.h:320
acl::SPKernel kernel
Definition aslBasicBC.h:322
virtual void execute()
Executes the numerical procedure.
BCSConstantValue(Data d, cl_double v)
virtual void init()
Builds the necesery internal data and kernels.
Bondary condition that puts fixed value in each point.
Definition aslBasicBC.h:115
void setValue(SPPositionFunction v)
SPAbstractDataWithGhostNodes Data
Definition aslBasicBC.h:117
virtual void execute()
Executes the numerical procedure.
virtual void init()
Builds the necesery internal data and kernels.
acl::SPKernel kernel
Definition aslBasicBC.h:118
SPPositionFunction value
Definition aslBasicBC.h:121
BCValuePFMap(Data d, SPPositionFunction val, Data map)
Virtual class describes general interface for boundary conditions which connect two datas.
Definition aslBCond.h:190
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:59
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:228
Virtual class describes general interface for boundary conditions.
Definition aslBCond.h:101
SPAbstractDataWithGhostNodes map
boundary description for the particular BC
Definition aslBCond.h:111
SPAbstractDataWithGhostNodes computationalDomain
Computational domain which contains all boundaries and the particular boundary as well.
Definition aslBCond.h:114
Updatable value. This class stores value and its TimeStamp.
Definition aslUValue.h:35
Defines set of vectros with several properties.
SPDataWrapperACLData generateDataContainerACL_SP(const Block &b, unsigned int n=1)
generates pointer to ACL Data field with n components
SPNumMethod generateBCConstantValueMiddlePoint(SPAbstractDataWithGhostNodes d, double v, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t)
Bondary condition that puts fixed value in each point <>
SPNumMethod generateBCConstantGradient2(SPAbstractDataWithGhostNodes d, double v, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t)
Bondary condition that makes fixed gradient, second order accuracy <>
SPBCond generateBCConstantGradient(SPAbstractDataWithGhostNodes d, double v, const VectorTemplate *const t, const std::vector< SlicesNames > &sl)
Bondary condition that makes fixed gradient <>
SPBCond generateBCConstantValue(SPAbstractDataWithGhostNodes d, double v, const std::vector< SlicesNames > &sl)
Bondary condition that puts fixed value in each point.
std::shared_ptr< PositionFunction > SPPositionFunction
Advanced Computational Language.
Definition acl.h:41
std::shared_ptr< Kernel > SPKernel
Advanced Simulation Library.
Definition aslDataInc.h:31
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
std::shared_ptr< NumMethod > SPNumMethod
std::shared_ptr< BCond > SPBCond
Definition aslBCond.h:88
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData