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