public abstract class IncompressibleMaterialBase extends FemMaterial
Modifier and Type | Class and Description |
---|---|
static class |
IncompressibleMaterialBase.BulkPotential |
Modifier and Type | Field and Description |
---|---|
static double |
DEFAULT_BULK_MODULUS |
static IncompressibleMaterialBase.BulkPotential |
DEFAULT_BULK_POTENTIAL |
static FieldPropertyList |
myProps |
Constructor and Description |
---|
IncompressibleMaterialBase() |
Modifier and Type | Method and Description |
---|---|
void |
addPressureStress(SymmetricMatrix3d sigma,
double p) |
void |
addPressureTangent(Matrix6d D,
double p) |
abstract double |
computeDevStrainEnergy(DeformedPoint def,
Matrix3d Q,
double excitation,
MaterialStateObject state) |
abstract void |
computeDevStressAndTangent(SymmetricMatrix3d sigma,
Matrix6d D,
DeformedPoint def,
Matrix3d Q,
double excitation,
MaterialStateObject state) |
void |
computePressureStress(SymmetricMatrix3d sigma,
double p) |
void |
computePressureTangent(Matrix6d D,
double p) |
double |
computeStrainEnergyDensity(DeformedPoint def,
Matrix3d Q,
double excitation,
MaterialStateObject state)
Computes the current strain energy density.
|
void |
computeStressAndTangent(SymmetricMatrix3d sigma,
Matrix6d D,
DeformedPoint def,
Matrix3d Q,
double excitation,
MaterialStateObject state)
Computes the current Cauchy stress and tangent stiffness matrix.
|
double |
computeU(double K,
double J)
Computes the dilational strain energy density U given a bulk modulus K
and Jacobian determinant J.
|
boolean |
equals(FemMaterial mat) |
FieldPropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
double |
getBulkModulus() |
double |
getBulkModulus(FemFieldPoint dp) |
ScalarFieldComponent |
getBulkModulusField() |
PropertyMode |
getBulkModulusMode() |
IncompressibleMaterialBase.BulkPotential |
getBulkPotential() |
PropertyMode |
getBulkPotentialMode() |
double |
getEffectiveModulus(double K,
double J)
Returns the effective bulk modulus for a given nominal (linear) bulk
modulus K and Jacobian determinant J.
|
double |
getEffectivePressure(double K,
double J)
Returns the effective pressure for a given nominal (linear) bulk
modulus K and Jacobian determinant J.
|
IncompressibleMaterialBase |
getIncompressibleComponent() |
boolean |
isIncompressible() |
void |
scaleDistance(double s)
Scales all distance coordinates.
|
void |
scaleMass(double s)
Scales all mass units.
|
void |
setBulkModulus(double nu) |
void |
setBulkModulusField(ScalarFieldComponent func) |
void |
setBulkModulusMode(PropertyMode mode) |
void |
setBulkPotential(IncompressibleMaterialBase.BulkPotential potential) |
void |
setBulkPotentialMode(PropertyMode mode) |
cauchyToSecondPKStress, clone, computeDevLeftCauchyGreen, computeDevRightCauchyGreen, computeLeftCauchyGreen, computeRightCauchyGreen, createStateObject, getSubClasses, hasState, isCorotated, isInvertible, isLinear, propertyChanged, registerSubclass, secondPKToCauchyStress, writeItems
advanceState, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasSymmetricTangent, isWritable, postscan, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, write
public static final double DEFAULT_BULK_MODULUS
public static final IncompressibleMaterialBase.BulkPotential DEFAULT_BULK_POTENTIAL
public static FieldPropertyList myProps
public FieldPropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class FemMaterial
public void setBulkModulus(double nu)
public double getBulkModulus()
public void setBulkModulusMode(PropertyMode mode)
public PropertyMode getBulkModulusMode()
public double getBulkModulus(FemFieldPoint dp)
public ScalarFieldComponent getBulkModulusField()
public void setBulkModulusField(ScalarFieldComponent func)
public void setBulkPotential(IncompressibleMaterialBase.BulkPotential potential)
public IncompressibleMaterialBase.BulkPotential getBulkPotential()
public void setBulkPotentialMode(PropertyMode mode)
public PropertyMode getBulkPotentialMode()
public double getEffectiveModulus(double K, double J)
K
- nominal (linear) bulk modulusJ
- Jacobian determinantpublic double getEffectivePressure(double K, double J)
K
- nominal (linear) bulk modulusJ
- Jacobian determinantpublic double computeU(double K, double J)
K
- bulk modulusJ
- Jacobian determinantpublic boolean isIncompressible()
isIncompressible
in class FemMaterial
public IncompressibleMaterialBase getIncompressibleComponent()
getIncompressibleComponent
in class FemMaterial
public boolean equals(FemMaterial mat)
equals
in class FemMaterial
public void computePressureStress(SymmetricMatrix3d sigma, double p)
public void addPressureStress(SymmetricMatrix3d sigma, double p)
public void computePressureTangent(Matrix6d D, double p)
public void addPressureTangent(Matrix6d D, double p)
public abstract void computeDevStressAndTangent(SymmetricMatrix3d sigma, Matrix6d D, DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)
public abstract double computeDevStrainEnergy(DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)
public void computeStressAndTangent(SymmetricMatrix3d sigma, Matrix6d D, DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)
FemMaterial
computeStressAndTangent
in class FemMaterial
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 double computeStrainEnergyDensity(DeformedPoint def, Matrix3d Q, double excitation, MaterialStateObject state)
FemMaterial
computeStrainEnergyDensity
in class FemMaterial
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 void scaleDistance(double s)
ScalableUnits
scaleDistance
in interface ScalableUnits
scaleDistance
in class MaterialBase
s
- scaling factorpublic void scaleMass(double s)
ScalableUnits
scaleMass
in interface ScalableUnits
scaleMass
in class MaterialBase
s
- scaling factor