ASL 0.1.7
Advanced Simulation Library
aslLSFacetedGrowth.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 ASLLSFACETEDGROWTH_H
25#define ASLLSFACETEDGROWTH_H
26
27#include "aslLevelSetLinear.h"
29
30namespace acl
31{
32 class ExpressionContainer;
33}
34
35namespace asl
36{
37
39
42 {
43 public:
44 vector<AVec<>> directions;
45 vector<double> betaSt;
46 vector<double> betaDisl;
47 double betaRough;
48 private:
49 acl::VectorOfElements directionsACL;
50 acl::VectorOfElements betaStACL;
51 acl::VectorOfElements betaDislACL;
52 public:
53
56 acl::VectorOfElements direction,
57 acl::VectorOfElements cosTheta,
59 CrystallographicParameters (const vector<AVec<>> & dir,
60 const vector<double> & bSt,
61 const vector<double> & bDisl,
62 const double bRough);
63 CrystallographicParameters (const double bRough);
67 acl::VectorOfElements sinTheta);
69 const acl::VectorOfElements & dir,
70 const acl::VectorOfElements & sinTheta,
71 const acl::VectorOfElements & stepVelocityLimit);
73 const acl::VectorOfElements & position);
74
76
79 void addFacet(const AVec<> normal, double bSt, double bDisl);
82 };
83
84
86
92 {
93 public:
96
98 protected:
100
102 public:
103
111 };
112
113 typedef std::shared_ptr<LSFacetedGrowth> SPLSFacetedGrowth;
114
115} //asl
116
117#endif //ASLLSFACETEDGROWTH_H
The class represents several Element.
describes crystalographyly specific date
void addFacet(const AVec<> normal, double bSt, double bDisl)
adds new facet information
acl::VectorOfElements stepFactor(const acl::VectorOfElements &dir, const acl::VectorOfElements &position)
void directionCode(acl::VectorOfElements normal, acl::VectorOfElements direction, acl::VectorOfElements cosTheta, acl::ExpressionContainer &k)
generates code which results the number corresponds to nearest direction
acl::VectorOfElements velocity(acl::VectorOfElements supersaturation, acl::VectorOfElements dir, acl::VectorOfElements sinTheta)
CrystallographicParameters(const double bRough)
acl::VectorOfElements velocity(const acl::VectorOfElements &supersaturation, const acl::VectorOfElements &dir, const acl::VectorOfElements &sinTheta, const acl::VectorOfElements &stepVelocityLimit)
void init(acl::TypeID type)
initialize acl data
CrystallographicParameters(const vector< AVec<> > &dir, const vector< double > &bSt, const vector< double > &bDisl, const double bRough)
Numerical method which computes evolution of an interface with a crystalographic kinetics.
CrystallographicParameters crystallography
SPDataWithGhostNodesACLData Data
LSFacetedGrowth(Data df, DataGen c)
SPDataWithGhostNodesACL DataGen
virtual void initVelocityComputation()
SPDataWithGhostNodesACLData Data
Definition: aslLevelSet.h:60
SPDataWithGhostNodesACL DataGen
Definition: aslLevelSet.h:61
Numerical method which computes evolution of an interface.
acl::TypeID type(acl::typeToTypeID< FlT >())
Advanced Computational Language.
Definition: acl.h:41
TypeID
Definition: aclTypes.h:39
Advanced Simulation Library.
Definition: aslDataInc.h:31
std::shared_ptr< LSFacetedGrowth > SPLSFacetedGrowth
std::shared_ptr< DataWithGhostNodesACL > SPDataWithGhostNodesACL
Definition: aslGenerators.h:49
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition: aslGenerators.h:47