The Hertzian1DLinear class creates a uniaxial material class with the constitutive equation given as
\[ \sigma = k_1 \epsilon + k_2 \epsilon^2 + k_3 \epsilon^3 \nonumber \]
where \(\sigma\) is the uniaxial stress, \(\epsilon\) is the uniaxial strain, and \(k_1\), \(k_2\), \(k_3\) are parameters of the constitutive law. The next Figure shows the constitutive law of this material.
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 Hertzian1DLinear material using json format, use:
addMaterial(tag, name='Hertzian1DLinear', attributes):
Example
A HERTZIAN1DLINEAR material can be defined using the python interface as follows:
SVL.addMaterial(tag=1, name='Hertzian1DLinear', attributes={'k1': 10.0, 'k2': 0.0, 'k3': 0.0})
Application
Please refer to the A05-DY_Lin_Hertzian_Contact_ZeroLength.py file located at 03-Validations/01-Debugging/ to see an example on how to define a Hertzian1DLinear 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/Hertzian1DLinear.cpp file provides the class implementation. A Hertzian1DLinear material is created using the built-in json parse-structure provided in the Driver.hpp. A Hertzian1DLinear is defined inside the "Materials" json field indicating its "Tag" as follows,
{ "Materials": { "Tag": { "name" : "HERTZIAN1DLINEAR", "attributes": { "k1": double, "k2": double, "k3": double, "rho": double } } } }
Variable | Description |
---|---|
Tag | Unique material object identifier. |
k1 | Represents the linear elastic modulus. |
k2 | Represents the quadratic elastic modulus. |
k3 | Represents the cubic elastic modulus. |
rho | Represents the material density. |
A uniaxial HERTZIAN1DLINEAR material with linear modulus 10 and no density is defined:
{ "Materials": { "1": { "name" : "HERTZIAN1DLINEAR", "attributes": { "k1": 10.0, "k2": 0.0, "k3": 0.0, "rho": 0.0 } } } }