cratepy.material.materialmodeling.VonMises¶
- class VonMises(strain_formulation, problem_type, material_properties)[source]¶
Bases:
ConstitutiveModel
Von Mises constitutive model with isotropic strain hardening.
- _strain_type¶
Constitutive model strain formulation: infinitesimal strain formulation (‘infinitesimal’), finite strain formulation (‘finite’) or finite strain formulation through kinematic extension (infinitesimal constitutive formulation and purely finite strain kinematic extension - ‘finite-kinext’).
- Type:
{‘infinitesimal’, ‘finite’, ‘finite-kinext’}
- _source¶
Material constitutive model source.
- Type:
{‘crate’, }
- get_required_properties()[source]¶
Get constitutive model material properties and constitutive options.
- state_update(self, inc_strain, state_variables_old, su_max_n_iterations=20, su_conv_tol=1e-6)[source]¶
Perform material constitutive model state update.
Constitutive model constructor.
- Parameters:
strain_formulation ({'infinitesimal', 'finite'}) – Problem strain formulation.
problem_type (int) – Problem type: 2D plane strain (1), 2D plane stress (2), 2D axisymmetric (3) and 3D (4).
material_properties (dict) – Constitutive model material properties (key, str) values (item, {int, float, bool}).
List of Public Methods
Constitutive model material properties.
Get constitutive model name.
Get constitutive model material properties and constitutive options.
Get material constitutive model source.
Get material constitutive model strain formulation.
Get initialized material constitutive model state variables.
Perform material constitutive model state update.
Methods
- __init__(strain_formulation, problem_type, material_properties)[source]¶
Constitutive model constructor.
- Parameters:
strain_formulation ({'infinitesimal', 'finite'}) – Problem strain formulation.
problem_type (int) – Problem type: 2D plane strain (1), 2D plane stress (2), 2D axisymmetric (3) and 3D (4).
material_properties (dict) – Constitutive model material properties (key, str) values (item, {int, float, bool}).
- get_material_properties()¶
Constitutive model material properties.
- Returns:
material_properties – Constitutive model material properties (key, str) values (item, {int, float, bool}).
- Return type:
- static get_required_properties()[source]¶
Get constitutive model material properties and constitutive options.
Input data file syntax:
elastic_symmetry < option > < number_of_elastic_moduli > euler_angles < value > < value > < value > Eijkl < value > Eijkl < value > ... isotropic_hardening < option > < n_hardening_parameters > hard_parameter < value > hard_parameter < value > ...
where
elastic_symmetry
- Elastic symmetry and number of elastic moduli.euler_angles
- Euler angles (degrees) sorted according with Bunge convention. Not required ifelastic_symmetry
is set as isotropic.Eijkl
- Elastic moduli. Young’s modulus (E
) and Poisson’s coefficient (v
) may be alternatively provided ifelastic_symmetry
is set as isotropic.isotropic_hardening
- Isotropic strain hardening type and number of parameters.hard_parameter
- Isotropic strain hardening type parameter.
- Returns:
material_properties (list[str]) – Constitutive model material properties names (str).
constitutive_options (dict) – Constitutive options (key, str) and available specifications (item, tuple[str]).
- get_source()¶
Get material constitutive model source.
- Returns:
source – Material constitutive model source.
- Return type:
{‘crate’,}
- get_strain_type()¶
Get material constitutive model strain formulation.
- Returns:
strain_type – Constitutive model strain formulation: infinitesimal strain formulation (‘infinitesimal’), finite strain formulation (‘finite’) or finite strain formulation through kinematic extension (infinitesimal constitutive formulation and purely finite strain kinematic extension - ‘finite-kinext’).
- Return type:
{‘infinitesimal’, ‘finite’, ‘finite-kinext’}
- state_init()[source]¶
Get initialized material constitutive model state variables.
Constitutive model state variables:
e_strain_mf
Infinitesimal strains: Elastic infinitesimal strain tensor (matricial form).
Finite strains: Elastic spatial logarithmic strain tensor (matricial form).
Symbol: \(\boldsymbol{\varepsilon^{e}}\) / \(\boldsymbol{\varepsilon^{e}}\)
acc_p_strain
Accumulated plastic strain.
Symbol: \(\bar{\varepsilon}^{p}\)
strain_mf
Infinitesimal strains: Infinitesimal strain tensor (matricial form).
Finite strains: Spatial logarithmic strain tensor (matricial form).
Symbol: \(\boldsymbol{\varepsilon}\) / \(\boldsymbol{\varepsilon}\)
stress_mf
Infinitesimal strains: Cauchy stress tensor (matricial form).
Finite strains: Kirchhoff stress tensor (matricial form) within
state_update()
, first Piola-Kirchhoff stress tensor (matricial form) otherwise.Symbol: \(\boldsymbol{\sigma}\) / (\(\boldsymbol{\tau}\), \(\boldsymbol{P}\))
is_plastic
Plastic step flag.
is_su_fail
State update failure flag.
- Returns:
state_variables_init – Initialized material constitutive model state variables.
- Return type:
- state_update(inc_strain, state_variables_old, su_max_n_iterations=20, su_conv_tol=1e-06)[source]¶
Perform material constitutive model state update.
- Parameters:
inc_strain (numpy.ndarray (2d)) – Incremental strain second-order tensor.
state_variables_old (dict) – Last converged material constitutive model state variables.
su_max_n_iterations (int, default=20) – State update maximum number of iterations.
su_conv_tol (float, default=1e-6) – State update convergence tolerance.
- Returns:
state_variables (dict) – Material constitutive model state variables.
consistent_tangent_mf (numpy.ndarray (2d)) – Material constitutive model consistent tangent modulus in matricial form.