public class StabilityTerm extends LeastSquaresTermBase
Modifier and Type | Class and Description |
---|---|
static class |
StabilityTerm.StiffnessType |
QPTerm.Type
ModelComponent.NavpanelVisibility
CompositeComponent.NavpanelDisplay
Modifier and Type | Field and Description |
---|---|
static boolean |
DEFAULT_IGNORE_POSITION |
static StabilityTerm.StiffnessType |
DEFAULT_STIFFNESS_TYPE |
static boolean |
DEFAULT_USE_SYMMETRIC_PART |
static PropertyList |
myProps |
DEFAULT_ENABLED, DEFAULT_WEIGHT
enforceUniqueCompositeNames, enforceUniqueNames, myNumber, NULL_OBJ, useCompactPathNames
Constructor and Description |
---|
StabilityTerm() |
Modifier and Type | Method and Description |
---|---|
void |
addStiffnessModifier(SolveMatrixModifier modifier) |
void |
clearStiffnessModifiers() |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
VectorNd |
getB() |
double |
getDet() |
double |
getDetTarget() |
MatrixNd |
getH() |
boolean |
getIgnorePosition() |
void |
getQP(MatrixNd Q,
VectorNd p,
double t0,
double t1)
Adds the contribution of this term to the quadratic cost
components Q and p.
|
static Matrix |
getStiffnessMatrix(MechSystemBase mech,
StabilityTerm.StiffnessType type,
java.util.ArrayList<SolveMatrixModifier> modifiers)
Returns the negated stiffness matrix, determined from the MechSystem
according to the stiffness type and the modifiers (if any).
|
SolveMatrixModifier |
getStiffnessModifier(int idx) |
StabilityTerm.StiffnessType |
getStiffnessType() |
int |
getTerm(MatrixNd A,
VectorNd b,
int rowoff,
double t0,
double t1)
Fills
H and b with this motion term |
boolean |
getUseSymmetricPart() |
int |
numConstraints(int qpsize)
Returns the number of constraints associated with this term.
|
int |
numStiffnessModifiers() |
boolean |
removeStiffnessModifier(SolveMatrixModifier modifier) |
void |
setDetTarget(double target) |
void |
setIgnorePosition(boolean ignore) |
void |
setStiffnessType(StabilityTerm.StiffnessType type) |
void |
setUseSymmetricPart(boolean enable) |
void |
setWeight(double w)
Weight used to scale the contribution of this term in the quadratic
optimization problem
|
void |
updateHs(TrackingController controller,
double t0,
double t1) |
componentChanged, findComponent, get, get, getByNumber, getChildren, getNavpanelDisplay, getNumberLimit, getType, hasChildren, hierarchyContainsReferences, indexOf, iterator, numComponents, postscan, scan, setDisplayMode, setType, updateNameMap
getController, getProperty, getWeight, isEnabled, isInternal, setEnabled, setInternal
checkFlag, checkName, checkNameUniqueness, clearFlag, clone, connectToHierarchy, copy, createTempFlag, disconnectFromHierarchy, getGrandParent, getHardReferences, getName, getNameRange, getNavpanelVisibility, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isScanning, isSelected, isWritable, makeValidName, makeValidName, notifyParentOfChange, printReferences, recursivelyContained, recursivelyContains, removeTempFlag, setFixed, setFlag, setMarked, setName, setNavpanelVisibility, setNavpanelVisibility, setNumber, setParent, setScanning, setSelected, setWritable, updateReferences, write
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
getController, getWeight, isEnabled
connectToHierarchy, disconnectFromHierarchy, getHardReferences, getName, getNavpanelVisibility, getNumber, getParent, getSoftReferences, hasState, isFixed, isMarked, isSelected, notifyParentOfChange, setFixed, setMarked, setName, setNumber, setParent, setSelected, setWritable, updateReferences
getProperty
isWritable, write
public static final boolean DEFAULT_USE_SYMMETRIC_PART
public static final StabilityTerm.StiffnessType DEFAULT_STIFFNESS_TYPE
public static final boolean DEFAULT_IGNORE_POSITION
public static PropertyList myProps
public PropertyList getAllPropertyInfo()
QPTermBase
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class QPTermBase
public double getDet()
public double getDetTarget()
public void setDetTarget(double target)
public boolean getIgnorePosition()
public void setIgnorePosition(boolean ignore)
public void addStiffnessModifier(SolveMatrixModifier modifier)
public boolean removeStiffnessModifier(SolveMatrixModifier modifier)
public void clearStiffnessModifiers()
public SolveMatrixModifier getStiffnessModifier(int idx)
public int numStiffnessModifiers()
public boolean getUseSymmetricPart()
public void setUseSymmetricPart(boolean enable)
public StabilityTerm.StiffnessType getStiffnessType()
public void setStiffnessType(StabilityTerm.StiffnessType type)
public int getTerm(MatrixNd A, VectorNd b, int rowoff, double t0, double t1)
H
and b
with this motion termA
- LHS matrix to fillb
- RHS vector to fillrowoff
- row offset to start filling termt0
- starting time of time stept1
- ending time of time steppublic static Matrix getStiffnessMatrix(MechSystemBase mech, StabilityTerm.StiffnessType type, java.util.ArrayList<SolveMatrixModifier> modifiers)
public void updateHs(TrackingController controller, double t0, double t1)
public MatrixNd getH()
public VectorNd getB()
public void setWeight(double w)
setWeight
in interface QPTerm
setWeight
in class QPTermBase
w
- weight for the termpublic void getQP(MatrixNd Q, VectorNd p, double t0, double t1)
QPCostTerm
Q
- quadratic termp
- proportional termt0
- time at start of stept1
- time at end of steppublic int numConstraints(int qpsize)
QPConstraintTerm
qpsize
- size of the quadratic program. For the tracking
controller, this is the number of excitation values being used,