artisynth.core.materials

Class FemMaterial

• Field Summary

Fields
Modifier and Type Field and Description
`static FieldPropertyList` `myProps`
• Constructor Summary

Constructors
Constructor and Description
`FemMaterial()`
• Method Summary

All Methods
Modifier and Type Method and Description
`static void` ```cauchyToSecondPKStress(SymmetricMatrix3d S, SymmetricMatrix3d sigma, DeformedPoint def)```
Computes the second Piola-Kirchoff stress tensor from the Cauchy stress, according to the formula S = J F^{-1} sigma F^{-T}
`FemMaterial` `clone()`
Returns a clone of this composite property.
`void` ```computeDevLeftCauchyGreen(SymmetricMatrix3d BD, DeformedPoint def)```
Computes the left deviatoric Cauchy-Green tensor from the deformation gradient.
`void` ```computeDevRightCauchyGreen(SymmetricMatrix3d CD, DeformedPoint def)```
Computes the right deviatoric Cauchy-Green tensor from the deformation gradient.
`void` ```computeLeftCauchyGreen(SymmetricMatrix3d B, DeformedPoint def)```
Computes the left Cauchy-Green tensor from the deformation gradient.
`void` ```computeRightCauchyGreen(SymmetricMatrix3d C, DeformedPoint def)```
Computes the right Cauchy-Green tensor from the deformation gradient.
`abstract double` ```computeStrainEnergyDensity(DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)```
Computes the current strain energy density.
`abstract void` ```computeStressAndTangent(SymmetricMatrix3d sigma, Matrix6d D, DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)```
Computes the current Cauchy stress and tangent stiffness matrix.
`MaterialStateObject` `createStateObject()`
`boolean` `equals(FemMaterial mat)`
`FieldPropertyList` `getAllPropertyInfo()`
Returns a list giving static information about all properties exported by this object.
`IncompressibleMaterialBase` `getIncompressibleComponent()`
`static java.lang.Class<?>[]` `getSubClasses()`
`boolean` `hasState()`
`boolean` `isCorotated()`
Deformation is computed by first removing a rotation component (either explicit or computed from strain)
`boolean` `isIncompressible()`
`boolean` `isInvertible()`
Returns true if this material is defined for a deformation gradient with a non-positive determinant.
`boolean` `isLinear()`
Linear stress/stiffness response to deformation, allows tangent to be pre-computed and stored.
`void` `propertyChanged(PropertyChangeEvent e)`
`static void` `registerSubclass(java.lang.Class<? extends FemMaterial> cls)`
Allow adding of classes (for use in control panels)
`static void` ```secondPKToCauchyStress(SymmetricMatrix3d sigma, SymmetricMatrix3d S, DeformedPoint def)```
Computes the Cauchy stress from the second Piola-Kirchoff stress tensor, according to the formula sigma = 1/J F sigma F^T
`void` ```writeItems(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor)```
• Methods inherited from class artisynth.core.materials.MaterialBase

`advanceState, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasSymmetricTangent, isWritable, postscan, scaleDistance, scaleMass, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, write`
• Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`
• Field Detail

• myProps

`public static FieldPropertyList myProps`
• Constructor Detail

• FemMaterial

`public FemMaterial()`
• Method Detail

• registerSubclass

`public static void registerSubclass(java.lang.Class<? extends FemMaterial> cls)`
Allow adding of classes (for use in control panels)
Parameters:
`cls` - class to register
• getSubClasses

`public static java.lang.Class<?>[] getSubClasses()`
• propertyChanged

`public void propertyChanged(PropertyChangeEvent e)`
Specified by:
`propertyChanged` in interface `PropertyChangeListener`
• getAllPropertyInfo

`public FieldPropertyList getAllPropertyInfo()`
Description copied from interface: `HasProperties`
Returns a list giving static information about all properties exported by this object.
Specified by:
`getAllPropertyInfo` in interface `HasProperties`
Overrides:
`getAllPropertyInfo` in class `MaterialBase`
Returns:
static information for all exported properties
• computeStressAndTangent

```public abstract void computeStressAndTangent(SymmetricMatrix3d sigma,
Matrix6d D,
DeformedPoint def,
Matrix3d Q,
double excitation,
MaterialStateObject state)```
Computes the current Cauchy stress and tangent stiffness matrix.
Parameters:
`sigma` - returns the Cauchy stress
`D` - optional; if non-`null`, returns the tangent matrix
`def` - deformation information, including deformation gradient and pressure
`Q` - coordinate frame specifying directions of anisotropy
`excitation` - current excitation value
`state` - material state information, or `null` if the material does not have state.
• computeStrainEnergyDensity

```public abstract double computeStrainEnergyDensity(DeformedPoint def,
Matrix3d Q,
double excitation,
MaterialStateObject state)```
Computes the current strain energy density.
Parameters:
`def` - deformation information, including deformation gradient and pressure
`Q` - coordinate frame specifying directions of anisotropy
`excitation` - current excitation value
`state` - material state information, or `null` if the material does not have state.
Returns:
strain energy density
• isInvertible

`public boolean isInvertible()`
Returns true if this material is defined for a deformation gradient with a non-positive determinant.
• isIncompressible

`public boolean isIncompressible()`
• getIncompressibleComponent

`public IncompressibleMaterialBase getIncompressibleComponent()`
• isLinear

`public boolean isLinear()`
Linear stress/stiffness response to deformation, allows tangent to be pre-computed and stored.
Returns:
true if linear response
• isCorotated

`public boolean isCorotated()`
Deformation is computed by first removing a rotation component (either explicit or computed from strain)
Returns:
true if material is corotated
• equals

`public boolean equals(FemMaterial mat)`
• computeRightCauchyGreen

```public void computeRightCauchyGreen(SymmetricMatrix3d C,
DeformedPoint def)```
Computes the right Cauchy-Green tensor from the deformation gradient.
• computeLeftCauchyGreen

```public void computeLeftCauchyGreen(SymmetricMatrix3d B,
DeformedPoint def)```
Computes the left Cauchy-Green tensor from the deformation gradient.
• computeDevRightCauchyGreen

```public void computeDevRightCauchyGreen(SymmetricMatrix3d CD,
DeformedPoint def)```
Computes the right deviatoric Cauchy-Green tensor from the deformation gradient.
• computeDevLeftCauchyGreen

```public void computeDevLeftCauchyGreen(SymmetricMatrix3d BD,
DeformedPoint def)```
Computes the left deviatoric Cauchy-Green tensor from the deformation gradient.
• cauchyToSecondPKStress

```public static void cauchyToSecondPKStress(SymmetricMatrix3d S,
SymmetricMatrix3d sigma,
DeformedPoint def)```
Computes the second Piola-Kirchoff stress tensor from the Cauchy stress, according to the formula S = J F^{-1} sigma F^{-T}
• secondPKToCauchyStress

```public static void secondPKToCauchyStress(SymmetricMatrix3d sigma,
SymmetricMatrix3d S,
DeformedPoint def)```
Computes the Cauchy stress from the second Piola-Kirchoff stress tensor, according to the formula sigma = 1/J F sigma F^T
• hasState

`public boolean hasState()`
Specified by:
`hasState` in interface `HasMaterialState`
Overrides:
`hasState` in class `MaterialBase`
• createStateObject

`public MaterialStateObject createStateObject()`
Specified by:
`createStateObject` in interface `HasMaterialState`
Overrides:
`createStateObject` in class `MaterialBase`
• writeItems

```public void writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor)
throws java.io.IOException```
Overrides:
`writeItems` in class `MaterialBase`
Throws:
`java.io.IOException`
• clone

`public FemMaterial clone()`
Description copied from interface: `CompositeProperty`
Returns a clone of this composite property.
Specified by:
`clone` in interface `CompositeProperty`
Specified by:
`clone` in interface `Clonable`
Overrides:
`clone` in class `MaterialBase`
Returns:
clone of this property