ASL 0.1.7
Advanced Simulation Library
aslCrystalGrowthBC.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 ASLCRYSTALGROWTHBC_H
25#define ASLCRYSTALGROWTHBC_H
26
27#include "aslBCond.h"
30
31
32namespace acl
33{
34 class Kernel;
35 typedef std::shared_ptr<Kernel> SPKernel;
36}
37
38namespace asl
39{
40 class PositionFunction;
41 typedef std::shared_ptr<PositionFunction> SPPositionFunction;
42
43
47 {
48 public:
51 protected:
55 public:
59 Data map,
60 const VectorTemplate *const t);
64 Data map,
66 const VectorTemplate *const t);
68 virtual void execute();
69 virtual void init();
70 };
71
73
121 {
122 public:
125 protected:
129 public:
133 Data map,
134 const VectorTemplate *const t);
138 Data map,
140 const VectorTemplate *const t);
142 virtual void execute();
143 virtual void init();
144 };
145
149 {
150 public:
154 protected:
158 public:
162 Data map,
163 const VectorTemplate *const t);
167 Data map,
169 const VectorTemplate *const t);
171 virtual void execute();
172 virtual void init();
173 };
174
175
176
178 double cEq,
179 double beta,
181 const VectorTemplate *const t);
182
184 double cEq,
185 double beta,
187 SPAbstractDataWithGhostNodes computationalDomain,
188 const VectorTemplate *const t);
189
191 double cEq,
192 double beta,
194 const VectorTemplate *const t);
195
197 double cEq,
198 double beta,
200 SPAbstractDataWithGhostNodes computationalDomain,
201 const VectorTemplate *const t);
202
203} //asl
204
205#endif //ASLCRYSTALGROWTHBC_H
The class represents several Element.
Boundary condition that makes gradient proportional to a surface concentration.
acl::VectorOfElements cEq
virtual void init()
Builds the necesery internal data and kernels.
virtual void execute()
Executes the numerical procedure.
acl::VectorOfElements beta
SPAbstractDataWithGhostNodes Data
BCLinearGrowthMap1(Data d, const acl::VectorOfElements &cEq, const acl::VectorOfElements &beta, Data map, const VectorTemplate *const t)
BCLinearGrowthMap1(Data d, const acl::VectorOfElements &cEq, const acl::VectorOfElements &beta, Data map, Data computationalDomain, const VectorTemplate *const t)
acl::VectorOfElements beta
BCLinearGrowthMap2(Data d, const acl::VectorOfElements &cEq, const acl::VectorOfElements &beta, Data map, const VectorTemplate *const t)
SPAbstractDataWithGhostNodes Data
BCLinearGrowthMap2(Data d, const acl::VectorOfElements &cEq, const acl::VectorOfElements &beta, Data map, Data computationalDomain, const VectorTemplate *const t)
virtual void init()
Builds the necesery internal data and kernels.
acl::VectorOfElements cEq
virtual void execute()
Executes the numerical procedure.
virtual void init()
Builds the necesery internal data and kernels.
BCLinearGrowthMap(Data d, const acl::VectorOfElements &cEq, const acl::VectorOfElements &beta, Data map, Data computationalDomain, const VectorTemplate *const t)
acl::VectorOfElements beta
acl::VectorOfElements cEq
SPAbstractDataWithGhostNodes Data
BCLinearGrowthMap(Data d, const acl::VectorOfElements &cEq, const acl::VectorOfElements &beta, Data map, const VectorTemplate *const t)
virtual void execute()
Executes the numerical procedure.
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
Defines set of vectros with several properties.
Definition: aslTemplates.h:88
std::shared_ptr< PositionFunction > SPPositionFunction
Advanced Computational Language.
Definition: acl.h:41
std::shared_ptr< T > map(ElementData m)
Definition: aclMemBlock.h:68
std::shared_ptr< Kernel > SPKernel
Advanced Simulation Library.
Definition: aslDataInc.h:31
SPNumMethod generateBCLinearGrowth2(SPAbstractDataWithGhostNodes d, double cEq, double beta, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t)
std::shared_ptr< AbstractDataWithGhostNodes > SPAbstractDataWithGhostNodes
Definition: aslGenerators.h:51
SPNumMethod generateBCLinearGrowth(SPAbstractDataWithGhostNodes d, double cEq, double beta, SPAbstractDataWithGhostNodes map, const VectorTemplate *const t)
std::shared_ptr< NumMethod > SPNumMethod
Definition: aslNumMethod.h:44