Reference documentation for deal.II version 9.5.0
|
#include <deal.II/fe/mapping_fe_field.h>
Public Member Functions | |
InternalData (const FiniteElement< dim, spacedim > &fe, const ComponentMask &mask) | |
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 |
unsigned int | n_shape_functions |
ComponentMask | mask |
std::vector< DerivativeForm< 1, dim, spacedim > > | covariant |
std::vector< DerivativeForm< 1, dim, spacedim > > | contravariant |
std::vector< double > | volume_elements |
std::vector< double > | quadrature_weights |
std::vector< std::vector< Tensor< 1, spacedim > > > | aux |
std::vector< types::global_dof_index > | local_dof_indices |
std::vector< double > | local_dof_values |
UpdateFlags | update_each |
Storage for internal data of this mapping. See Mapping::InternalDataBase for an extensive description.
This includes 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', along with scratch arrays.
Definition at line 284 of file mapping_fe_field.h.
MappingFEField< dim, spacedim, VectorType >::InternalData::InternalData | ( | const FiniteElement< dim, spacedim > & | fe, |
const ComponentMask & | mask | ||
) |
Constructor.
Definition at line 61 of file mapping_fe_field.cc.
|
inline |
Shape function at quadrature point. Shape functions are in tensor product order, so vertices must be reordered to obtain transformation.
Definition at line 326 of file mapping_fe_field.cc.
double & MappingFEField< dim, spacedim, VectorType >::InternalData::shape | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Shape function at quadrature point. See above.
Definition at line 86 of file mapping_fe_field.cc.
const Tensor< 1, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Gradient of shape function in quadrature point. See above.
Definition at line 97 of file mapping_fe_field.cc.
Tensor< 1, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Gradient of shape function in quadrature point. See above.
Definition at line 110 of file mapping_fe_field.cc.
const Tensor< 2, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::second_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Second derivative of shape function in quadrature point. See above.
Definition at line 122 of file mapping_fe_field.cc.
Tensor< 2, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::second_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Second derivative of shape function in quadrature point. See above.
Definition at line 135 of file mapping_fe_field.cc.
const Tensor< 3, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::third_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Third derivative of shape function in quadrature point. See above.
Definition at line 147 of file mapping_fe_field.cc.
Tensor< 3, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::third_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Fourth derivative of shape function in quadrature point. See above.
Definition at line 160 of file mapping_fe_field.cc.
const Tensor< 4, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::fourth_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) | const |
Fourth derivative of shape function in quadrature point. See above.
Definition at line 172 of file mapping_fe_field.cc.
Tensor< 4, dim > & MappingFEField< dim, spacedim, VectorType >::InternalData::fourth_derivative | ( | const unsigned int | qpoint, |
const unsigned int | shape_nr | ||
) |
Third derivative of shape function in quadrature point. See above.
Definition at line 185 of file mapping_fe_field.cc.
|
overridevirtual |
Return an estimate (in bytes) for the memory consumption of this object.
Definition at line 75 of file mapping_fe_field.cc.
std::vector<double> MappingFEField< dim, spacedim, VectorType >::InternalData::shape_values |
Values of shape functions. Access by function shape
.
Computed once.
Definition at line 368 of file mapping_fe_field.h.
std::vector<Tensor<1, dim> > MappingFEField< dim, spacedim, VectorType >::InternalData::shape_derivatives |
Values of shape function derivatives. Access by function derivative
.
Computed once.
Definition at line 375 of file mapping_fe_field.h.
std::vector<Tensor<2, dim> > MappingFEField< dim, spacedim, VectorType >::InternalData::shape_second_derivatives |
Values of shape function second derivatives. Access by function second_derivative
.
Computed once.
Definition at line 383 of file mapping_fe_field.h.
std::vector<Tensor<3, dim> > MappingFEField< dim, spacedim, VectorType >::InternalData::shape_third_derivatives |
Values of shape function third derivatives. Access by function third_derivative
.
Computed once.
Definition at line 391 of file mapping_fe_field.h.
std::vector<Tensor<4, dim> > MappingFEField< dim, spacedim, VectorType >::InternalData::shape_fourth_derivatives |
Values of shape function fourth derivatives. Access by function fourth_derivative
.
Computed once.
Definition at line 399 of file mapping_fe_field.h.
std::array<std::vector<Tensor<1, dim> >, GeometryInfo<dim>::faces_per_cell *(dim - 1)> MappingFEField< dim, spacedim, VectorType >::InternalData::unit_tangentials |
Unit tangential vectors. Used for the computation of boundary forms and normal vectors.
This array has (dim-1)*GeometryInfo<dim>::faces_per_cell
entries. The first GeometryInfo::faces_per_cell contain the vectors in the first tangential direction for each face; the second set of GeometryInfo::faces_per_cell entries contain the vectors in the second tangential direction (only in 3d, since there we have 2 tangential directions per face), etc.
Filled once.
Definition at line 416 of file mapping_fe_field.h.
unsigned int MappingFEField< dim, spacedim, VectorType >::InternalData::n_shape_functions |
Number of shape functions. If this is a Q1 mapping, then it is simply the number of vertices per cell. However, since also derived classes use this class (e.g. the Mapping_Q() class), the number of shape functions may also be different.
Definition at line 424 of file mapping_fe_field.h.
ComponentMask MappingFEField< dim, spacedim, VectorType >::InternalData::mask |
Stores the mask given at construction time. If no mask was specified at construction time, then a default one is used, which makes this class works in the same way of MappingQEulerian(), i.e., the first spacedim components of the FiniteElement are used for the euler_vector and the euler_dh.
If a mask is specified, then it has to match the underlying FiniteElement, and it has to have exactly spacedim non-zero elements, indicating the components (in order) of the FiniteElement which will be used for the euler vector and the euler dof handler.
Definition at line 438 of file mapping_fe_field.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 449 of file mapping_fe_field.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 458 of file mapping_fe_field.h.
|
mutable |
The determinant of the Jacobian in each quadrature point. Filled if update_volume_elements.
Definition at line 464 of file mapping_fe_field.h.
|
mutable |
Projected quadrature weights.
Definition at line 469 of file mapping_fe_field.h.
|
mutable |
Auxiliary vectors for internal use.
Definition at line 474 of file mapping_fe_field.h.
|
mutable |
Storage for the indices of the local degrees of freedom.
Definition at line 479 of file mapping_fe_field.h.
|
mutable |
Storage for local degrees of freedom.
Definition at line 484 of file mapping_fe_field.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.)