20 JacobianIsEvaluated(0),
40 MFEM_ABORT(
"unknown Geometry::Type!");
46 for (
int j = 0; j < dof; j++)
57 FElem -> CalcDShape(*
IntPoint, dshape);
58 Mult(PointMat, dshape, dFdx);
73 return (Wght = dFdx.
Weight());
78 switch (FElem->
Space())
85 mfem_error(
"IsoparametricTransformation::OrderJ()");
92 switch (FElem->
Space())
99 mfem_error(
"IsoparametricTransformation::OrderW()");
114 return ((k-1)*(d-1)+(l-1));
116 return (k*(d-1)+(l-1));
119 mfem_error(
"IsoparametricTransformation::OrderGrad(...)");
129 FElem -> CalcShape(ip, shape);
130 PointMat.
Mult(shape, trans);
136 int dof, n, dim, i, j, k;
145 for (j = 0; j < n; j++)
147 FElem -> CalcShape (ir.
IntPoint(j), shape);
148 for (i = 0; i < dim; i++)
151 for (k = 0; k < dof; k++)
152 tr(i, j) += PointMat(i, k) * shape(k);
175 for (i = 0; i < n; i++)
int GetNPoints() const
Returns the number of the points in the integration rule.
Abstract class for Finite Elements.
void Get(double *p, const int dim) const
int GetDim() const
Returns the space dimension for the finite element.
Class for integration rule.
void SetSize(int s)
Resizes the vector if the new size is different.
void Mult(const Table &A, const Table &B, Table &C)
C = A * B (as boolean matrices)
int Width() const
Get the width (size of input) of the Operator. Synonym with NumCols.
int GetOrder() const
Returns the order of the finite element.
int Space() const
Returns the type of space on each element.
friend void Mult(const DenseMatrix &b, const DenseMatrix &c, DenseMatrix &a)
Matrix matrix multiplication. A = B * C.
PointFiniteElement PointFE
IntegrationPoint & IntPoint(int i)
Returns a reference to the i-th integration point.
int Height() const
Get the height (size of output) of the Operator. Synonym with NumRows.
TriLinear3DFiniteElement HexahedronFE
const IntegrationRule & GetNodes() const
int GetDof() const
Returns the degrees of freedom in the FE space.
void mfem_error(const char *msg)
Linear3DFiniteElement TetrahedronFE
Linear2DFiniteElement TriangleFE
Class for integration point with weight.
void SetSize(int s)
If the matrix is not a square matrix of size s then recreate it.
BiLinear2DFiniteElement QuadrilateralFE
Linear1DFiniteElement SegmentFE