deal.II version GIT relicensing-2250-g88cb8ba3cb 2024-12-13 12:20:00+00:00
|
#include <deal.II/matrix_free/mapping_data_on_the_fly.h>
Public Member Functions | |
MappingDataOnTheFly ()=default | |
MappingDataOnTheFly (const Mapping< dim > &mapping, const Quadrature< 1 > &quadrature, const UpdateFlags update_flags) | |
MappingDataOnTheFly (const Quadrature< 1 > &quadrature, const UpdateFlags update_flags) | |
void | reinit (typename ::Triangulation< dim >::cell_iterator cell) |
bool | is_initialized () const |
typename::Triangulation< dim >::cell_iterator | get_cell () const |
const ::FEValues< dim > & | get_fe_values () const |
const MappingInfoStorage< dim, dim, Number > & | get_data_storage () const |
MappingInfoStorage< dim, dim, Number > & | get_data_storage () |
const Quadrature< 1 > & | get_quadrature () const |
Private Attributes | |
typename::Triangulation< dim >::cell_iterator | present_cell |
std::unique_ptr< FE_Nothing< dim > > | fe_dummy |
std::unique_ptr<::FEValues< dim > > | fe_values |
const Quadrature< 1 > | quadrature_1d |
MappingInfoStorage< dim, dim, Number > | mapping_info_storage |
This class provides evaluated mapping information using standard deal.II information in a form that FEEvaluation and friends can use for vectorized access. Since no vectorization over cells is available with the DoFHandler/Triangulation cell iterators, the interface to FEEvaluation's vectorization model is to use VectorizedArray::size() copies of the same element. This interface is thus primarily useful for evaluating several operators on the same cell, e.g., when assembling cell matrices.
As opposed to the Mapping classes in deal.II, this class does not actually provide a boundary description that can be used to evaluate the geometry, but it rather provides the evaluated geometry from a given deal.II mapping (as passed to the constructor of this class) in a form accessible to FEEvaluation.
Definition at line 59 of file mapping_data_on_the_fly.h.
|
default |
Default constructor.
|
inline |
Constructor, similar to FEValues. Since this class only evaluates the geometry, no finite element has to be specified and the simplest element, FE_Nothing, is used internally for the underlying FEValues object.
Definition at line 172 of file mapping_data_on_the_fly.h.
|
inline |
Constructor. This constructor is equivalent to the other one except that it makes the object use a \(Q_1\) mapping (i.e., an object of type MappingQ(1)) implicitly.
Definition at line 210 of file mapping_data_on_the_fly.h.
|
inline |
Initialize with the given cell iterator.
Definition at line 222 of file mapping_data_on_the_fly.h.
|
inline |
Return whether reinit() has been called at least once, i.e., a cell has been set.
Definition at line 261 of file mapping_data_on_the_fly.h.
|
inline |
Return a triangulation iterator to the current cell.
Definition at line 271 of file mapping_data_on_the_fly.h.
|
inline |
Return a reference to the underlying FEValues object that evaluates certain quantities (only mapping-related ones like Jacobians or mapped quadrature points are accessible, as no finite element data is actually used).
Definition at line 280 of file mapping_data_on_the_fly.h.
|
inline |
Return a reference to the underlying storage field of type MappingInfoStorage of the same format as the data fields in MappingInfo. This ensures compatibility with the precomputed data fields in the MappingInfo class.
Definition at line 289 of file mapping_data_on_the_fly.h.
|
inline |
Return a non-const reference to the underlying storage field of type MappingInfoStorage of the same format as the data fields in MappingInfo. This function can be used to manually fill the data if the default constructor has been called and reinit() was not called for a given cell.
Definition at line 298 of file mapping_data_on_the_fly.h.
|
inline |
Return a reference to 1d quadrature underlying this object.
Definition at line 307 of file mapping_data_on_the_fly.h.
|
private |
A cell iterator in case we generate the data on the fly to be able to check if we need to re-generate the information stored in this class.
Definition at line 143 of file mapping_data_on_the_fly.h.
|
private |
Dummy finite element object necessary for initializing the FEValues object.
Definition at line 149 of file mapping_data_on_the_fly.h.
|
private |
An underlying FEValues object that performs the (scalar) evaluation.
Definition at line 154 of file mapping_data_on_the_fly.h.
|
private |
Get 1d quadrature formula to be used for reinitializing shape info.
Definition at line 159 of file mapping_data_on_the_fly.h.
|
private |
The storage part created for a single cell and held in analogy to MappingInfo.
Definition at line 165 of file mapping_data_on_the_fly.h.