29 #ifndef NONLINEARGURSON_H 30 #define NONLINEARGURSON_H 38 const double q1 = 1.,
q2 = 1.,
fn = 0.,
sn = 1.,
en = 0.;
42 static constexpr
unsigned max_iteration = 20;
43 static const double sqrt_three_two;
44 static const mat unit_dev_tensor;
49 const double para_a = 3. * bulk *
q1 *
q2;
50 const double para_b =
fn /
sn / sqrt(2. * datum::pi);
52 [[nodiscard]]
virtual vec compute_hardening(
double)
const = 0;
66 int initialize(
const shared_ptr<DomainBase>&)
override;
68 [[nodiscard]]
double get_parameter(
ParameterType)
const override;
70 int update_trial_status(
const vec&)
override;
72 int clear_status()
override;
73 int commit_status()
override;
74 int reset_status()
override;
78 void print()
override;
The NonlinearGurson class.
Definition: NonlinearGurson.h:41
const double poissons_ratio
Definition: NonlinearGurson.h:36
const double q1
Definition: NonlinearGurson.h:38
const double fn
Definition: NonlinearGurson.h:38
The Material3D class.
Definition: Material3D.h:37
OutputType
Definition: OutputType.h:21
const double sn
Definition: NonlinearGurson.h:38
Definition: NonlinearGurson.h:34
const double en
Definition: NonlinearGurson.h:38
const double q2
Definition: NonlinearGurson.h:38
const double elastic_modulus
Definition: NonlinearGurson.h:35
ParameterType
Definition: ParameterType.h:21