artisynth.core.materials
Class SimpleForceMuscle

java.lang.Object
  extended by artisynth.core.materials.MaterialBase
      extended by artisynth.core.materials.MuscleMaterial
          extended by artisynth.core.materials.SimpleForceMuscle
All Implemented Interfaces:
ScalableUnits, java.lang.Cloneable, CompositeProperty, HasProperties, Clonable, Scannable

public class SimpleForceMuscle
extends MuscleMaterial

A muscle material with no passive force that simply adds a constant force proportional to the excitation signal. Used mostly for debugging. Note that a constant force does *not* mean constant stress - as the cross sectional area in the force direction changes, the stress needs to vary as well in order to keep the force constant.


Field Summary
static PropertyList myProps
           
 
Constructor Summary
SimpleForceMuscle()
           
SimpleForceMuscle(double maxStress)
           
 
Method Summary
 SimpleForceMuscle clone()
          Returns a clone of this composite property.
 void computeStress(SymmetricMatrix3d sigma, double excitation, Vector3d dir0, SolidDeformation def, FemMaterial baseMat)
           
 void computeTangent(Matrix6d D, SymmetricMatrix3d stress, double excitation, Vector3d dir0, SolidDeformation def, FemMaterial baseMat)
           
 boolean equals(MuscleMaterial mat)
           
 PropertyList getAllPropertyInfo()
          Returns a list giving static information about all properties exported by this object.
 double getMaxStress()
           
 PropertyMode getMaxStressMode()
           
 boolean hasSymmetricTangent()
          Returns true if the tangent matrix for this material is symmetric.
 void scaleDistance(double s)
          Scales all distance coordinates.
 void scaleMass(double s)
          Scales all mass units.
 void setMaxStress(double maxStress)
           
 void setMaxStressMode(PropertyMode mode)
           
 
Methods inherited from class artisynth.core.materials.MuscleMaterial
equals, getSubClasses, isInvertible
 
Methods inherited from class artisynth.core.materials.MaterialBase
getProperty, getPropertyHost, getPropertyInfo, hasProperty, isWritable, scan, setPropertyHost, setPropertyInfo, tangentSymmetryChanged, updateMaterial, write
 
Methods inherited from class java.lang.Object
getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myProps

public static PropertyList myProps
Constructor Detail

SimpleForceMuscle

public SimpleForceMuscle()

SimpleForceMuscle

public SimpleForceMuscle(double maxStress)
Method Detail

getAllPropertyInfo

public PropertyList getAllPropertyInfo()
Description copied from interface: HasProperties
Returns a list giving static information about all properties exported by this object.

Specified by:
getAllPropertyInfo in interface HasProperties
Overrides:
getAllPropertyInfo in class MaterialBase
Returns:
static information for all exported properties

setMaxStress

public void setMaxStress(double maxStress)

getMaxStress

public double getMaxStress()

setMaxStressMode

public void setMaxStressMode(PropertyMode mode)

getMaxStressMode

public PropertyMode getMaxStressMode()

computeStress

public void computeStress(SymmetricMatrix3d sigma,
                          double excitation,
                          Vector3d dir0,
                          SolidDeformation def,
                          FemMaterial baseMat)
Specified by:
computeStress in class MuscleMaterial

computeTangent

public void computeTangent(Matrix6d D,
                           SymmetricMatrix3d stress,
                           double excitation,
                           Vector3d dir0,
                           SolidDeformation def,
                           FemMaterial baseMat)
Specified by:
computeTangent in class MuscleMaterial

hasSymmetricTangent

public boolean hasSymmetricTangent()
Description copied from class: MaterialBase
Returns true if the tangent matrix for this material is symmetric. While this is normally true, some special materials (such as those whose stress is not derived from a conservative energy funtion) may have a non-symmetric tangent, in which case this function should be overridden to return false.

Overrides:
hasSymmetricTangent in class MaterialBase
Returns:
true if the tangent matrix for this material is symmetric.

equals

public boolean equals(MuscleMaterial mat)
Overrides:
equals in class MuscleMaterial

clone

public SimpleForceMuscle clone()
Description copied from interface: CompositeProperty
Returns a clone of this composite property.

Specified by:
clone in interface CompositeProperty
Specified by:
clone in interface Clonable
Overrides:
clone in class MuscleMaterial
Returns:
clone of this property

scaleDistance

public void scaleDistance(double s)
Description copied from interface: ScalableUnits
Scales all distance coordinates.

Specified by:
scaleDistance in interface ScalableUnits
Overrides:
scaleDistance in class MaterialBase
Parameters:
s - scaling factor

scaleMass

public void scaleMass(double s)
Description copied from interface: ScalableUnits
Scales all mass units.

Specified by:
scaleMass in interface ScalableUnits
Overrides:
scaleMass in class MaterialBase
Parameters:
s - scaling factor