public abstract class FemMaterial extends MaterialBase implements PropertyChangeListener
Modifier and Type | Field and Description |
---|---|
static FieldPropertyList |
myProps |
Constructor and Description |
---|
FemMaterial() |
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) |
advanceState, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasSymmetricTangent, isWritable, postscan, scaleDistance, scaleMass, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, write
public static FieldPropertyList myProps
public static void registerSubclass(java.lang.Class<? extends FemMaterial> cls)
cls
- class to registerpublic static java.lang.Class<?>[] getSubClasses()
public void propertyChanged(PropertyChangeEvent e)
propertyChanged
in interface PropertyChangeListener
public FieldPropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class MaterialBase
public abstract void computeStressAndTangent(SymmetricMatrix3d sigma, Matrix6d D, DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)
sigma
- returns the Cauchy stressD
- optional; if non-null
, returns the tangent matrixdef
- deformation information, including deformation gradient and
pressureQ
- coordinate frame specifying directions of anisotropyexcitation
- current excitation valuestate
- material state information, or null
if the
material does not have state.public abstract double computeStrainEnergyDensity(DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)
def
- deformation information, including deformation gradient and
pressureQ
- coordinate frame specifying directions of anisotropyexcitation
- current excitation valuestate
- material state information, or null
if the
material does not have state.public boolean isInvertible()
public boolean isIncompressible()
public IncompressibleMaterialBase getIncompressibleComponent()
public boolean isLinear()
public boolean isCorotated()
public boolean equals(FemMaterial mat)
public void computeRightCauchyGreen(SymmetricMatrix3d C, DeformedPoint def)
public void computeLeftCauchyGreen(SymmetricMatrix3d B, DeformedPoint def)
public void computeDevRightCauchyGreen(SymmetricMatrix3d CD, DeformedPoint def)
public void computeDevLeftCauchyGreen(SymmetricMatrix3d BD, DeformedPoint def)
public static void cauchyToSecondPKStress(SymmetricMatrix3d S, SymmetricMatrix3d sigma, DeformedPoint def)
public static void secondPKToCauchyStress(SymmetricMatrix3d sigma, SymmetricMatrix3d S, DeformedPoint def)
public boolean hasState()
hasState
in interface HasMaterialState
hasState
in class MaterialBase
public MaterialStateObject createStateObject()
createStateObject
in interface HasMaterialState
createStateObject
in class MaterialBase
public void writeItems(java.io.PrintWriter pw, NumberFormat fmt, CompositeComponent ancestor) throws java.io.IOException
writeItems
in class MaterialBase
java.io.IOException
public FemMaterial clone()
CompositeProperty
clone
in interface CompositeProperty
clone
in interface Clonable
clone
in class MaterialBase