public class MLSShapeFunction extends java.lang.Object implements MFreeShapeFunction
Modifier and Type | Field and Description |
---|---|
static int |
CONSTANT_ORDER |
static int |
LINEAR_ORDER |
static int |
QUADRATIC_ORDER |
static int |
SHEPARD |
Constructor and Description |
---|
MLSShapeFunction() |
Modifier and Type | Method and Description |
---|---|
void |
computeDDM(MatrixNd DM,
int di,
int dj,
Point3d pnt,
MFreeNode3d[] nodeList) |
void |
computeDDMInv(MatrixNd DDMInv,
int di,
int dj,
MatrixNd MInv,
Point3d pnt,
MFreeNode3d[] nodeList) |
void |
computeDM(MatrixNd DM,
int dIdx,
Point3d pnt,
MFreeNode3d[] nodeList) |
void |
computeDMInv(MatrixNd DMInv,
int di,
MatrixNd MInv,
Point3d pnt,
MFreeNode3d[] nodeList) |
void |
computeM(MatrixNd M,
Point3d pnt,
MFreeNode3d[] nodeList) |
double |
computeMInv(MatrixNd MInv,
Point3d pnt,
MFreeNode3d[] nodeList) |
void |
computePtMInv(VectorNd pTMInv,
MatrixNd MInv,
Point3d pnt,
MFreeNode3d[] nodeList) |
double |
eval(int nidx)
Returns the value of the i'th shape function (related to node i)
|
double |
eval(MFreeNode3d node,
MFreeNode3d[] nodes,
Point3d pnt) |
double |
eval(MFreeNode3d node,
MFreeNode3d[] nodes,
Point3d pnt,
MatrixNd MInv) |
void |
eval(VectorNd N)
Compute all shape functions at once
|
void |
evalDerivative(int nidx,
Vector3d dNds)
Returns the value of the i'th shape function derivatives
|
double |
evalDerivative(MFreeNode3d node,
MFreeNode3d[] nodes,
Point3d in,
int[] derivatives) |
double |
evalDerivative(MFreeNode3d node,
MFreeNode3d[] nodes,
Point3d in,
int[] derivatives,
MatrixNd MInv) |
Point3d |
getCoordinate()
Current coordinate to be used for evaluation
|
MFreeNode3d[] |
getNodes()
Current nodes used for evaluation
|
static DifferentiableFunction3x1[] |
getPolynomialBasis(int order) |
boolean |
maybeUpdate(Vector3d coords,
MFreeNode3d[] nodes)
Update only if coords and nodes are different
|
void |
setBasisFunctions(DifferentiableFunction3x1[] functions) |
void |
update(Point3d pnt,
MFreeNode3d[] nodes)
Update internals for computing the shape function value and derivatives at the
given point
|
public static final int CONSTANT_ORDER
public static final int SHEPARD
public static final int LINEAR_ORDER
public static final int QUADRATIC_ORDER
public void setBasisFunctions(DifferentiableFunction3x1[] functions)
public static DifferentiableFunction3x1[] getPolynomialBasis(int order)
public void computeM(MatrixNd M, Point3d pnt, MFreeNode3d[] nodeList)
public double computeMInv(MatrixNd MInv, Point3d pnt, MFreeNode3d[] nodeList)
public void computePtMInv(VectorNd pTMInv, MatrixNd MInv, Point3d pnt, MFreeNode3d[] nodeList)
public double eval(MFreeNode3d node, MFreeNode3d[] nodes, Point3d pnt, MatrixNd MInv)
public boolean maybeUpdate(Vector3d coords, MFreeNode3d[] nodes)
MFreeShapeFunction
maybeUpdate
in interface MFreeShapeFunction
coords
- natural coordinatesnodes
- nodes for shape functionpublic void update(Point3d pnt, MFreeNode3d[] nodes)
MFreeShapeFunction
update
in interface MFreeShapeFunction
pnt
- point at which to evaluate shape functionsnodes
- dependent nodespublic double eval(int nidx)
MFreeShapeFunction
eval
in interface MFreeShapeFunction
nidx
- node indexpublic double eval(MFreeNode3d node, MFreeNode3d[] nodes, Point3d pnt)
public void computeDDMInv(MatrixNd DDMInv, int di, int dj, MatrixNd MInv, Point3d pnt, MFreeNode3d[] nodeList)
public void computeDMInv(MatrixNd DMInv, int di, MatrixNd MInv, Point3d pnt, MFreeNode3d[] nodeList)
public void computeDDM(MatrixNd DM, int di, int dj, Point3d pnt, MFreeNode3d[] nodeList)
public void computeDM(MatrixNd DM, int dIdx, Point3d pnt, MFreeNode3d[] nodeList)
public double evalDerivative(MFreeNode3d node, MFreeNode3d[] nodes, Point3d in, int[] derivatives, MatrixNd MInv)
public void evalDerivative(int nidx, Vector3d dNds)
MFreeShapeFunction
evalDerivative
in interface MFreeShapeFunction
nidx
- node indexdNds
- derivatives (d/dx, d/dy, d/dz)public double evalDerivative(MFreeNode3d node, MFreeNode3d[] nodes, Point3d in, int[] derivatives)
public Point3d getCoordinate()
MFreeShapeFunction
getCoordinate
in interface MFreeShapeFunction
public MFreeNode3d[] getNodes()
MFreeShapeFunction
getNodes
in interface MFreeShapeFunction
public void eval(VectorNd N)
N
- shape function values