ASL  0.1.7
Advanced Simulation Library
aslBasicBC2.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 ASLBASICBC2_H
25 #define ASLBASICBC2_H
26 
27 #include "aslBCond.h"
30 
31 
32 namespace acl{
33  class Kernel;
34  typedef std::shared_ptr<Kernel> SPKernel;
35 }
36 
37 
38 
39 namespace asl
40 {
41  template <typename T> class UValue;
42  class PositionFunction;
43  typedef std::shared_ptr<PositionFunction> SPPositionFunction;
44 
45 
46 
48 
51 /* class BCConstantValueMap:public BCondWithMap
52  {
53  public:
54  typedef SPAbstractDataWithGhostNodes Data;
55  acl::SPKernel kernel;
56  protected:
57  Data data;
58  acl::VectorOfElements value;
59  public:
60  BCConstantValueMap(Data d,
61  const acl::VectorOfElements & v,
62  Data map);
63  ~BCConstantValueMap();
64  virtual void execute();
65  virtual void init();
66  void setValue(const acl::VectorOfElements & v);
67  };
68 */
69 
71 
74 /* class BCValuePFMap:public BCondWithMap
75  {
76  public:
77  typedef SPAbstractDataWithGhostNodes Data;
78  acl::SPKernel kernel;
79  protected:
80  Data data;
81  SPPositionFunction value;
82  public:
83  BCValuePFMap(Data d,
84  SPPositionFunction val,
85  Data map);
86  ~BCValuePFMap();
87  virtual void execute();
88  virtual void init();
89  void setValue(SPPositionFunction v);
90  };
91 */
92 
95  {
96  public:
100  protected:
103  public:
105  const acl::VectorOfElements & v,
106  Data map,
107  const VectorTemplate *const t);
109  const acl::VectorOfElements & v,
110  Data map,
112  const VectorTemplate *const t);
114  virtual void execute();
115  virtual void init();
116  void setValue(const acl::VectorOfElements & v);
117  };
118 
119 } //asl
120 
121 #endif //ASLBASICBC2_H
std::shared_ptr< PositionFunction > SPPositionFunction
void setValue(const acl::VectorOfElements &v)
Advanced Simulation Library.
Definition: aslDataInc.h:30
Advanced Computational Language.
Definition: acl.h:40
std::shared_ptr< Kernel > SPKernel
Bondary condition that puts fixed value in each point.
Definition: aslBasicBC2.h:94
virtual void init()
Builds the necesery internal data and kernels.
SPAbstractDataWithGhostNodes Data
Definition: aslBasicBC2.h:97
SPAbstractDataWithGhostNodes computationalDomain
Computational domain which contains all boundaries and the particular boundary as well.
Definition: aslBCond.h:114
SPAbstractDataWithGhostNodes map
boundary description for the particular BC
Definition: aslBCond.h:111
The class represents several Element.
BCConstantGradientMap2(Data d, const acl::VectorOfElements &v, Data map, const VectorTemplate *const t)
virtual void execute()
Executes the numerical procedure.
Virtual class describes general interface for boundary conditions.
Definition: aslBCond.h:100
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition: aslGenerators.h:50
Defines set of vectros with several properties.
Definition: aslTemplates.h:87
acl::VectorOfElements value
Definition: aslBasicBC2.h:102