public class IntegrationPoint3d
extends java.lang.Object
Data that needs to be stored and retained per-element is declared in the IntegrationData3d class.
Constructor and Description |
---|
IntegrationPoint3d(int nnodes) |
IntegrationPoint3d(int nnodes,
int npvals) |
IntegrationPoint3d(int nnodes,
int npvals,
double s0,
double s1,
double s2,
double w) |
Modifier and Type | Method and Description |
---|---|
void |
computeCoordsForRender(float[] coords,
FemNode3d[] nodes) |
double |
computeGradient(Matrix3d F,
FemNode3d[] nodes,
Matrix3d invJ0)
Computes the current deformation gradient at this integration point.
|
void |
computeGradientForRender(Matrix3d Fmat,
FemNode3d[] nodes,
Matrix3d invJ0) |
double |
computeInverseJacobian(Matrix3d invJ,
FemNode3d[] nodes)
Computes the current inverse Jacobian at this integration point.
|
double |
computeInverseRestJacobian(Matrix3d invJ0,
FemNode3d[] nodes) |
void |
computeJacobian(Matrix3d J,
FemNode3d[] nodes)
Computes the current Jacobian at this integration point.
|
void |
computeJacobian(Matrix3d J,
FemNode3d[] nodes,
FemElement.ElementClass type) |
void |
computeJacobian(Matrix3d J,
FemNode3d[] nodes,
FemElement.ElementClass type,
FemNode3d.CoordType ctype) |
double |
computeJacobianDeterminant(FemNode3d[] nodes)
Computes the determinant of the current Jacobian at this
integration point.
|
void |
computePosition(Point3d pos,
FemElement3dBase elem) |
void |
computePosition(Point3d pos,
FemNode3d[] nodes) |
void |
computeRestJacobian(Matrix3d J0,
FemNode3d[] nodes) |
void |
computeRestPosition(Point3d pos,
FemElement3dBase elem) |
void |
computeRestPosition(Point3d pos,
FemNode3d[] nodes) |
Vector3d[] |
computeShapeGradient(Matrix3d invJ)
Computes and returns the gradient dN/dx of the shape functions, given an
inverse Jacobian.
|
void |
computeShapeGradient(Matrix3d invJ,
Vector3d[] out)
Computes and returns the gradient dN/dx of the shape functions, given an
inverse Jacobian.
|
static IntegrationPoint3d |
create(FemElement3dBase elem,
double s0,
double s1,
double s2,
double w)
Create an integration point for a given element at a specific set of
natural coordinates.
|
Vector3d |
getCoords() |
FemElement.ElementClass |
getElementClass() |
Vector3d[] |
getGNs() |
int |
getNumber()
Returns the number of this integration point.
|
VectorNd |
getPressureWeights() |
Vector3d[] |
getShapeGradient()
Returns the gradient dN/dx of the shape functions.
|
VectorNd |
getShapeWeights() |
double |
getWeight() |
void |
setCoords(double s0,
double s1,
double s2) |
void |
setNumber(int num)
Used internally by the system to set the number for this integration
point.
|
void |
setPressureWeights(VectorNd vals) |
void |
setShapeGrad(int i,
Vector3d dNds) |
void |
setShapeWeights(VectorNd vals) |
void |
setWeight(double w) |
Vector3d[] |
updateShapeGradient(Matrix3d invJ)
Updates and returns the gradient dN/dx of the shape functions, given an
inverse Jacobian.
|
public IntegrationPoint3d(int nnodes, int npvals, double s0, double s1, double s2, double w)
public IntegrationPoint3d(int nnodes)
public IntegrationPoint3d(int nnodes, int npvals)
public FemElement.ElementClass getElementClass()
public int getNumber()
public void setNumber(int num)
public static IntegrationPoint3d create(FemElement3dBase elem, double s0, double s1, double s2, double w)
elem
- element to create the integration point fors0
- first coordinate values1
- second coordinate values2
- third coordinate valuew
- weightpublic void setCoords(double s0, double s1, double s2)
public Vector3d getCoords()
public double getWeight()
public void setWeight(double w)
public void setShapeWeights(VectorNd vals)
public VectorNd getShapeWeights()
public void setShapeGrad(int i, Vector3d dNds)
public void setPressureWeights(VectorNd vals)
public VectorNd getPressureWeights()
public void computeJacobian(Matrix3d J, FemNode3d[] nodes)
J
- returns the Jacobiannodes
- FEM nodes, used to obtain the element node positionspublic void computeJacobian(Matrix3d J, FemNode3d[] nodes, FemElement.ElementClass type)
public void computeJacobian(Matrix3d J, FemNode3d[] nodes, FemElement.ElementClass type, FemNode3d.CoordType ctype)
public double computeInverseRestJacobian(Matrix3d invJ0, FemNode3d[] nodes)
public double computeJacobianDeterminant(FemNode3d[] nodes)
nodes
- FEM nodes, used to obtain the element node positionspublic double computeGradient(Matrix3d F, FemNode3d[] nodes, Matrix3d invJ0)
F
- returns the deformation gradientnodes
- FEM nodes, used to obtain the element node positionsinvJ0
- inverse rest position Jacobianpublic double computeInverseJacobian(Matrix3d invJ, FemNode3d[] nodes)
invJ
- returns the inverse Jacobiannodes
- FEM nodes, used to obtain the element node positionspublic void computeGradientForRender(Matrix3d Fmat, FemNode3d[] nodes, Matrix3d invJ0)
public void computePosition(Point3d pos, FemElement3dBase elem)
public void computeRestPosition(Point3d pos, FemElement3dBase elem)
public void computeCoordsForRender(float[] coords, FemNode3d[] nodes)
public Vector3d[] computeShapeGradient(Matrix3d invJ)
invJ
- inverse Jacobianpublic void computeShapeGradient(Matrix3d invJ, Vector3d[] out)
invJ
- inverse Jacobianout
- shape function gradient to populatepublic Vector3d[] updateShapeGradient(Matrix3d invJ)
invJ
- inverse Jacobianpublic Vector3d[] getShapeGradient()
public Vector3d[] getGNs()