93 BaseElem(
size_t order,
size_t element_type);
120 virtual double elemSize(
const std::vector<util::Point> &nodes) = 0;
138 virtual std::vector<double>
148 virtual std::vector<std::vector<double>>
150 const std::vector<util::Point> &nodes);
157 std::vector<fe::QuadData>
163 std::vector<fe::QuadData>
183 virtual std::vector<std::vector<double>>
195 const std::vector<util::Point> &nodes);
207 const std::vector<util::Point> &nodes,
208 std::vector<std::vector<double>> *J) = 0;
215 virtual void init() = 0;
A base class which provides methods to map points to/from reference element and to compute quadrature...
size_t getQuadOrder()
Get order of quadrature approximation.
virtual util::Point mapPointToRefElem(const util::Point &p, const std::vector< util::Point > &nodes)
Maps point p in a given element to the reference element and returns the mapped point.
std::vector< fe::QuadData > getQuadDatas(const std::vector< util::Point > &nodes)
Get quadrature data mapped to the physical element (N, dN/dx, x, w, J). Shared isoparametric map; typ...
virtual std::vector< double > getShapes(const util::Point &p)=0
Returns the values of shape function at point p on reference element.
size_t getElemType()
Get element type.
std::vector< fe::QuadData > d_quads
Quadrature data collection.
virtual std::vector< std::vector< double > > getDerShapes(const util::Point &p, const std::vector< util::Point > &nodes)
Returns the values of derivative of shape function at point p.
std::vector< fe::QuadData > getQuadPoints(const std::vector< util::Point > &nodes)
Same as getQuadDatas without transforming dN/dξ to dN/dx.
size_t getNumQuadPoints()
Get number of quadrature points in the data.
virtual std::vector< double > getShapes(const util::Point &p, const std::vector< util::Point > &nodes)
Returns the values of shape function at point p.
size_t d_elemType
Element type.
virtual std::vector< std::vector< double > > getDerShapes(const util::Point &p)=0
Returns the values of derivative of shape function at point p on reference element.
virtual double elemSize(const std::vector< util::Point > &nodes)=0
Returns the size of element (length in 1-d, area in 2-d, volume in 3-d element)
virtual double getJacobian(const util::Point &p, const std::vector< util::Point > &nodes, std::vector< std::vector< double > > *J)=0
Computes Jacobian of map from reference element to given element .
size_t d_quadOrder
Order of quadrature point integration approximation.
virtual void init()=0
Compute the quadrature points.
A structure to represent 3d vectors.