27 mutable const int *
ijk;
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
Array< const KnotVector * > kv
NURBS2DFiniteElement(int px, int py)
Construct the NURBS2DFiniteElement with x-order px and y-order py.
virtual void CalcHessian(const IntegrationPoint &ip, DenseMatrix &hessian) const
Evaluate the Hessians of all shape functions of a scalar finite element in reference space at the giv...
void SetSize(int s)
Resize the vector to size s.
virtual void SetOrder() const
Update the NURBSFiniteElement according to the currently set knot vectors.
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
int dim
Dimension of reference space.
Data type dense matrix using column-major storage.
virtual void SetOrder() const
Update the NURBSFiniteElement according to the currently set knot vectors.
An arbitrary order and dimension NURBS element.
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
void SetIJK(const int *IJK) const
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
NURBS3DFiniteElement(int px, int py, int pz)
virtual void SetOrder() const
Update the NURBSFiniteElement according to the currently set knot vectors.
virtual void CalcShape(const IntegrationPoint &ip, Vector &shape) const
Evaluate the values of all shape functions of a scalar finite element in reference space at the given...
NURBS1DFiniteElement(int p)
Construct the NURBS1DFiniteElement of order p.
Class for finite elements with basis functions that return scalar values.
virtual void CalcDShape(const IntegrationPoint &ip, DenseMatrix &dshape) const
Evaluate the gradients of all shape functions of a scalar finite element in reference space at the gi...
virtual void SetOrder() const
Update the NURBSFiniteElement according to the currently set knot vectors.
int orders[Geometry::MaxDim]
Anisotropic orders.
Array< const KnotVector * > & KnotVectors() const
NURBSFiniteElement(int D, Geometry::Type G, int Do, int O, int F)
Construct NURBSFiniteElement with given.
double p(const Vector &x, double t)
void SetElement(int e) const
NURBS3DFiniteElement(int p)
Construct the NURBS3DFiniteElement of order p.
virtual void CalcHessian(const IntegrationPoint &ip, DenseMatrix &hessian) const
Evaluate the Hessians of all shape functions of a scalar finite element in reference space at the giv...
Class for integration point with weight.
NURBS2DFiniteElement(int p)
Construct the NURBS2DFiniteElement of order p.
int dof
Number of degrees of freedom.
const int * GetIJK() const
Describes the function space on each element.
virtual void CalcHessian(const IntegrationPoint &ip, DenseMatrix &hessian) const
Evaluate the Hessians of all shape functions of a scalar finite element in reference space at the giv...
void SetPatch(int p) const
An arbitrary order 3D NURBS element on a cube.
An arbitrary order 1D NURBS element on a segment.
An arbitrary order 2D NURBS element on a square.