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)
MFreeShapeFunctionmaybeUpdate in interface MFreeShapeFunctioncoords - natural coordinatesnodes - nodes for shape functionpublic void update(Point3d pnt, MFreeNode3d[] nodes)
MFreeShapeFunctionupdate in interface MFreeShapeFunctionpnt - point at which to evaluate shape functionsnodes - dependent nodespublic double eval(int nidx)
MFreeShapeFunctioneval in interface MFreeShapeFunctionnidx - 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)
MFreeShapeFunctionevalDerivative in interface MFreeShapeFunctionnidx - node indexdNds - derivatives (d/dx, d/dy, d/dz)public double evalDerivative(MFreeNode3d node, MFreeNode3d[] nodes, Point3d in, int[] derivatives)
public Point3d getCoordinate()
MFreeShapeFunctiongetCoordinate in interface MFreeShapeFunctionpublic MFreeNode3d[] getNodes()
MFreeShapeFunctiongetNodes in interface MFreeShapeFunctionpublic void eval(VectorNd N)
N - shape function values