21 #ifndef ELEMENT_VALUES_HH_ 22 #define ELEMENT_VALUES_HH_ 66 template<
unsigned int spacedim = 3>
127 template<
unsigned int spacedim>
165 void reinit(
const Side &cell_side);
185 return data.determinants[point_no];
192 return data.jacobians.arma_mat(point_no);
199 return data.inverse_jacobians.arma_mat(point_no);
208 inline double JxW(
const unsigned int point_no)
const 211 return data.JxW_values[point_no];
220 inline double side_JxW(
const unsigned int point_no)
const 223 return data.side_JxW_values[point_no];
231 inline arma::vec::fixed<spacedim>
point(
const unsigned int point_no)
const 234 return data.points.template vec<spacedim>(point_no);
252 return data.normal_vectors.template vec<spacedim>(point_no);
257 {
return n_points_; }
261 {
return data.cell; }
265 {
return data.side; }
275 template<
unsigned int dim>
279 template<
unsigned int dim>
280 void fill_side_data();
arma::vec::fixed< spacedim > normal_vector(unsigned int point_no)
Returns the normal vector to a side at given quadrature point.
UpdateFlags
Enum type UpdateFlags indicates which quantities are to be recomputed on each finite element cell...
const ElementAccessor< spacedim > & cell() const
Return cell at which the values were reinited.
UpdateFlags update_flags
Flags that indicate which finite element quantities are to be computed.
const Side & side() const
Return cell side where the values were reinited.
std::vector< double > side_JxW_values
JxW values for sides.
ElementData< spacedim > data
Data computed by the mapping.
FMT_API void print(std::FILE *f, CStringRef format_str, ArgList args)
RefElementData(unsigned int np)
Resize vectors to size np.
const unsigned int dim_
Dimension of space of reference cell.
std::vector< arma::vec > bar_coords
Barycentric coordinates of quadrature points.
const Armor::array & point_list() const
Return coordinates of all quadrature points in the actual cell system.
Class ElementData holds the arrays of data computed by Mapping.
arma::vec::fixed< spacedim > point(const unsigned int point_no) const
Return coordinates of the quadrature point in the actual cell system.
double JxW(const unsigned int point_no) const
Return the product of Jacobian determinant and the quadrature weight at given quadrature point...
double side_JxW(const unsigned int point_no) const
Return the product of side Jacobian determinant and the quadrature weight at given quadrature point...
double determinant(const unsigned int point_no) const
Return the relative volume change of the cell (Jacobian determinant).
Class for computation of data on cell and side.
arma::mat inverse_jacobian(const unsigned int point_no) const
Return inverse Jacobian matrix at point point_no.
Side side
Iterator to last updated cell side.
const unsigned int n_sides_
Number of sides in reference cell.
const unsigned int dim_
Dimension of space of reference cell.
Enum type UpdateFlags indicates which quantities are to be recomputed on each finite element cell...
Base class for quadrature rules on simplices in arbitrary dimensions.
std::vector< double > weights
Quadrature weights.
arma::mat jacobian(const unsigned int point_no) const
Return Jacobian matrix at point point_no.
std::vector< double > determinants
Determinants of Jacobians at quadrature points.
ArmaMat< double, N, M > mat
RefElementData * ref_data
Data on reference element.
std::vector< double > JxW_values
Transformed quadrature weights.
unsigned int n_points()
Returns the number of quadrature points.
Armor::array jacobians
Jacobians (spacedim x dim) of the mapping at the quadrature points.
ElementAccessor< spacedim > cell
Iterator to last updated cell.
Structure for storing the precomputed element data.
const unsigned int n_side_permutations_
Number of permutations of points on side of reference cell.
Armor::array inverse_jacobians
Inverse Jacobians (dim x spacedim) at the quadrature points.
Armor::array normal_vectors
Normal vectors (spacedim) to the element at the quadrature points lying on a side.
std::vector< std::vector< RefElementData * > > side_ref_data
Data on reference element (for each side and its permutation).
unsigned int n_points
Number of quadrature points.
const unsigned int n_points_
Number of integration points.
Class RefElement defines numbering of vertices, sides, calculation of normal vectors etc...
Armor::array points
Coordinates (spacedim) of quadrature points in the actual cell coordinate system. ...
#define ASSERT_LT_DBG(a, b)
Definition of comparative assert macro (Less Than) only for debug mode.