public class StiffnessWarper3d
extends java.lang.Object
Note: it is important that all these methods are called from the same (simulation) thread. In particular, they should not be called by methods activated by the GUI.
Constructor and Description |
---|
StiffnessWarper3d(FemElement3d elem) |
Modifier and Type | Method and Description |
---|---|
void |
addInitialStiffness(FemElement3d e,
AuxiliaryMaterial mat)
Adds linear stiffness contributions to an underlying cache
|
void |
addInitialStiffness(FemElement3d e,
FemMaterial mat)
Adds linear stiffness contributions to an underlying cache
|
void |
addNodeForce(Vector3d f,
int i,
FemNode3d[] nodes)
Adds the total force contribution due to stiffness from all
cached linear materials for node i
|
void |
addNodeForce0(VectorNd f,
int offset,
int i)
Adds initial force contribution due to cached stiffness
|
void |
addNodeStiffness(Matrix3d K,
int i,
int j)
Adds the total stiffness contributions between nodes i and j
from all cached linear and corotated linear materials to the given
matrix
|
void |
computeInitialStiffness(FemElement3d e,
double E,
double nu,
boolean corotated)
Deprecated.
|
void |
computeWarpingRotation(FemElement3d elem) |
void |
getInitialForce(Vector3d f0,
int i)
Gets initial force contribution from all linear
and corotated linear cached materials
|
void |
getInitialStiffness(Matrix3d K0,
int i,
int j)
Gets initial stiffness contribution from all linear
and corotated linear cached materials
|
RotationMatrix3d |
getRotation()
Gets current warping rotation matrix
|
void |
initialize(FemElement3d elem)
Initializes the warper, clears any cached values
|
boolean |
isCacheEmpty()
Checks if warper contains any cached data
|
void |
setRotation(Matrix3dBase R)
Manually sets rotation to use for warping
|
public StiffnessWarper3d(FemElement3d elem)
public void initialize(FemElement3d elem)
elem
- element to be used by warperpublic boolean isCacheEmpty()
@Deprecated public void computeInitialStiffness(FemElement3d e, double E, double nu, boolean corotated)
public void addInitialStiffness(FemElement3d e, FemMaterial mat)
e
- FEM elementmat
- linear materialpublic void addInitialStiffness(FemElement3d e, AuxiliaryMaterial mat)
e
- FEM elementmat
- linear materialpublic void computeWarpingRotation(FemElement3d elem)
public void setRotation(Matrix3dBase R)
R
- warping rotationpublic RotationMatrix3d getRotation()
public void addNodeStiffness(Matrix3d K, int i, int j)
K
- local stiffness matrixi
- first node indexj
- second node indexpublic void addNodeForce(Vector3d f, int i, FemNode3d[] nodes)
f
- output forcei
- node indexnodes
- element nodespublic void addNodeForce0(VectorNd f, int offset, int i)
f
- output force vectoroffset
- offset within force vector to add contributioni
- node for which to add forcepublic void getInitialStiffness(Matrix3d K0, int i, int j)
K0
- matrix to populatei
- first node indexj
- second node indexpublic void getInitialForce(Vector3d f0, int i)
f0
- force vector to populatei
- first node index