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"
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
51 {
52 public:
55 protected:
58 public:
60 virtual void execute();
61 virtual void init();
63 };
64
66
70 {
71 public:
74 protected:
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:
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
115 {
116 public:
119 protected:
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
192 {
193 public:
196 protected:
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:
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,
248 SPAbstractDataWithGhostNodes computatinalDomain,
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,
266 SPAbstractDataWithGhostNodes computatinalDomain,
267 const VectorTemplate *const t);
268
271 AVec<> v,
273 const VectorTemplate *const t);
274
276
280 {
281 public:
284 protected:
286 cl_double value;
287 public:
288 BCConstantSource(Data d, cl_double v);
289 virtual void execute();
290 virtual void init();
291 void setValue(cl_double value);
292 };
293
294
296
300 {
301 public:
304 protected:
307 public:
308 BCDirectCopier(Data dSource,Data dDestination);
309 virtual void execute();
310 virtual void init();
311 };
312
314
318 {
319 public:
321 protected:
324 cl_double value;
325 public:
326 BCSConstantValue(Data d, cl_double v);
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.
acl::SPKernel kernel
Definition: aslBasicBC.h:195
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.
Bondary condition that puts fixed value in each point.
Definition: aslBasicBC.h:51
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.
Definition: aslTemplates.h:88
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< BCond > SPBCond
Definition: aslBCond.h:88
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition: aslGenerators.h:51
std::shared_ptr< NumMethod > SPNumMethod
Definition: aslNumMethod.h:44
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition: aslGenerators.h:47