artisynth.core.femmodels
Class StiffnessWarper3d

java.lang.Object
  extended by artisynth.core.femmodels.StiffnessWarper3d

public class StiffnessWarper3d
extends java.lang.Object

Implements stiffness warping for a particular 3d fem element.

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 Summary
StiffnessWarper3d(int numNodes)
           
 
Method Summary
 void addNodeForce(Vector3d f, int i, FemNode3d[] nodes, boolean warping)
           
 void addNodeForce0(Vector3d f, int i, boolean warping)
           
 void addNodeForce0(VectorNd f, int offset, int i, boolean warping)
           
 void addNodeStiffness(FemNodeNeighbor nbr, int i, int j, boolean warping)
           
 void addNodeStiffness(Matrix3d Kij, int i, int j, boolean warping)
           
 void computeInitialStiffness(FemElement3d e, double E, double nu)
           
 void computeRotation(Matrix3d F, SymmetricMatrix3d P)
           
 void computeWarping(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3)
           
 double getConditionNum()
           
 void setInitialJ(FemNode3d n0, FemNode3d n1, FemNode3d n2, FemNode3d n3)
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StiffnessWarper3d

public StiffnessWarper3d(int numNodes)
Method Detail

computeInitialStiffness

public void computeInitialStiffness(FemElement3d e,
                                    double E,
                                    double nu)

setInitialJ

public void setInitialJ(FemNode3d n0,
                        FemNode3d n1,
                        FemNode3d n2,
                        FemNode3d n3)

getConditionNum

public double getConditionNum()

computeWarping

public void computeWarping(FemNode3d n0,
                           FemNode3d n1,
                           FemNode3d n2,
                           FemNode3d n3)

computeRotation

public void computeRotation(Matrix3d F,
                            SymmetricMatrix3d P)

addNodeStiffness

public void addNodeStiffness(Matrix3d Kij,
                             int i,
                             int j,
                             boolean warping)

addNodeStiffness

public void addNodeStiffness(FemNodeNeighbor nbr,
                             int i,
                             int j,
                             boolean warping)

addNodeForce

public void addNodeForce(Vector3d f,
                         int i,
                         FemNode3d[] nodes,
                         boolean warping)

addNodeForce0

public void addNodeForce0(Vector3d f,
                          int i,
                          boolean warping)

addNodeForce0

public void addNodeForce0(VectorNd f,
                          int offset,
                          int i,
                          boolean warping)