porous_plastic#

Description#

This material model is used for damage and densification of porous materials for which the flow rule is associated 1This behavior is programmed only for the \(\theta\)-method. No plane stress is available. The coefficients can depend on porosity, notably of which is the \(f^*\) for the Gurson potential.. The model will be fabricated based on an assemblage of various objects to model the elasticity, criterion, flow, and various hardening (isotropic and kinematic) and nucleation options. The model supports multiple potentials, viscoplasticity, anisotropy, and combined isotropic and kinematic hardening. Many other features are also available for modifying the behavior including models for nucleation of porosity, fine tuning the numerical implementation, and studying the onset of bifurcation instabilities.

Please note that the kinematic hardening for porous plasticity is fundamentally different from what is used for non-porous unified viscoplastic models such as in gen_evp. The purpose of kinematic hardening is also not so much to simulate cyclic behavior, but rather to provide control of the yield surface curvature.

Many porous plastic analysis problems involve finite strain. Please refer to the documentation for MODIFIER for the specifics of different corotational finite strain methods. Note that frequently we use the no_J option where the \(\det(\ten F)\) volumetric adjustment of the Cauchy stress is ignored. The reason to do this is because the volumetric change effects on the stress are essentially resolved by the porous potentials.

A common theme in porous plasticity is that a matrix stress \(\sigma_\star\) is solved for based on the macroscopic nominal stress \(\ten \sigma\), current plastic strain \(p\), and current porosity \(f\).

../../_images/porous.svg

The means of localizing to the effective matrix stress is therefore given by a potential function \(\phi\) which must always be satisfied:

(248)#\[\phi(\ten \sigma, f, \sigma_\star)=0\]

Since the matrix stress \(\sigma_\star\) is the “real material,” porous plasticity uses the measure \(\sigma_\star-R\) as the overstress condition with \(R\) being the current isotropic yield radius. The general porous viscoplastic material is therefore described by the following plastic multiplier:

(249)#\[\dot p = \dot{v}(\sigma_\star-R)\]

with \(\dot{v}\) being any of the Z-mat flow laws given under <FLOW>. The evolution of plastic strain is found via an equivalence of plastic work between the matrix stress/plastic strain and the macroscopic stress and strain (of the composite porous medium):

(250)#\[(1-f)\sigma_\star\dot p = \dot{\ten\varepsilon}_p:\ten{\sigma} = (1-f)\dot\lambda{\partial\sigma_\star\over\partial\ten{\sigma}}:\ten{\sigma}\]

The evolution of porosity is given via conservation of mass given that the plastic strain has a volumetric part due to the pore growth or compaction:

(251)#\[\dot f = (1-f)\trace{\dot{\ten \epsilon}_p}\]

In the case of multiple criterions Hp and Hf are used to specify interaction between potential so that:

(252)#\[\begin{split}\begin{aligned} p_e^i &= \sum_j H_p^{ij} (p^j) \\ f^i &= \sum_j H_f^{ij} (f_g^j+f_n^j) \\ f_t^i &= \sum_j H_f^{ij} (f_g^j+f_n^j+f_{ncl}^j) \end{aligned}\end{split}\]

Syntax#

The whole-behavior keyword summary is given below:

***behavior porous_plastic [modifier] \(~\,\) **thermal_strain <THERMAL_STRAIN> \(~\,\) **elasticity <ELASTICITY> \(~\,\) **porous_potential [name] \(~\,~\,\) *porous_criterion <POROUS_CRITERION> \(~\,~\,\) *flow <FLOW> \(~\,~\,\) *isotropic_hardening <ISOTROPIC> \(~\,~\,\) *strain_nucleation <STRAIN_NUCLEATION> \(~\,~\,\) *kinematic <POROUS_KINEMATIC> \(~\,~\,\) *shear_anisotropy <CRITERION> \(~\,\) **porous_potential\(~\,\) **Hf <SMATRIX> \(~\,\) **Hp <SMATRIX> \(~\,\) **broken_behavior <ELASTICITY> \(~\,\) **adiabatic_heating \(~\,\) **no_C_trick \(~\,\) **save_D \(~\,\) **save_L \(~\,\) **bifurcation_D \(~\,\) **bifurcation_L \(~\,\) **perturbation \(~\,\) **additional_var_aux

The following sub-options control the global behavior operation, while the rest of the specific model will be determined by the dynamic components chosen, most important of which is the porous potential.

**additional_var_aux

allows requesting that additional auxiliary variables be added to the model output. These can be chosen from triax, p1, p2, p3. These variables are closely coupled to the behavior so can be used for additional coefficient dependencies.

**adiabatic_heating

includes adiabatic heating via plastic work, and temperature is included as a state variable named T.

**broken_behavior

is used to enter an elasticity matrix to be used as the behavior after failure has been reached. The measure of “breaking” is determined by the models potentials (there could be different criteria for several potentials together).

**Hf

Coupling term for porosity given above. The matrix is read in as a series of real (floating point) values to fill the matrix. Note these are not general coefficients, but fixed values. The matrix is read \(H_f^{11}, H_f^{12}, \ldots, H_f^{1N}, H_f^{21}, \ldots, H_f^{NN}\) with \(N\) the number of porous potentials.

**Hp

Interaction matrix for plastic strain influence between potentials. The matrix is read \(H_p^{11}, H_p^{12}, \ldots, H_p^{1N}, H_p^{21}, \ldots, H_p^{NN}\) with \(N\) the number of porous potentials.

**porous_potential

define a potential which is part of the model. This command is detailed separately here. Any number of potentials (greater than or equal to 1) can be entered with repeated uses of this command.

Stored Variables

The stored variables for this model are the following:

prefix

size

description

default

eto

T-2

Total (small deformation) strain

yes

sig

T-2

Cauchy stress

yes

eel

T-2

Elastic strain

no

broken

S

if broken

yes

seq

S

effective flow stress \(\bf sig_*\)

yes

p

S

equivalent plastic strain

yes

fg

S

growth porosity

yes

fn

S

nucleation porosity

yes

fncl

S

effective crack like nucleation porosity

yes

f

S

void volume fraction \(f_g+f_n\)

yes

ft

S

total effective porosity \(f_g+f_n+f_{ncl}\)

yes

pe

S

effective plastic strain

yes

Xmic

T-2

microscopic back stress

no

Xmac

T-2

macroscopic back stress

no

alpha

T-2

kinematic hardening internal variable

no

X

T-2

sum of all macroscopic back stresses

no

Example#

As discussed above, the porous plastic material behavior is a very broad code, and encompasses many options and features. The following is a simple “whole” example to give an indication of overall syntax. The user will please refer to the different applicable porous potentials for further examples and details.

***behavior porous_plastic lagrange_rotate_no_J
 **elasticity isotropic
    young 210000.  poisson 0.3
 **porous_potential
   *porous_criterion gurson
       fs = f
       q1 1.5
       q2 1.
   *shear_anisotropy mises
   *isotropic_hardening constant
       R0     T
       200.  -50.
       200.    0.
       150.  100.
       100.  500.
   *flow norton K .01 n 5.
 **adiabatic_heating .9
 **coefficient
     capacity 3.6
***return

**porous_potential#

Description#

*porous_criterion

*shear_anisotropy

*flow

*isotropic

*strain_nucleation

*kinematic