Public Member Functions | |
FEFaceValuesBase (const unsigned int n_q_points, const unsigned int dofs_per_cell, const UpdateFlags update_flags, const Mapping< dim, spacedim > &mapping, const FiniteElement< dim, spacedim > &fe, const Quadrature< dim-1 > &quadrature) | |
const Point< dim > & | normal_vector (const unsigned int i) const |
const Tensor< 1, spacedim > & | boundary_form (const unsigned int i) const |
const std::vector< Point< dim > > & | get_normal_vectors () const |
const std::vector< Tensor < 1, spacedim > > & | get_boundary_forms () const |
unsigned int | get_face_index () const |
const Quadrature< dim-1 > & | get_quadrature () const |
unsigned int | memory_consumption () const |
Protected Attributes | |
unsigned int | present_face_index |
const Quadrature< dim-1 > | quadrature |
On surfaces of mesh cells, normal vectors and boundary forms are additional values that can be computed. This class provides the interface to access those. Implementations are in derived classes FEFaceValues and FESubfaceValues.
The boundary form is the cross product of the images of the unit tangential vectors. Therefore, it is the unit normal vector multiplied with the surface element. Since it may be cheaper to compute the boundary form immediately, use this value to integrate n.ds
.
See FEValuesBase
FEFaceValuesBase< dim, spacedim >::FEFaceValuesBase | ( | const unsigned int | n_q_points, | |
const unsigned int | dofs_per_cell, | |||
const UpdateFlags | update_flags, | |||
const Mapping< dim, spacedim > & | mapping, | |||
const FiniteElement< dim, spacedim > & | fe, | |||
const Quadrature< dim-1 > & | quadrature | |||
) |
Constructor. Call the constructor of the base class and set up the arrays of this class with the right sizes. Actually filling these arrays is a duty of the derived class's constructors.
n_faces_or_subfaces
is the number of faces or subfaces that this object is to store. The actual number depends on the derived class, for FEFaceValues it is 2*dim
, while for the FESubfaceValues class it is 2*dim*(1<<(dim-1))
, i.e. the number of faces times the number of subfaces per face.
const Point<dim>& FEFaceValuesBase< dim, spacedim >::normal_vector | ( | const unsigned int | i | ) | const |
Return the outward normal vector to the cell at the i
th quadrature point. The length of the vector is normalized to one.
const Tensor<1,spacedim>& FEFaceValuesBase< dim, spacedim >::boundary_form | ( | const unsigned int | i | ) | const |
Boundary form of the transformation of the cell at the i
th quadrature point.
The boundary form is the cross product of the images of the unit tangential vectors. Therefore, it is the unit normal vector multiplied with the surface element. Since it may be cheaper to compute the boundary form immediately, use this value to integrate n.ds
.
const std::vector<Point<dim> >& FEFaceValuesBase< dim, spacedim >::get_normal_vectors | ( | ) | const |
Return the list of outward normal vectors to the cell at the quadrature points.
const std::vector<Tensor<1,spacedim> >& FEFaceValuesBase< dim, spacedim >::get_boundary_forms | ( | ) | const |
Return the list of outward normal vectors times the Jacobian of the surface mapping.
unsigned int FEFaceValuesBase< dim, spacedim >::get_face_index | ( | ) | const |
Return the index of the face selected the last time the reinit() function was called.
const Quadrature<dim-1>& FEFaceValuesBase< dim, spacedim >::get_quadrature | ( | ) | const |
Return a reference to the copy of the quadrature formula stored by this object.
unsigned int FEFaceValuesBase< dim, spacedim >::memory_consumption | ( | ) | const |
Determine an estimate for the memory consumption (in bytes) of this object.
Reimplemented from FEValuesBase< dim, spacedim >.
unsigned int FEFaceValuesBase< dim, spacedim >::present_face_index [protected] |
Index of the face selected the last time the reinit() function was called.
const Quadrature<dim-1> FEFaceValuesBase< dim, spacedim >::quadrature [protected] |
Store a copy of the quadrature formula here.