The tabular plasticity model is designed to simulate hypoelastic-plasticity using
tabulated data for elastic moduli and the yield function for \(J_2\) and \(J_2-I_1\) models
of perfect plasticity.
The model has been designed with the high-rate deformation of soils in mind but can
also be used for non-hardening metals. Sample input files for linear elastic materials
and von Mises plasticity can be found in the repository.
Since the tabular plasticity model was designed for materials that have almost no tensile strength,
the inputs are expected in the compression positive convention. Note that the general
convention used in the Vaango code is that tension is positive and compression is negative .
Conversions are done internally in the code to make sure that signs are consistent.
Shear modulus model
The shear modulus is either a constant (\(G_0\)) or determined using a Poisson’s ratio (\(\nu\))
from the tabular bulk modulus, \(K(p)\), assuming a linear elastic model:
$$
G = \frac{3K(1-2\nu)}{2(1+\nu)}
$$
This relation is activated if \(\nu \in [-1.0, 0.5)\), otherwise the constant shear modulus
is used.
Bulk modulus model
The bulk modulus is determined from a table of unloading curves. Each unloading
curve is associated with a Hencky plastic volumetric strain (\(\bar{\varepsilon_v^p}\)).
These strains are associated in the JSON file with the key PlasticStrainVol
and added as the first independent variable in the Vaango ups input file.
For each plastic strain value, the JSON file has to contain an associated data
set of TotalStrainVol (the total Hencky volumetric strain, \(\bar{\varepsilon_v}\))
and the Pressure (the mean stress, \(\bar{p}\)).
Yield function
The tabular yield condition is
$$
f = \sqrt{J_2} - g(\bar{p}) = 0
$$
The function \(g(\bar{p})\) is provided in tabular form. Only one such function is
allowed. The independent variable in the associated JSON file will have the name
Pressure while the dependent variable will have the name SqrtJ2.
Input file formats
The inputs for the tabular plasticity model are typically specified as follows.
The prescribed deformation file
The input file listed above is for a single particle driven by a prescribed deformation gradient. The
deformation file is TabularTest_05_PrescribedDeformation.inp which contains the following:
The first column is the time (seconds), the second column is deformation gradient \(F_{xx}\). This
deformation represents uniaxial strain in the \(x\)-direction.
The bulk-modulus model
The bulk modulus model is non-linear (\(\tanh\)-form) and is input as a JSON file containing data
that covers the range expected during a simulation. A sample file
(TabularTest_05_Elastic.json) is shown below:
The yield function
The yield function in this example is a nonlinear Drucker-Prager model. The input file
(TabularTest_05_Yield.json) is shown below: