public class MaxwellAxialMaterial extends AxialMaterial implements HasNumericState
Modifier and Type | Field and Description |
---|---|
static PropertyList |
myProps |
Constructor and Description |
---|
MaxwellAxialMaterial() |
MaxwellAxialMaterial(double k,
double d,
double sprLen) |
Modifier and Type | Method and Description |
---|---|
void |
advanceState(double t0,
double t1)
If
HasNumericState.requiresAdvance() and HasNumericState.hasState() both return true , then this method is called each time step by the system integrator
to update this component's state. |
MaxwellAxialMaterial |
clone()
Returns a clone of this composite property.
|
double |
computeDFdl(double l,
double ldot,
double l0,
double excitation)
Computes and returns the derivative of the axial spring tension
with respect to the length.
|
double |
computeDFdldot(double l,
double ldot,
double l0,
double excitation)
Computes and returns the derivative of the axial spring tension
with respect to the length time derivative.
|
double |
computeF(double l,
double ldot,
double l0,
double excitation)
Computes and returns the axial spring tension, as a function of
length, length time derivative, rest length, and excitation.
|
boolean |
equals(AxialMaterial mat) |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
double |
getDamping() |
PropertyMode |
getDampingMode() |
double |
getSpringLength() |
void |
getState(DataBuffer data)
Saves state information for this component by adding data to the
supplied DataBuffer.
|
double |
getStiffness() |
PropertyMode |
getStiffnessMode() |
boolean |
hasState()
Returns
true if this component currently holds state. |
boolean |
isDFdldotZero()
Returns true if computeDFdldot() always returns zero.
|
boolean |
requiresAdvance()
Returns
true if the state of this component must be
updated each time step using HasNumericState.advanceState(double, double) . |
void |
scaleDistance(double s)
Scales all distance coordinates.
|
void |
scaleMass(double s)
Scales all mass units.
|
void |
setDamping(double d) |
void |
setDampingMode(PropertyMode mode) |
void |
setSpringLength(double l) |
void |
setState(DataBuffer data)
Restores the state for this component by reading from the supplied
data buffer, starting at the current buffer offsets.
|
void |
setStiffness(double E) |
void |
setStiffnessMode(PropertyMode mode) |
equals, getSubClasses
advanceState, createStateObject, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasSymmetricTangent, isWritable, postscan, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, write, writeItems
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getAuxVarDerivative, getAuxVarState, getStateVersion, numAuxVars, setAuxVarState
public static PropertyList myProps
public MaxwellAxialMaterial()
public MaxwellAxialMaterial(double k, double d, double sprLen)
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class MaterialBase
public double getStiffness()
public void setStiffness(double E)
public PropertyMode getStiffnessMode()
public void setStiffnessMode(PropertyMode mode)
public double getDamping()
public void setDamping(double d)
public PropertyMode getDampingMode()
public void setDampingMode(PropertyMode mode)
public double getSpringLength()
public void setSpringLength(double l)
public double computeF(double l, double ldot, double l0, double excitation)
AxialMaterial
computeF
in class AxialMaterial
l
- spring lengthldot
- spring length time derivativel0
- spring rest lengthexcitation
- excitation value (varying from 0 to 1)public double computeDFdl(double l, double ldot, double l0, double excitation)
AxialMaterial
computeDFdl
in class AxialMaterial
l
- spring lengthldot
- spring length time derivativel0
- spring rest lengthexcitation
- excitation value (varying from 0 to 1)public double computeDFdldot(double l, double ldot, double l0, double excitation)
AxialMaterial
computeDFdldot
in class AxialMaterial
l
- spring lengthldot
- spring length time derivativel0
- spring rest lengthexcitation
- excitation value (varying from 0 to 1)public boolean isDFdldotZero()
AxialMaterial
isDFdldotZero
in class AxialMaterial
public boolean equals(AxialMaterial mat)
equals
in class AxialMaterial
public MaxwellAxialMaterial clone()
CompositeProperty
clone
in interface CompositeProperty
clone
in interface Clonable
clone
in class AxialMaterial
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 factorpublic boolean hasState()
HasNumericState
true
if this component currently holds state. This
allows the presence of state to depend on the component's configuration.hasState
in interface HasMaterialState
hasState
in interface HasNumericState
hasState
in class MaterialBase
true
if this component holds statepublic void setState(DataBuffer data)
HasNumericState
setState
in interface HasNumericState
data
- buffer containing the state informationpublic void getState(DataBuffer data)
HasNumericState
getState
in interface HasNumericState
data
- buffer for storing the state values.public void advanceState(double t0, double t1)
HasNumericState
HasNumericState.requiresAdvance()
and HasNumericState.hasState()
both return true
, then this method is called each time step by the system integrator
to update this component's state. For single step integrators, the method
is called once at the start of the integration, with t0
and
t1
set to the step's start and end times. For multi-step
integrators (such as Runge Kutta), the method is called for each
sub-step, with t0
and t1
set to the sub-step's time
bounds. Multi-step integrators will also use HasNumericState.getState(maspack.util.DataBuffer)
and
HasNumericState.setState(maspack.util.DataBuffer)
to save and restore state as required.advanceState
in interface HasNumericState
t0
- beginning time associated with the time step or sub-stept1
- end time associated with the time step or sub-steppublic boolean requiresAdvance()
true
if the state of this component must be
updated each time step using HasNumericState.advanceState(double, double)
.requiresAdvance
in interface HasNumericState
true
if advanceState
must be called