ca.nengo.model.muscle.impl
Class HillMuscle.Dynamics
java.lang.Object
ca.nengo.model.muscle.impl.HillMuscle.Dynamics
- All Implemented Interfaces:
- DynamicalSystem, java.io.Serializable, java.lang.Cloneable
- Enclosing class:
- HillMuscle
public static class HillMuscle.Dynamics
- extends java.lang.Object
- implements DynamicalSystem
Dynamical system for the Hill muscle model
- See Also:
- Serialized Form
Methods inherited from class java.lang.Object |
equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
HillMuscle.Dynamics
public HillMuscle.Dynamics(float tauEA,
float maxIsometricForce,
Function CEForceLength,
Function CEForceVelocity,
Function SEForceLength,
boolean torque)
- Parameters:
tauEA
- see Hill modelmaxIsometricForce
- Isometric force produced by CE at maximal activation and optimal lengthCEForceLength
- see Hill modelCEForceVelocity
- see Hill modelSEForceLength
- see Hill modeltorque
- true indicates a torque muscle (input in rads, output in Nm); false indicates
a linear muscle (input in m, output in N)
getConfiguration
public Configuration getConfiguration()
- Returns:
- Configuration
f
public float[] f(float t,
float[] u)
- Description copied from interface:
DynamicalSystem
- The dynamic equation.
- Specified by:
f
in interface DynamicalSystem
- Parameters:
t
- Simulation time (s)u
- Input: [excitation (0-1), muscle-tendon length, muscle-tendon lengthening velocity]
- Returns:
- 1st derivative of state vector
- See Also:
DynamicalSystem.f(float, float[])
g
public float[] g(float t,
float[] u)
- Description copied from interface:
DynamicalSystem
- The output equation.
- Specified by:
g
in interface DynamicalSystem
- Parameters:
t
- Simulation time (s)u
- Input: [excitation (0-1), muscle-tendon length, muscle-tendon lengthening velocity]
- Returns:
- Output vector
- See Also:
DynamicalSystem.g(float, float[])
getState
public float[] getState()
- Specified by:
getState
in interface DynamicalSystem
- Returns:
- [activation, CE length]
- See Also:
DynamicalSystem.getState()
setState
public void setState(float[] state)
- Specified by:
setState
in interface DynamicalSystem
- Parameters:
state
- [activation, CE length]- See Also:
DynamicalSystem.setState(float[])
getInputDimension
public int getInputDimension()
- Specified by:
getInputDimension
in interface DynamicalSystem
- Returns:
- 3 (activation, muscle-tendon length, muscle-tendon velocity)
- See Also:
DynamicalSystem.getInputDimension()
getOutputDimension
public int getOutputDimension()
- Specified by:
getOutputDimension
in interface DynamicalSystem
- Returns:
- 1 (force)
- See Also:
DynamicalSystem.getOutputDimension()
getOutputUnits
public Units getOutputUnits(int outputDimension)
- Specified by:
getOutputUnits
in interface DynamicalSystem
- Parameters:
outputDimension
- Numbered from 0
- Returns:
- Units of output in the given dimension
- See Also:
DynamicalSystem.getOutputUnits(int)
clone
public DynamicalSystem clone()
throws java.lang.CloneNotSupportedException
- Specified by:
clone
in interface DynamicalSystem
- Overrides:
clone
in class java.lang.Object
- Returns:
- An identical copy of this system which references an independent
copy of the state variables
- Throws:
java.lang.CloneNotSupportedException
- if something causes clone not to work- See Also:
DynamicalSystem.clone()