public class LinearAxialMuscle extends AxialMuscleMaterial
DEFAULT_DAMPING, DEFAULT_MAX_FORCE, DEFAULT_MAX_LENGTH, DEFAULT_OPT_LENGTH, DEFAULT_PASSIVE_FRACTION, DEFAULT_SCALING, DEFAULT_TENDON_RATIO, maxStretch, minStretch, myProps
Constructor and Description |
---|
LinearAxialMuscle()
Constructs a new LinearAxialMuscle.
|
LinearAxialMuscle(double fmax,
double lrest)
Deprecated.
For historical reasons, this constructor sets the deprecated
forceScaling property to 1000, thuis scaling the effective value
of fmax . |
LinearAxialMuscle(double fmax,
double lopt,
double lmax,
double pfrac)
Constructs a new LinearAxialMuscle with specified properties.
|
LinearAxialMuscle(double fmax,
double lopt,
double lmax,
double pfrac,
double damping)
Constructs a new LinearAxialMuscle with specified properties.
|
Modifier and Type | Method and Description |
---|---|
double |
computeDFdl(double l,
double ldot,
double l0,
double ex)
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 ex)
Computes and returns the axial spring tension, as a function of
length, length time derivative, rest length, and excitation.
|
static LinearAxialMuscle |
create()
Creates a new LinearAxialMuscle with default values.
|
static LinearAxialMuscle |
create(double fmax,
double lrest)
Creates a new LinearAxialMuscle with a specified maximum force.
|
boolean |
isDFdldotZero()
Returns true if computeDFdldot() always returns zero.
|
clone, equals, getAllPropertyInfo, getDamping, getDampingMode, getForceScaling, getForceScalingMode, getMaxForce, getMaxForceMode, getMaxLength, getMaxLengthMode, getOptLength, getOptLengthMode, getPassiveFraction, getPassiveFractionMode, getSubClasses, getTendonRatio, getTendonRatioMode, normalizeForceScaling, scaleDistance, scaleMass, setAxialMuscleMaterialProps, setDamping, setDampingMode, setForceScaling, setForceScalingMode, setMaxForce, setMaxForceMode, setMaxLength, setMaxLengthMode, setOptLength, setOptLengthMode, setPassiveFraction, setPassiveFractionMode, setTendonRatio, setTendonRatioMode, toString
equals
advanceState, createStateObject, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasState, hasSymmetricTangent, isWritable, postscan, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, write, writeItems
public LinearAxialMuscle()
Important: for historical reasons, this constructor sets the
deprecated forceScaling
property to 1000, thus scaling the
effective values of the maxForce
and damping
properties.
public LinearAxialMuscle(double fmax, double lrest)
forceScaling
property to 1000, thuis scaling the effective value
of fmax
.optLength
and maxLength
properties are set to lrest
and 1.5 lrest
, passiveFraction
is set to 1, and
the damping
property is set to 0.fmax
- maximum contractile forcelrest
- sets the optLength
and maxLength
propertiespublic LinearAxialMuscle(double fmax, double lopt, double lmax, double pfrac)
damping
property is set to 0, and the deprecated forceScaling
property is set to 1.fmax
- maximum contractile forcelopt
- length below which zero active force is generatedlmax
- length beyond which maximum active and passive force is
generatedpfrac
- passive fraction of fmax
that forms the maximum
passive forcepublic LinearAxialMuscle(double fmax, double lopt, double lmax, double pfrac, double damping)
forceScaling
property is set to 1.fmax
- maximum contractile forcelopt
- length below which zero active force is generatedlmax
- length beyond which maximum active and passive force is
generatedpfrac
- passive fraction of fmax
that forms the maximum
passive forcedamping
- damping termpublic static LinearAxialMuscle create()
forceScaling
term is set to 1.public static LinearAxialMuscle create(double fmax, double lrest)
optLength
, maxLength
, passiveFraction
and damping
properties are set to 0, 1, 0, and 0, and the deprecated forceScaling
property is set to 1.fmax
- maximum contractile forcepublic double computeF(double l, double ldot, double l0, double ex)
AxialMaterial
computeF
in class AxialMaterial
l
- spring lengthldot
- spring length time derivativel0
- spring rest lengthex
- excitation value (varying from 0 to 1)public double computeDFdl(double l, double ldot, double l0, double ex)
AxialMaterial
computeDFdl
in class AxialMaterial
l
- spring lengthldot
- spring length time derivativel0
- spring rest lengthex
- 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