public class LinearElasticContact extends ElasticContactBase
ElasticContactBase.DampingMethod| Modifier and Type | Field and Description |
|---|---|
static FieldPropertyList |
myProps |
TWO_WAY_CONTACT| Constructor and Description |
|---|
LinearElasticContact()
Need no-args constructor for scanning
|
LinearElasticContact(double youngsModulus,
double poissonsRatio,
double dampingFactor,
double thickness)
Constructs a new LinearElasticContact material with specified properties.
|
| Modifier and Type | Method and Description |
|---|---|
LinearElasticContact |
clone()
Returns a clone of this composite property.
|
void |
computeResponse(double[] fres,
double dist,
ContactPoint cpnt0,
ContactPoint cpnt1,
Vector3d normal,
double contactArea,
int flags)
Computes the force response for a given contact.
|
FieldPropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
double |
getPoissonsRatio()
Queries Poisson's ratio for this material.
|
double |
getYoungsModulus()
Queries Young's modulus for this material.
|
ScalarFieldComponent |
getYoungsModulusField()
Queries the field, if any, associated with Young's modulus.
|
void |
setPoissonsRatio(double nu)
Sets Poisson's ratio for this material.
|
void |
setYoungsModulus(double E)
Sets Young's modulus for this material.
|
void |
setYoungsModulusField(ScalarFieldComponent field)
Binds Young's modulus to a field, or unbinds it if
field is
null. |
getDampingFactor, getDampingMethod, getMinThicknessRatio, getThickness, getThicknessField, getUseLocalContactArea, getUseLogDistance, setDampingFactor, setDampingMethod, setMinThicknessRatio, setThickness, setThicknessField, setUseLocalContactArea, setUseLogDistance, writeItemscomputeContactArea, getSubClasses, registerSubclassadvanceState, createStateObject, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasState, hasSymmetricTangent, isWritable, postscan, scaleDistance, scaleMass, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, writepublic static FieldPropertyList myProps
public LinearElasticContact()
public LinearElasticContact(double youngsModulus,
double poissonsRatio,
double dampingFactor,
double thickness)
youngsModulus - Young's modulus (the "stiffness")poissonsRatio - Poissons ratiodampingFactor - multiplier for damping forcesthickness - thickness of the foundation layerpublic FieldPropertyList getAllPropertyInfo()
HasPropertiesgetAllPropertyInfo in interface HasPropertiesgetAllPropertyInfo in class ElasticContactBasepublic void computeResponse(double[] fres,
double dist,
ContactPoint cpnt0,
ContactPoint cpnt1,
Vector3d normal,
double contactArea,
int flags)
fres. The force is defined as the restoring
force
force = f(dist)computed in response to the interpenetration distance
dist.
Note that in general, dist will be negative, and a
negative force will be expected in response. The compliance is the
reciprocal of the derivative of f(dist) evaluated at
dist. The damping is a positive damping parameter used to
generate damping forces in response to motion in the contact direction.
Other information the can be used includes the two contact points associated the contact, and the contact normal, which is facing outward from the contact surface.
computeResponse in class ContactForceBehaviorfres - returns the force, compliance and damping for a given
contact distance.dist - contact interpenetration distance. This value is usually
negative, with greater negativity indicating greater interpenetration.cpnt0 - first contact pointcpnt1 - second contact pointnormal - contact normal, directed from cpnt0 to cpnt1contactArea - average area associated with the contact, or
-1 if this information is not availableflags - flags providing additional information to the calculation.
These include ContactForceBehavior.TWO_WAY_CONTACT, which indicates two-way vertex
penetration contact.public double getPoissonsRatio()
public void setPoissonsRatio(double nu)
nu - new value of Poission's ratiopublic double getYoungsModulus()
public void setYoungsModulus(double E)
E - new value for Young's moduluspublic ScalarFieldComponent getYoungsModulusField()
nullpublic void setYoungsModulusField(ScalarFieldComponent field)
field is
null.field - field to bind to, or nullpublic LinearElasticContact clone()
clone in interface CompositePropertyclone in interface Clonableclone in class ElasticContactBase