Reference documentation for deal.II version 9.3.3
|
#include <deal.II/fe/mapping_fe.h>
Public Member Functions | |
InternalData (const FiniteElement< dim, spacedim > &fe) | |
void | initialize (const UpdateFlags update_flags, const Quadrature< dim > &quadrature, const unsigned int n_original_q_points) |
void | initialize_face (const UpdateFlags update_flags, const Quadrature< dim > &quadrature, const unsigned int n_original_q_points) |
void | compute_shape_function_values (const std::vector< Point< dim > > &unit_points) |
const double & | shape (const unsigned int qpoint, const unsigned int shape_nr) const |
double & | shape (const unsigned int qpoint, const unsigned int shape_nr) |
const Tensor< 1, dim > & | derivative (const unsigned int qpoint, const unsigned int shape_nr) const |
Tensor< 1, dim > & | derivative (const unsigned int qpoint, const unsigned int shape_nr) |
const Tensor< 2, dim > & | second_derivative (const unsigned int qpoint, const unsigned int shape_nr) const |
Tensor< 2, dim > & | second_derivative (const unsigned int qpoint, const unsigned int shape_nr) |
const Tensor< 3, dim > & | third_derivative (const unsigned int qpoint, const unsigned int shape_nr) const |
Tensor< 3, dim > & | third_derivative (const unsigned int qpoint, const unsigned int shape_nr) |
const Tensor< 4, dim > & | fourth_derivative (const unsigned int qpoint, const unsigned int shape_nr) const |
Tensor< 4, dim > & | fourth_derivative (const unsigned int qpoint, const unsigned int shape_nr) |
virtual std::size_t | memory_consumption () const override |
Public Attributes | |
std::vector< double > | shape_values |
std::vector< Tensor< 1, dim > > | shape_derivatives |
std::vector< Tensor< 2, dim > > | shape_second_derivatives |
std::vector< Tensor< 3, dim > > | shape_third_derivatives |
std::vector< Tensor< 4, dim > > | shape_fourth_derivatives |
std::array< std::vector< Tensor< 1, dim > >, GeometryInfo< dim >::faces_per_cell *(dim - 1)> | unit_tangentials |
const FiniteElement< dim, spacedim > & | fe |
const unsigned int | polynomial_degree |
const unsigned int | n_shape_functions |
std::vector< DerivativeForm< 1, dim, spacedim > > | covariant |
std::vector< DerivativeForm< 1, dim, spacedim > > | contravariant |
std::vector< std::vector< Tensor< 1, spacedim > > > | aux |
std::vector< Point< spacedim > > | mapping_support_points |
Triangulation< dim, spacedim >::cell_iterator | cell_of_current_support_points |
std::vector< double > | volume_elements |
std::vector< double > | quadrature_weights |
UpdateFlags | update_each |
Storage for internal data of polynomial mappings. See Mapping::InternalDataBase for an extensive description.
For the current class, the InternalData class stores data that is computed once when the object is created (in get_data()) as well as data the class wants to store from between the call to fill_fe_values(), fill_fe_face_values(), or fill_fe_subface_values() until possible later calls from the finite element to functions such as transform(). The latter class of member variables are marked as 'mutable'.
Definition at line 179 of file mapping_fe.h.
MappingFE< dim, spacedim >::InternalData::InternalData | ( | const FiniteElement< dim, spacedim > & | fe | ) |
Constructor.
Definition at line 52 of file mapping_fe.cc.
void MappingFE< dim, spacedim >::InternalData::initialize | ( | const UpdateFlags | update_flags, |
const Quadrature< dim > & | quadrature, | ||
const unsigned int | n_original_q_points | ||
) |
Initialize the object's member variables related to cell data based on the given arguments.
The function also calls compute_shape_function_values() to actually set the member variables related to the values and derivatives of the mapping shape functions.
Definition at line 83 of file mapping_fe.cc.
void MappingFE< dim, spacedim >::InternalData::initialize_face | ( | const UpdateFlags | update_flags, |
const Quadrature< dim > & | quadrature, | ||
const unsigned int | n_original_q_points | ||
) |
Initialize the object's member variables related to cell and face data based on the given arguments. In order to initialize cell data, this function calls initialize().
Definition at line 141 of file mapping_fe.cc.
void MappingFE< dim, spacedim >::InternalData::compute_shape_function_values | ( | const std::vector< Point< dim > > & | unit_points | ) |
Compute the values and/or derivatives of the shape functions used for the mapping.
Definition at line 181 of file mapping_fe.cc.
const double & MappingFE< dim, spacedim >::InternalData::shape | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Shape function at quadrature point. Shape functions are in tensor product order, so vertices must be reordered to obtain transformation.
double & MappingFE< dim, spacedim >::InternalData::shape | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Shape function at quadrature point. See above.
const Tensor< 1, dim > & MappingFE< dim, spacedim >::InternalData::derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Gradient of shape function in quadrature point. See above.
Tensor< 1, dim > & MappingFE< dim, spacedim >::InternalData::derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Gradient of shape function in quadrature point. See above.
const Tensor< 2, dim > & MappingFE< dim, spacedim >::InternalData::second_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Second derivative of shape function in quadrature point. See above.
Tensor< 2, dim > & MappingFE< dim, spacedim >::InternalData::second_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Second derivative of shape function in quadrature point. See above.
const Tensor< 3, dim > & MappingFE< dim, spacedim >::InternalData::third_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
third derivative of shape function in quadrature point. See above.
Tensor< 3, dim > & MappingFE< dim, spacedim >::InternalData::third_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
third derivative of shape function in quadrature point. See above.
const Tensor< 4, dim > & MappingFE< dim, spacedim >::InternalData::fourth_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
fourth derivative of shape function in quadrature point. See above.
Tensor< 4, dim > & MappingFE< dim, spacedim >::InternalData::fourth_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
fourth derivative of shape function in quadrature point. See above.
|
overridevirtual |
Return an estimate (in bytes) for the memory consumption of this object.
Definition at line 63 of file mapping_fe.cc.
std::vector<double> MappingFE< dim, spacedim >::InternalData::shape_values |
Values of shape functions. Access by function shape
.
Computed once.
Definition at line 293 of file mapping_fe.h.
Values of shape function derivatives. Access by function derivative
.
Computed once.
Definition at line 300 of file mapping_fe.h.
Values of shape function second derivatives. Access by function second_derivative
.
Computed once.
Definition at line 308 of file mapping_fe.h.
Values of shape function third derivatives. Access by function second_derivative
.
Computed once.
Definition at line 316 of file mapping_fe.h.
Values of shape function fourth derivatives. Access by function second_derivative
.
Computed once.
Definition at line 324 of file mapping_fe.h.
std::array<std::vector<Tensor<1, dim> >, GeometryInfo<dim>::faces_per_cell *(dim - 1)> MappingFE< dim, spacedim >::InternalData::unit_tangentials |
Unit tangential vectors. Used for the computation of boundary forms and normal vectors.
Filled once.
Definition at line 334 of file mapping_fe.h.
const FiniteElement<dim, spacedim>& MappingFE< dim, spacedim >::InternalData::fe |
Underlying finite element.
Definition at line 339 of file mapping_fe.h.
The polynomial degree of the mapping.
Definition at line 344 of file mapping_fe.h.
Number of shape functions.
Definition at line 349 of file mapping_fe.h.
|
mutable |
Tensors of covariant transformation at each of the quadrature points. The matrix stored is the Jacobian * G^{-1}, where G = Jacobian^{t} * Jacobian, is the first fundamental form of the map; if dim=spacedim then it reduces to the transpose of the inverse of the Jacobian matrix, which itself is stored in the contravariant
field of this structure.
Computed on each cell.
Definition at line 360 of file mapping_fe.h.
|
mutable |
Tensors of contravariant transformation at each of the quadrature points. The contravariant matrix is the Jacobian of the transformation, i.e. \(J_{ij}=dx_i/d\hat x_j\).
Computed on each cell.
Definition at line 369 of file mapping_fe.h.
|
mutable |
Auxiliary vectors for internal use.
Definition at line 374 of file mapping_fe.h.
|
mutable |
Stores the support points of the mapping shape functions on the cell_of_current_support_points
.
Definition at line 380 of file mapping_fe.h.
|
mutable |
Stores the cell of which the mapping_support_points
are stored.
Definition at line 386 of file mapping_fe.h.
|
mutable |
The determinant of the Jacobian in each quadrature point. Filled if update_volume_elements.
Definition at line 392 of file mapping_fe.h.
|
mutable |
Projected quadrature weights.
Definition at line 397 of file mapping_fe.h.
|
inherited |
A set of update flags specifying the kind of information that an implementation of the Mapping interface needs to compute on each cell or face, i.e., in Mapping::fill_fe_values() and friends.
This set of flags is stored here by implementations of Mapping::get_data(), Mapping::get_face_data(), or Mapping::get_subface_data(), and is that subset of the update flags passed to those functions that require re-computation on every cell. (The subset of the flags corresponding to information that can be computed once and for all already at the time of the call to Mapping::get_data() – or an implementation of that interface – need not be stored here because it has already been taken care of.)