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
51 {
52 public:
55 protected:
58 public:
60 virtual void execute();
61 virtual void init();
63 };
64
66
86
88
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
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
OpenCl Kernel generator.
Definition aclKernel.h:49
The class represents several Element.
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.
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)
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)
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
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
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)
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.
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)
BCondConnector(const Block &b1, const Block &b2)
BCond(const Block &b)
BCondSlice(const Block &b)
SPAbstractDataWithGhostNodes map
boundary description for the particular BC
Definition aslBCond.h:111
BCondWithMap(SPAbstractDataWithGhostNodes m, const VectorTemplate *const vt)
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.
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