cratepy.material.models.von_mises.VonMises

class VonMises(strain_formulation, problem_type, material_properties)[source]

Bases: ConstitutiveModel

Von Mises constitutive model with isotropic strain hardening.

_name

Constitutive model name.

Type:

str

_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’, }

_ndim

Problem number of spatial dimensions.

Type:

int

_comp_order_sym

Strain/Stress components symmetric order.

Type:

list

_comp_order_nsym

Strain/Stress components nonsymmetric order.

Type:

list

get_required_properties()[source]

Get constitutive model material properties and constitutive options.

state_init(self)[source]

Get initialized material constitutive model state variables.

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

get_material_properties

Constitutive model material properties.

get_name

Get constitutive model name.

get_required_properties

Get constitutive model material properties and constitutive options.

get_source

Get material constitutive model source.

get_strain_type

Get material constitutive model strain formulation.

state_init

Get initialized material constitutive model state variables.

state_update

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:

dict

get_name()

Get constitutive model name.

Returns:

name – Constitutive model name.

Return type:

str

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 if elastic_symmetry is set as isotropic.

  • Eijkl - Elastic moduli. Young’s modulus (E) and Poisson’s coefficient (v) may be alternatively provided if elastic_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:

dict

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.