ASL
0.1.7
Advanced Simulation Library
Toggle main menu visibility
Loading...
Searching...
No Matches
src
num
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
"
28
#include <
math/aslVectorsDynamicLength.h
>
29
30
namespace
acl
31
{
32
class
ExpressionContainer
;
33
}
34
35
namespace
asl
36
{
37
39
41
class
CrystallographicParameters
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
55
void
directionCode
(
acl::VectorOfElements
normal,
56
acl::VectorOfElements
direction,
57
acl::VectorOfElements
cosTheta,
58
acl::ExpressionContainer
& k);
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);
64
CrystallographicParameters
();
65
acl::VectorOfElements
velocity
(
acl::VectorOfElements
supersaturation,
66
acl::VectorOfElements
dir,
67
acl::VectorOfElements
sinTheta);
68
acl::VectorOfElements
velocity
(
const
acl::VectorOfElements
& supersaturation,
69
const
acl::VectorOfElements
& dir,
70
const
acl::VectorOfElements
& sinTheta,
71
const
acl::VectorOfElements
& stepVelocityLimit);
72
acl::VectorOfElements
stepFactor
(
const
acl::VectorOfElements
& dir,
73
const
acl::VectorOfElements
& position);
74
76
79
void
addFacet
(
const
AVec<>
normal,
double
bSt,
double
bDisl);
81
void
init
(
acl::TypeID
type
);
82
};
83
84
86
91
class
LSFacetedGrowth
:
public
LevelSetLinear
92
{
93
public
:
94
typedef
SPDataWithGhostNodesACLData
Data
;
95
typedef
SPDataWithGhostNodesACL
DataGen
;
96
97
CrystallographicParameters
crystallography
;
98
protected
:
99
DataGen
superSaturation
;
100
101
virtual
void
initVelocityComputation
();
102
public
:
103
104
LSFacetedGrowth
();
109
LSFacetedGrowth
(
Data
df,
DataGen
c);
110
~LSFacetedGrowth
();
111
};
112
113
typedef
std::shared_ptr<LSFacetedGrowth>
SPLSFacetedGrowth
;
114
115
}
//asl
116
117
#endif
//ASLLSFACETEDGROWTH_H
aslLevelSetLinear.h
aslVectorsDynamicLength.h
acl::ExpressionContainer
Definition
aclExpressionContainer.h:44
acl::VectorOfElements
The class represents several Element.
Definition
aclVectorOfElementsDef.h:92
asl::AVec
Definition
aslVectorsDynamicLength.h:40
asl::CrystallographicParameters
describes crystalographyly specific date
Definition
aslLSFacetedGrowth.h:42
asl::CrystallographicParameters::betaSt
vector< double > betaSt
Definition
aslLSFacetedGrowth.h:45
asl::CrystallographicParameters::addFacet
void addFacet(const AVec<> normal, double bSt, double bDisl)
adds new facet information
asl::CrystallographicParameters::betaRough
double betaRough
Definition
aslLSFacetedGrowth.h:47
asl::CrystallographicParameters::stepFactor
acl::VectorOfElements stepFactor(const acl::VectorOfElements &dir, const acl::VectorOfElements &position)
asl::CrystallographicParameters::directionCode
void directionCode(acl::VectorOfElements normal, acl::VectorOfElements direction, acl::VectorOfElements cosTheta, acl::ExpressionContainer &k)
generates code which results the number corresponds to nearest direction
asl::CrystallographicParameters::velocity
acl::VectorOfElements velocity(acl::VectorOfElements supersaturation, acl::VectorOfElements dir, acl::VectorOfElements sinTheta)
asl::CrystallographicParameters::CrystallographicParameters
CrystallographicParameters(const double bRough)
asl::CrystallographicParameters::directions
vector< AVec<> > directions
Definition
aslLSFacetedGrowth.h:44
asl::CrystallographicParameters::velocity
acl::VectorOfElements velocity(const acl::VectorOfElements &supersaturation, const acl::VectorOfElements &dir, const acl::VectorOfElements &sinTheta, const acl::VectorOfElements &stepVelocityLimit)
asl::CrystallographicParameters::init
void init(acl::TypeID type)
initialize acl data
asl::CrystallographicParameters::betaDisl
vector< double > betaDisl
Definition
aslLSFacetedGrowth.h:46
asl::CrystallographicParameters::CrystallographicParameters
CrystallographicParameters(const vector< AVec<> > &dir, const vector< double > &bSt, const vector< double > &bDisl, const double bRough)
asl::CrystallographicParameters::CrystallographicParameters
CrystallographicParameters()
asl::LSFacetedGrowth::crystallography
CrystallographicParameters crystallography
Definition
aslLSFacetedGrowth.h:97
asl::LSFacetedGrowth::Data
SPDataWithGhostNodesACLData Data
Definition
aslLSFacetedGrowth.h:94
asl::LSFacetedGrowth::LSFacetedGrowth
LSFacetedGrowth(Data df, DataGen c)
asl::LSFacetedGrowth::superSaturation
DataGen superSaturation
Definition
aslLSFacetedGrowth.h:99
asl::LSFacetedGrowth::DataGen
SPDataWithGhostNodesACL DataGen
Definition
aslLSFacetedGrowth.h:95
asl::LSFacetedGrowth::LSFacetedGrowth
LSFacetedGrowth()
asl::LSFacetedGrowth::~LSFacetedGrowth
~LSFacetedGrowth()
asl::LSFacetedGrowth::initVelocityComputation
virtual void initVelocityComputation()
asl::LevelSetLinear::LevelSetLinear
LevelSetLinear()
type
acl::TypeID type(acl::typeToTypeID< FlT >())
acl
Advanced Computational Language.
Definition
acl.h:41
acl::TypeID
TypeID
Definition
aclTypes.h:39
asl
Advanced Simulation Library.
Definition
aslDataInc.h:31
asl::SPLSFacetedGrowth
std::shared_ptr< LSFacetedGrowth > SPLSFacetedGrowth
Definition
aslLSFacetedGrowth.h:113
asl::SPDataWithGhostNodesACL
std::shared_ptr< DataWithGhostNodesACL > SPDataWithGhostNodesACL
Definition
aslGenerators.h:49
asl::SPDataWithGhostNodesACLData
std::shared_ptr< DataWithGhostNodesACLData > SPDataWithGhostNodesACLData
Definition
aslGenerators.h:47
Generated by
1.17.0