The Plastic3DJ2 class creates a triaxial material class with the constitutive equation given as
\[ \sigma = \mathbb{C} \left( \epsilon - \epsilon^p \right) \nonumber \]
where \(\sigma\) is the stress vector, \(\epsilon\) is the strain vector, and \(\mathbb{C}\) is the rank-four consistent tangent stiffness, given as
\[ \mathbb{C} = K \, \textbf{1} \otimes \textbf{1} + 2 \, \mu \left( \mathbb{I} - \frac{1}{3} \textbf{1} \otimes \textbf{1} - \frac{\hat{\textbf{n}} \otimes \hat{\textbf{n}}}{1 + \frac{H}{2 \, \mu}} \right) - 2 \mu \, \gamma \left( \mathbb{I} - \frac{1}{3} \textbf{1} \otimes \textbf{1} - \hat{\textbf{n}} \otimes \hat{\textbf{n}} \right)\nonumber \]
REFERENCE:
The python Pre-Analysis in the 01-Pre_Process/Method/Attach.py file provides with an interface to populate the Entities
dictionary. This file contains several functions to populate specific fields. For example, to create a Plastic3DJ2 material using json format, use:
addMaterial(tag, name='Plastic3DJ2', attributes):
Example
A PLASTIC3DJ2 material can be defined using the python interface as follows:
SVL.addMaterial(tag=1, name='Plastic3DJ2', attributes={'K': 133, 'G': 20.0, 'h': 80, 'beta': 1.0, 'Sy': 40})
Application
Please refer to the J03-DY_Lin_3DPointLoad_J2_Hexa8.py file located at 03-Validations/01-Debugging/ to see an example on how to define a Plastic3DJ2 material.
On the contrary, the 01-Pre_Process/Method/Remove.py file provides with an interface to depopulate the Entities
dictionary. For example, to remove an already define Material, use:
The C++ Run-Analysis in the 02-Run_Process/02-Materials/02-NonLinear/Plastic3DJ2.cpp file provides the class implementation. A Plastic3DJ2 material is created using the built-in json parse-structure provided in the Driver.hpp. A Plastic3DJ2 is defined inside the "Materials" json field indicating its "Tag" as follows,
{ "Materials": { "Tag": { "name" : "PLASTIC3DJ2", "attributes": { "K": double, "G": double, "rho": double, "h": double, "Sy": double, "beta": double } } } }
Variable | Description |
---|---|
Tag | Unique material object identifier. |
K | Represents the bulk modulus. |
G | Represents the shear modulus. |
rho | Represents the material density. |
h | Represents the hardening modulus. |
beta | Kinematic/Hardening ratio. |
Sy | Represents the yielding stress. |
A triaxial PLASTIC3DJ2 material with bulk modulus 133, shear modulus 80, no density, hardening modulus 80, hardening ratio 1.0, and yield stress 40 is defined as:
{ "Materials": { "1": { "name" : "PLASTIC3DJ2", "attributes": { "K": 133, "G": 80, "rho": 0.0, "h": 80, "Sy": 40.0, "beta": 1.0 } } } }