The Viscous1DLinear class creates a uniaxial material class with the constitutive equation given as
\[ \sigma = \eta \, \dot{\epsilon} \nonumber \]
where \(\sigma\) is the uniaxial stress, \(\dot{\epsilon}\) is the uniaxial strain rate, and \(s\) is the viscosity constant. 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 Viscous1DLinear material using json format, use:
addMaterial(tag, name='Viscous1DLinear', attributes):
Example
A VISCOUS1DLINEAR material can be defined using the python interface as follows:
SVL.addMaterial(tag=1, name='Viscous1DLinear', attributes={'eta': 0.125})
Application
Please refer to the A02-DY_Lin_2D_Viscous_ZeroLength.py file located at 03-Validations/01-Debugging/ to see an example on how to define a Viscous1DLinear 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/01-Linear/Viscous1DLinear.cpp file provides the class implementation. A Viscous1DLinear material is created using the built-in json parse-structure provided in the Driver.hpp. A Viscous1DLinear is defined inside the "Materials" json field indicating its "Tag" as follows,
{ "Materials": { "Tag": { "name" : "VISCOUS1DLINEAR", "attributes": { "eta": double } } } }
Variable | Description |
---|---|
Tag | Unique material object identifier. |
eta | Represents the viscosity constant. |
A VISCOUS1DLINEAR material with viscosity constant 0.125 is defined as:
{ "Materials": { "1": { "name" : "VISCOUS1DLINEAR", "attributes": { "eta": 0.125 } } } }