36#ifndef ARMSTRONGFREDERICK_H
37#define ARMSTRONGFREDERICK_H
52 static constexpr unsigned max_iteration = 20u;
53 static const double root_three_two;
54 static const mat unit_dev_tensor;
56 const unsigned size =
static_cast<unsigned>(
a.size());
59 const double double_shear = 2. * shear;
60 const double three_shear = 3. * shear;
61 const double root_six_shear = sqrt(6.) * shear;
77 int initialize(
const shared_ptr<DomainBase>&)
override;
89 void print()
override;
ParameterType
Definition: ParameterType.h:21
The ArmstrongFrederick class defines a nonlinear hardening material with mixed hardening (isotropic a...
Definition: ArmstrongFrederick.h:51
int reset_status() override
Definition: ArmstrongFrederick.cpp:137
int initialize(const shared_ptr< DomainBase > &) override
Definition: ArmstrongFrederick.cpp:29
void print() override
Definition: ArmstrongFrederick.cpp:145
unique_ptr< Material > get_copy() override
Definition: ArmstrongFrederick.cpp:37
double get_parameter(ParameterType) const override
Definition: ArmstrongFrederick.cpp:39
int clear_status() override
Definition: ArmstrongFrederick.cpp:121
int commit_status() override
Definition: ArmstrongFrederick.cpp:129
ArmstrongFrederick(unsigned, double, double, double, double, double, double, vec &&, vec &&, double=0.)
Definition: ArmstrongFrederick.cpp:25
int update_trial_status(const vec &) override
Definition: ArmstrongFrederick.cpp:41
The Material3D class.
Definition: Material3D.h:37
Definition: ArmstrongFrederick.h:41
const double saturated
Definition: ArmstrongFrederick.h:45
const double hardening
Definition: ArmstrongFrederick.h:46
const double poissons_ratio
Definition: ArmstrongFrederick.h:43
const double m
Definition: ArmstrongFrederick.h:47
const vec a
Definition: ArmstrongFrederick.h:48
const double yield
Definition: ArmstrongFrederick.h:44
const double elastic_modulus
Definition: ArmstrongFrederick.h:42
const vec b
Definition: ArmstrongFrederick.h:48