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\).
The means of localizing to the effective matrix stress is therefore given by a potential function \(\phi\) which must always be satisfied:
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:
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):
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:
In the case of multiple criterions Hp
and Hf
are used to
specify interaction between potential so that:
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 |
---|---|---|---|
|
T-2 |
Total (small deformation) strain |
yes |
|
T-2 |
Cauchy stress |
yes |
|
T-2 |
Elastic strain |
no |
|
S |
if broken |
yes |
|
S |
effective flow stress \(\bf sig_*\) |
yes |
|
S |
equivalent plastic strain |
yes |
|
S |
growth porosity |
yes |
|
S |
nucleation porosity |
yes |
|
S |
effective crack like nucleation porosity |
yes |
|
S |
void volume fraction \(f_g+f_n\) |
yes |
|
S |
total effective porosity \(f_g+f_n+f_{ncl}\) |
yes |
|
S |
effective plastic strain |
yes |
|
T-2 |
microscopic back stress |
no |
|
T-2 |
macroscopic back stress |
no |
|
T-2 |
kinematic hardening internal variable |
no |
|
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