40 const double fc = 30.;
41 const double qh0 = .3;
42 const double hp = .01;
43 const double df = .85;
44 const double ah = .08;
45 const double bh = .003;
47 const double dh = 1
E-6;
52 const double e = [&] {
53 const auto fbc = 1.16 *
fc;
54 const auto factor =
ft / fbc * (fbc +
fc) * (fbc -
fc) / (
fc +
ft) / (
fc -
ft);
55 return (1. + factor) / (2. - factor);
60 const double lndf = log(
df + 1.) - log(2. *
df - 1.);
65 const double ra = (1. +
e) * (1. -
e);
66 const double rb = pow(2. *
e - 1., 2.);
67 const double rc =
rb *
e * (5. *
e - 4.);
79 static constexpr unsigned max_iteration = 20u;
80 static const double sqrt_six;
81 static const double sqrt_three_two;
82 static const mat unit_dev_tensor;
89 void compute_plasticity(
double,
double,
double,
double, vec&)
const;
90 int compute_damage(
double,
double,
double,
double,
double, vec&);
91 int compute_damage_factor(
double,
double,
double,
double,
double&, vec&)
const;
114 int initialize(
const shared_ptr<DomainBase>&)
override;
128 void print()
override;
OutputType
Definition: OutputType.h:23
ParameterType
Definition: ParameterType.h:21
The CDPM2 class.
Definition: CDPM2.h:70
int initialize(const shared_ptr< DomainBase > &) override
Definition: CDPM2.cpp:361
int update_trial_status(const vec &) override
Definition: CDPM2.cpp:373
CDPM2(unsigned, double, double, double, double, double, double, double, double, double, double, double, double, double, double, DamageType, double)
Definition: CDPM2.cpp:356
DamageType
Definition: CDPM2.h:72
vector< vec > record(OutputType) override
Definition: CDPM2.cpp:667
double get_parameter(ParameterType) const override
Definition: CDPM2.cpp:371
void print() override
Definition: CDPM2.cpp:674
int reset_status() override
Definition: CDPM2.cpp:659
int clear_status() override
Definition: CDPM2.cpp:643
int commit_status() override
Definition: CDPM2.cpp:651
unique_ptr< Material > get_copy() override
Definition: CDPM2.cpp:369
The Material3D class.
Definition: Material3D.h:37
const double ch
Definition: CDPM2.h:46
const double eft
Definition: CDPM2.h:49
const double poissons_ratio
Definition: CDPM2.h:38
const double fh
Definition: CDPM2.h:63
const double as
Definition: CDPM2.h:48
const double lndf
Definition: CDPM2.h:60
const double ra
Definition: CDPM2.h:65
const double eh
Definition: CDPM2.h:62
const double rb
Definition: CDPM2.h:66
const double elastic_modulus
Definition: CDPM2.h:37
const double e
Definition: CDPM2.h:52
const double dh
Definition: CDPM2.h:47
const double qh0
Definition: CDPM2.h:41
const double df
Definition: CDPM2.h:43
const double ah
Definition: CDPM2.h:44
const double ft
Definition: CDPM2.h:39
const double bh
Definition: CDPM2.h:45
const double rc
Definition: CDPM2.h:67
const double m0
Definition: CDPM2.h:59
const double fc
Definition: CDPM2.h:40
const double ftfc
Definition: CDPM2.h:58
const double e0
Definition: CDPM2.h:57
const double efc
Definition: CDPM2.h:50
const double hp
Definition: CDPM2.h:42
const double sqrtdf
Definition: CDPM2.h:61