Reference documentation for deal.II version 9.0.0
|
#include <deal.II/matrix_free/mapping_info.h>
Public Member Functions | |
MappingInfo () | |
void | initialize (const ::Triangulation< dim > &tria, const std::vector< std::pair< unsigned int, unsigned int > > &cells, const FaceInfo< VectorizedArray< Number >::n_array_elements > &faces, const std::vector< unsigned int > &active_fe_index, const Mapping< dim > &mapping, const std::vector<::hp::QCollection< 1 > > &quad, const UpdateFlags update_flags_cells, const UpdateFlags update_flags_boundary_faces, const UpdateFlags update_flags_inner_faces, const UpdateFlags update_flags_faces_by_cells) |
GeometryType | get_cell_type (const unsigned int cell_chunk_no) const |
void | clear () |
std::size_t | memory_consumption () const |
template<typename StreamType > | |
void | print_memory_consumption (StreamType &out, const TaskInfo &task_info) const |
void | initialize_cells (const ::Triangulation< dim > &tria, const std::vector< std::pair< unsigned int, unsigned int > > &cells, const std::vector< unsigned int > &active_fe_index, const Mapping< dim > &mapping, const std::vector<::hp::QCollection< 1 > > &quad, const UpdateFlags update_flags_cells) |
void | initialize_faces (const ::Triangulation< dim > &tria, const std::vector< std::pair< unsigned int, unsigned int > > &cells, const std::vector< FaceToCellTopology< VectorizedArray< Number >::n_array_elements > > &faces, const Mapping< dim > &mapping, const std::vector<::hp::QCollection< 1 > > &quad, const UpdateFlags update_flags_boundary_faces, const UpdateFlags update_flags_inner_faces) |
void | initialize_faces_by_cells (const ::Triangulation< dim > &tria, const std::vector< std::pair< unsigned int, unsigned int > > &cells, const Mapping< dim > &mapping, const std::vector<::hp::QCollection< 1 > > &quad, const UpdateFlags update_flags_faces_by_cells) |
Static Public Member Functions | |
static UpdateFlags | compute_update_flags (const UpdateFlags update_flags, const std::vector<::hp::QCollection< 1 > > &quad=std::vector<::hp::QCollection< 1 > >()) |
Public Attributes | |
std::vector< GeometryType > | cell_type |
std::vector< GeometryType > | face_type |
std::vector< MappingInfoStorage< dim, dim, Number > > | cell_data |
std::vector< MappingInfoStorage< dim-1, dim, Number > > | face_data |
std::vector< MappingInfoStorage< dim-1, dim, Number > > | face_data_by_cells |
The class that stores all geometry-dependent data related with cell interiors for use in the matrix-free class.
Definition at line 282 of file mapping_info.h.
internal::MatrixFreeFunctions::MappingInfo< dim, Number >::MappingInfo | ( | ) |
Empty constructor.
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::initialize | ( | const ::Triangulation< dim > & | tria, |
const std::vector< std::pair< unsigned int, unsigned int > > & | cells, | ||
const FaceInfo< VectorizedArray< Number >::n_array_elements > & | faces, | ||
const std::vector< unsigned int > & | active_fe_index, | ||
const Mapping< dim > & | mapping, | ||
const std::vector<::hp::QCollection< 1 > > & | quad, | ||
const UpdateFlags | update_flags_cells, | ||
const UpdateFlags | update_flags_boundary_faces, | ||
const UpdateFlags | update_flags_inner_faces, | ||
const UpdateFlags | update_flags_faces_by_cells | ||
) |
Compute the information in the given cells and faces. The cells are specified by the level and the index within the level (as given by CellIterator::level() and CellIterator::index(), in order to allow for different kinds of iterators, e.g. standard DoFHandler, multigrid, etc.) on a fixed Triangulation. In addition, a mapping and several quadrature formulas are given.
|
inline |
Return the type of a given cell as detected during initialization.
Definition at line 498 of file mapping_info.h.
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::clear | ( | ) |
Clear all data fields in this class.
std::size_t internal::MatrixFreeFunctions::MappingInfo< dim, Number >::memory_consumption | ( | ) | const |
Return the memory consumption of this class in bytes.
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::print_memory_consumption | ( | StreamType & | out, |
const TaskInfo & | task_info | ||
) | const |
Prints a detailed summary of memory consumption in the different structures of this class to the given output stream.
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::initialize_cells | ( | const ::Triangulation< dim > & | tria, |
const std::vector< std::pair< unsigned int, unsigned int > > & | cells, | ||
const std::vector< unsigned int > & | active_fe_index, | ||
const Mapping< dim > & | mapping, | ||
const std::vector<::hp::QCollection< 1 > > & | quad, | ||
const UpdateFlags | update_flags_cells | ||
) |
Computes the information in the given cells, called within initialize.
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::initialize_faces | ( | const ::Triangulation< dim > & | tria, |
const std::vector< std::pair< unsigned int, unsigned int > > & | cells, | ||
const std::vector< FaceToCellTopology< VectorizedArray< Number >::n_array_elements > > & | faces, | ||
const Mapping< dim > & | mapping, | ||
const std::vector<::hp::QCollection< 1 > > & | quad, | ||
const UpdateFlags | update_flags_boundary_faces, | ||
const UpdateFlags | update_flags_inner_faces | ||
) |
Computes the information in the given faces, called within initialize.
void internal::MatrixFreeFunctions::MappingInfo< dim, Number >::initialize_faces_by_cells | ( | const ::Triangulation< dim > & | tria, |
const std::vector< std::pair< unsigned int, unsigned int > > & | cells, | ||
const Mapping< dim > & | mapping, | ||
const std::vector<::hp::QCollection< 1 > > & | quad, | ||
const UpdateFlags | update_flags_faces_by_cells | ||
) |
Computes the information in the given faces, called within initialize.
|
static |
Helper function to determine which update flags must be set in the internal functions to initialize all data as requested by the user.
std::vector<GeometryType> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::cell_type |
Stores whether a cell is Cartesian (cell type 0), has constant transform data (Jacobians) (cell type 1), or is general (cell type 3). Type 2 is only used for faces and no cells are assigned this value.
Definition at line 337 of file mapping_info.h.
std::vector<GeometryType> internal::MatrixFreeFunctions::MappingInfo< dim, Number >::face_type |
Stores whether a face (and both cells adjacent to the face) is Cartesian (face type 0), whether it represents an affine situation (face type 1), whether it is a flat face where the normal vector is the same throughout the face (face type 2), or is general (face type 3).
Definition at line 346 of file mapping_info.h.
std::vector<MappingInfoStorage<dim,dim,Number> > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::cell_data |
The data cache for the cells.
Definition at line 351 of file mapping_info.h.
std::vector<MappingInfoStorage<dim-1,dim,Number> > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::face_data |
The data cache for the faces.
Definition at line 356 of file mapping_info.h.
std::vector<MappingInfoStorage<dim-1,dim,Number> > internal::MatrixFreeFunctions::MappingInfo< dim, Number >::face_data_by_cells |
The data cache for the face-associated-with-cell topology, following the cell_type
variable for the cell types.
Definition at line 362 of file mapping_info.h.