public class PowerFrameMaterial extends FrameMaterial
f = K sgn(d) |d|^nwhere K is a stiffness, d is a displacement, and n is an exponent. A value of n = 1 results in a standard linear relationship
f = K d
.
Stiffnesses and exponents can be specified for each of the six
translational and rotational directions. Rotational displacements, and the
resulting forces, are computed with respect to the x-y-z rotation angles of
the rotational displacement matrix, as computed using RotationMatrix3d.getXyz(double[])
. For both translational and rotational
displacements, it is possible to specify a deadband b
, such that the
displacement d
applied to the force law is determined from the true
displacement dt
by
d = sgn(dt) max(0, |dt|-b)
Modifier and Type | Field and Description |
---|---|
static PropertyList |
myProps |
Constructor and Description |
---|
PowerFrameMaterial() |
PowerFrameMaterial(double k,
int n,
double kr,
int nr,
double d,
double dr) |
Modifier and Type | Method and Description |
---|---|
PowerFrameMaterial |
clone()
Returns a clone of this composite property.
|
void |
computeDFdq(Matrix6d Jq,
RigidTransform3d X21,
Twist vel21,
RigidTransform3d initialX21,
boolean symmetric) |
void |
computeDFdu(Matrix6d Ju,
RigidTransform3d X21,
Twist vel21,
RigidTransform3d initialX21,
boolean symmetric) |
void |
computeF(Wrench wr,
RigidTransform3d X21,
Twist vel21,
RigidTransform3d initialX21) |
boolean |
equals(FrameMaterial mat) |
PropertyList |
getAllPropertyInfo()
Returns a list giving static information about all properties exported by
this object.
|
Vector3d |
getDamping() |
Vector3i |
getExponents() |
Vector3d |
getLowerDeadband() |
Vector3d |
getLowerRotaryDeadband() |
Vector3d |
getRotaryDamping() |
Vector3i |
getRotaryExponents() |
Vector3d |
getRotaryStiffness() |
Vector3d |
getStiffness() |
Vector3d |
getUpperDeadband() |
Vector3d |
getUpperRotaryDeadband() |
void |
setDamping(double d) |
void |
setDamping(double dx,
double dy,
double dz) |
void |
setDamping(Vector3d dvec) |
void |
setDeadband(double db) |
void |
setDeadband(double dbx,
double dby,
double dbz) |
void |
setExponents(int n) |
void |
setExponents(int nx,
int ny,
int nz) |
void |
setExponents(Vector3i nvec) |
void |
setLowerDeadband(double db) |
void |
setLowerDeadband(double dbx,
double dby,
double dbz) |
void |
setLowerDeadband(Vector3d dbvec) |
void |
setLowerRotaryDeadband(double db) |
void |
setLowerRotaryDeadband(double dbx,
double dby,
double dbz) |
void |
setLowerRotaryDeadband(Vector3d dbvec) |
void |
setRotaryDamping(double d) |
void |
setRotaryDamping(double dx,
double dy,
double dz) |
void |
setRotaryDamping(Vector3d dvec) |
void |
setRotaryDeadband(double db) |
void |
setRotaryDeadband(double dbx,
double dby,
double dbz) |
void |
setRotaryExponents(int n) |
void |
setRotaryExponents(int nx,
int ny,
int nz) |
void |
setRotaryExponents(Vector3i nvec) |
void |
setRotaryStiffness(double k) |
void |
setRotaryStiffness(double kx,
double ky,
double kz) |
void |
setRotaryStiffness(Vector3d kvec) |
void |
setStiffness(double k) |
void |
setStiffness(double kx,
double ky,
double kz) |
void |
setStiffness(Vector3d kvec) |
void |
setUpperDeadband(double db) |
void |
setUpperDeadband(double dbx,
double dby,
double dbz) |
void |
setUpperDeadband(Vector3d dbvec) |
void |
setUpperRotaryDeadband(double db) |
void |
setUpperRotaryDeadband(double dbx,
double dby,
double dbz) |
void |
setUpperRotaryDeadband(Vector3d dbvec) |
equals, getSubClasses
advanceState, createStateObject, getProperty, getPropertyHost, getPropertyInfo, hasProperty, hasState, hasSymmetricTangent, isWritable, postscan, scaleDistance, scaleMass, scan, setPropertyHost, setPropertyInfo, symmetryOrStateChanged, updateMaterial, write, writeItems
public static PropertyList myProps
public PowerFrameMaterial()
public PowerFrameMaterial(double k, int n, double kr, int nr, double d, double dr)
public PropertyList getAllPropertyInfo()
HasProperties
getAllPropertyInfo
in interface HasProperties
getAllPropertyInfo
in class MaterialBase
public Vector3d getStiffness()
public void setStiffness(double k)
public void setStiffness(double kx, double ky, double kz)
public void setStiffness(Vector3d kvec)
public Vector3i getExponents()
public void setExponents(int n)
public void setExponents(int nx, int ny, int nz)
public void setExponents(Vector3i nvec)
public Vector3d getUpperDeadband()
public void setUpperDeadband(double db)
public void setUpperDeadband(double dbx, double dby, double dbz)
public void setUpperDeadband(Vector3d dbvec)
public Vector3d getLowerDeadband()
public void setLowerDeadband(double db)
public void setLowerDeadband(double dbx, double dby, double dbz)
public void setLowerDeadband(Vector3d dbvec)
public void setDeadband(double db)
public void setDeadband(double dbx, double dby, double dbz)
public Vector3d getDamping()
public void setDamping(double d)
public void setDamping(double dx, double dy, double dz)
public void setDamping(Vector3d dvec)
public Vector3d getRotaryStiffness()
public void setRotaryStiffness(double k)
public void setRotaryStiffness(double kx, double ky, double kz)
public void setRotaryStiffness(Vector3d kvec)
public Vector3i getRotaryExponents()
public void setRotaryExponents(int n)
public void setRotaryExponents(int nx, int ny, int nz)
public void setRotaryExponents(Vector3i nvec)
public Vector3d getUpperRotaryDeadband()
public void setUpperRotaryDeadband(double db)
public void setUpperRotaryDeadband(double dbx, double dby, double dbz)
public void setUpperRotaryDeadband(Vector3d dbvec)
public Vector3d getLowerRotaryDeadband()
public void setLowerRotaryDeadband(double db)
public void setLowerRotaryDeadband(double dbx, double dby, double dbz)
public void setLowerRotaryDeadband(Vector3d dbvec)
public void setRotaryDeadband(double db)
public void setRotaryDeadband(double dbx, double dby, double dbz)
public Vector3d getRotaryDamping()
public void setRotaryDamping(double d)
public void setRotaryDamping(double dx, double dy, double dz)
public void setRotaryDamping(Vector3d dvec)
public void computeF(Wrench wr, RigidTransform3d X21, Twist vel21, RigidTransform3d initialX21)
computeF
in class FrameMaterial
public void computeDFdq(Matrix6d Jq, RigidTransform3d X21, Twist vel21, RigidTransform3d initialX21, boolean symmetric)
computeDFdq
in class FrameMaterial
public void computeDFdu(Matrix6d Ju, RigidTransform3d X21, Twist vel21, RigidTransform3d initialX21, boolean symmetric)
computeDFdu
in class FrameMaterial
public boolean equals(FrameMaterial mat)
equals
in class FrameMaterial
public PowerFrameMaterial clone()
CompositeProperty
clone
in interface CompositeProperty
clone
in interface Clonable
clone
in class FrameMaterial