Alamo
src
Model
Interface
Crack
Constant.H
Go to the documentation of this file.
1
#ifndef MODEL_INTERFACE_CRACK_CONSTANT_H
2
#define MODEL_INTERFACE_CRACK_CONSTANT_H
3
4
#include <iostream>
5
#include <fstream>
6
7
#include "AMReX.H"
8
#include "
Crack.H
"
9
#include "
Set/Set.H
"
10
#include "
Util/Util.H
"
11
12
namespace
Model
13
{
14
namespace
Interface
15
{
16
namespace
Crack
17
{
18
class
Constant
:
public
Crack
19
{
20
public
:
21
Constant
(){};
22
23
Set::Scalar
Gc
(
Set::Scalar
/*theta*/
) {
return
_Gc
; }
24
Set::Scalar
DGc
(
Set::Scalar
/*theta*/
) {
return
0.0; }
25
Set::Scalar
DDGc
(
Set::Scalar
/*theta*/
) {
return
0.0; }
26
Set::Scalar
Zeta
(
Set::Scalar
/*theta*/
) {
return
zeta
; }
27
Set::Scalar
Mobility
(
Set::Scalar
/*theta*/
) {
return
mobility
;}
28
Set::Scalar
DrivingForceThreshold
(
Set::Scalar
/*theta*/
) {
return
threshold
;}
29
private
:
30
Set::Scalar
_Gc
= 1.0,
zeta
= 1.e-2,
mobility
= 1.e-2,
threshold
= 0.0;
31
32
public
:
33
static
void
Parse
(
Constant
& value,
IO::ParmParse
& pp)
34
{
35
pp_query
(
"G_c"
,value.
_Gc
);
// Fracture energy
36
pp_query
(
"zeta"
,value.
zeta
);
// Lengthscale regularization
37
pp_query
(
"mobility"
,value.
mobility
);
// Mobility (speed)
38
pp_query
(
"threshold"
, value.
threshold
);
// Threshold
39
40
std::string gtype =
""
;
41
std::string wtype =
""
;
42
pp_query
(
"gtype"
, gtype);
// Type of g function to use {square, multiwell, 4c3, squarep, squarepexp, cubicm}
43
pp_query
(
"wtype"
, wtype);
// Type o w function to use {square, multiwell, multiwell2, 4c3}
44
45
Set::Scalar
ductile_exponent = 1.;
46
if
(gtype ==
"squarepexp"
|| gtype ==
"cubicm"
)
pp_query
(
"exponent"
,ductile_exponent);
47
48
std::map<std::string,Model::Interface::Crack::Crack::GType> g_map;
49
g_map[
"square"
] =
Model::Interface::Crack::Crack::GType::GSQUARE
;
50
g_map[
"multiwell"
] =
Model::Interface::Crack::Crack::GType::GMULTIWELL
;
51
g_map[
"4c3"
] =
Model::Interface::Crack::Crack::GType::GPHI4C3
;
52
g_map[
"squarep"
] =
Model::Interface::Crack::Crack::GType::GSQUAREP
;
53
g_map[
"squarepexp"
] =
Model::Interface::Crack::Crack::GType::GSQUAREPM
;
54
g_map[
"cubicm"
] =
Model::Interface::Crack::Crack::GType::GCUBICM
;
55
56
std::map<std::string,Model::Interface::Crack::Crack::WType> w_map;
57
w_map[
"square"
] =
Model::Interface::Crack::Crack::WType::WSQUARE
;
58
w_map[
"multiwell"
] =
Model::Interface::Crack::Crack::WType::WMULTIWELL
;
59
w_map[
"multiwell2"
] =
Model::Interface::Crack::Crack::WType::WMULTIWELL2
;
60
w_map[
"4c3"
] =
Model::Interface::Crack::Crack::WType::WPHI4C3
;
61
62
value.
SetGType
(g_map[gtype]);
63
value.
SetWType
(w_map[wtype]);
64
65
value.
SetDuctileExponent
(ductile_exponent);
66
}
67
};
68
}
69
}
70
}
71
#endif
Crack.H
pp_query
#define pp_query(...)
Definition
ParmParse.H:106
Set.H
Util.H
IO::ParmParse
Definition
ParmParse.H:114
Model::Interface::Crack::Constant
Definition
Constant.H:19
Model::Interface::Crack::Constant::Mobility
Set::Scalar Mobility(Set::Scalar)
Definition
Constant.H:27
Model::Interface::Crack::Constant::mobility
Set::Scalar mobility
Definition
Constant.H:30
Model::Interface::Crack::Constant::Gc
Set::Scalar Gc(Set::Scalar)
Definition
Constant.H:23
Model::Interface::Crack::Constant::threshold
Set::Scalar threshold
Definition
Constant.H:30
Model::Interface::Crack::Constant::Constant
Constant()
Definition
Constant.H:21
Model::Interface::Crack::Constant::DGc
Set::Scalar DGc(Set::Scalar)
Definition
Constant.H:24
Model::Interface::Crack::Constant::Zeta
Set::Scalar Zeta(Set::Scalar)
Definition
Constant.H:26
Model::Interface::Crack::Constant::_Gc
Set::Scalar _Gc
Definition
Constant.H:30
Model::Interface::Crack::Constant::DDGc
Set::Scalar DDGc(Set::Scalar)
Definition
Constant.H:25
Model::Interface::Crack::Constant::Parse
static void Parse(Constant &value, IO::ParmParse &pp)
Definition
Constant.H:33
Model::Interface::Crack::Constant::zeta
Set::Scalar zeta
Definition
Constant.H:30
Model::Interface::Crack::Constant::DrivingForceThreshold
Set::Scalar DrivingForceThreshold(Set::Scalar)
Definition
Constant.H:28
Model::Interface::Crack::Crack
Definition
Crack.H:17
Model::Interface::Crack::Crack::SetWType
void SetWType(const WType a_type)
Definition
Crack.H:105
Model::Interface::Crack::Crack::SetDuctileExponent
void SetDuctileExponent(const Set::Scalar m)
Definition
Crack.H:110
Model::Interface::Crack::Crack::SetGType
void SetGType(const GType a_type)
Definition
Crack.H:100
Model::Interface::Crack::Crack::WMULTIWELL
@ WMULTIWELL
Definition
Crack.H:20
Model::Interface::Crack::Crack::WPHI4C3
@ WPHI4C3
Definition
Crack.H:20
Model::Interface::Crack::Crack::WSQUARE
@ WSQUARE
Definition
Crack.H:20
Model::Interface::Crack::Crack::WMULTIWELL2
@ WMULTIWELL2
Definition
Crack.H:20
Model::Interface::Crack::Crack::GSQUAREPM
@ GSQUAREPM
Definition
Crack.H:19
Model::Interface::Crack::Crack::GMULTIWELL
@ GMULTIWELL
Definition
Crack.H:19
Model::Interface::Crack::Crack::GSQUARE
@ GSQUARE
Definition
Crack.H:19
Model::Interface::Crack::Crack::GCUBICM
@ GCUBICM
Definition
Crack.H:19
Model::Interface::Crack::Crack::GSQUAREP
@ GSQUAREP
Definition
Crack.H:19
Model::Interface::Crack::Crack::GPHI4C3
@ GPHI4C3
Definition
Crack.H:19
Model
Definition
Disconnection.H:29
Set::Scalar
amrex::Real Scalar
Definition
Base.H:19
Generated by
1.9.8