public abstract class ElasticContactBase extends ContactForceBehavior
| Modifier and Type | Class and Description |
|---|---|
static class |
ElasticContactBase.DampingMethod
Describes how the method
computeDamping(double, double) computes the
net damping d from the damping factor df. |
| Modifier and Type | Field and Description |
|---|---|
static FieldPropertyList |
myProps |
TWO_WAY_CONTACT| Constructor and Description |
|---|
ElasticContactBase()
Need no-args constructor for scanning
|
| Modifier and Type | Method and Description |
|---|---|
ElasticContactBase |
clone()
Returns a clone of this composite property.
|
FieldPropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
double |
getDampingFactor()
Queries the damping factor for this material.
|
ElasticContactBase.DampingMethod |
getDampingMethod()
Queries the damping method for this material.
|
double |
getMinThicknessRatio()
Queries the minimum thickness ratio for this material.
|
double |
getThickness()
Queries the thickness of the foundation layer.
|
ScalarFieldComponent |
getThicknessField()
Queries the field, if any, associated with the foundation thickness.
|
boolean |
getUseLogDistance()
Queries whether log distances are used for computing contact
forces.
|
void |
setDampingFactor(double df)
Sets the damping factor for this material.
|
void |
setDampingMethod(ElasticContactBase.DampingMethod method)
Sets the damping method for this material, which determines how damping
forces are compute.
|
void |
setMinThicknessRatio(double r)
Sets the minimum thickness ratio for this material.
|
void |
setThickness(double h)
Sets the thickness of the foundation layer.
|
void |
setThicknessField(ScalarFieldComponent field)
Binds the foundation thickness to a field, or unbinds it if
field
is null. |
void |
setUseLogDistance(boolean enable)
Sets whether log distances are enabled for computing contact forces.
|
void |
writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor) |
computeContactArea, computeResponse, getSubClasses, registerSubclassadvanceState, createChangeEvent, createStateObject, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasState, hasSymmetricTangent, isWritable, postscan, scaleDistance, scaleMass, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, writepublic static FieldPropertyList myProps
public ElasticContactBase()
public FieldPropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class MaterialBasepublic double getThickness()
public void setThickness(double h)
h - new foundation layer thicknesspublic ScalarFieldComponent getThicknessField()
nullpublic void setThicknessField(ScalarFieldComponent field)
field
is null.field - field to bind to, or nullpublic double getMinThicknessRatio()
setMinThicknessRatio(double).public void setMinThicknessRatio(double r)
h*(1-r), then the contact force revert
to a linear formulation, using the stiffness value at the threshold
point. This ensures that restoring forces are still defined even for
penetrations through the foundation layer.r - new minimum thickness ratiopublic double getDampingFactor()
setDampingFactor(double).public void setDampingFactor(double df)
ElasticContactBase.DampingMethod.df - new damping factorpublic ElasticContactBase.DampingMethod getDampingMethod()
setDampingMethod(artisynth.core.materials.ElasticContactBase.DampingMethod).public void setDampingMethod(ElasticContactBase.DampingMethod method)
ElasticContactBase.DampingMethod.method - new damping methodpublic boolean getUseLogDistance()
setUseLogDistance(boolean).true if log distances are used for computing contact
forcespublic void setUseLogDistance(boolean enable)
ln (1 + d/h)where
d is the (negatively valued) penetration distance,
and h is the foundation layer thickness. This ensures
that forces increase non-linearly to prevent penetration of
the foundation layer.enable - if true, enables using log distances to compute
contact forcespublic ElasticContactBase clone()
clone in interface CompositePropertyclone in interface Clonableclone in class MaterialBasepublic void writeItems(java.io.PrintWriter pw,
NumberFormat fmt,
CompositeComponent ancestor)
throws java.io.IOException
writeItems in class MaterialBasejava.io.IOException