OpenFCST: The open-source Fuel Cell Simulation Toolbox
|
Very basic info class only containing information on geometry and degrees of freedom of a mesh entity. More...
#include <mesh_worker_info.h>
Public Member Functions | |
DoFInfo (const BlockInfo &block_info) | |
Constructor. | |
DoFInfo (const FEVectors &, const BlockInfo &block_info) | |
template<typename DHCellIterator > | |
void | reinit (const DHCellIterator &c) |
Set the current cell and fill indices. | |
template<typename DHCellIterator , typename DHFaceIterator > | |
void | reinit (const DHCellIterator &c, const DHFaceIterator &f, const unsigned int n) |
Set the current cell and face and fill indices if the cell changed. | |
template<typename DHCellIterator , typename DHFaceIterator > | |
void | reinit (const DHCellIterator &c, const DHFaceIterator &f, const unsigned int n, const unsigned int s) |
Set the current cell, face, and subface and fill indices if the cell changed. | |
Public Attributes | |
DoFHandler< dim >::cell_iterator | dof_cell |
The current DoFHandler<dim> cell. | |
DoFHandler< dim > ::active_cell_iterator | dof_active_cell |
The current DoFHandler<dim> active cell. | |
DoFHandler< dim >::face_iterator | dof_face |
The current DoFHandler<dim> face. | |
Triangulation< dim >::cell_iterator | cell |
The current Triangulation<dim> cell. | |
Triangulation< dim >::face_iterator | face |
The current Triangulation<dim> face. | |
unsigned int | face_number |
The number of the current face on the current cell. | |
unsigned int | sub_number |
The number of the current subface on the current face of the current cell. | |
std::vector< unsigned int > | indices |
The local DoF indices associated with the current mesh entity. | |
SmartPointer< const BlockInfo > | block_info |
The block structure of the problem at hand. | |
Private Member Functions | |
void | get_indices (const typename DoFHandler< dim, spacedim >::cell_iterator c) |
Fill index vector. | |
void | get_indices (const typename MGDoFHandler< dim, spacedim >::cell_iterator c) |
Fill index vector with this level indices. | |
Private Attributes | |
std::vector< unsigned int > | indices_org |
Auxiliary vector. | |
Very basic info class only containing information on geometry and degrees of freedom of a mesh entity.
The information in this class is usually used by one of the Assembler classes. This information is also needed in mesh based matrices (often referred to as matrix free methods).
This class operates in two different modes, corresponding to the data models discussed in the Assembler namespace documentation.
The choice of the local data model is triggered by the vector #BlockInfo::local_renumbering, which in turn is usually filled by #BlockInfo::initialize_local(). If this function has been called, or if this vector has been changed from zero-length, then local dof indices stored in this class will automatically be renumbered to reflect the local block structure.
The BlockInfo object is stored here as a pointer. Therefore, if the local block structure changes, for instance because of the mesh refinement, the DoFInfo class will automatically use this new structure.
|
inline |
Constructor.
|
inline |
|
inlineprivate |
Fill index vector.
Referenced by MeshWorker::InfoObjects::DoFInfo< dim >::reinit().
|
inlineprivate |
Fill index vector with this level indices.
|
inline |
Set the current cell and fill indices.
Referenced by MeshWorker::InfoObjects::IntegrationInfo< dim, FEVALUESBASE >::reinit().
|
inline |
|
inline |
SmartPointer<const BlockInfo> MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::block_info |
The block structure of the problem at hand.
Triangulation<dim>::cell_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::cell |
DoFHandler<dim>::active_cell_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::dof_active_cell |
The current DoFHandler<dim> active cell.
Referenced by MeshWorker::InfoObjects::DoFInfo< dim >::reinit().
DoFHandler<dim>::cell_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::dof_cell |
The current DoFHandler<dim> cell.
Referenced by MeshWorker::InfoObjects::DoFInfo< dim >::reinit().
DoFHandler<dim>::face_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::dof_face |
The current DoFHandler<dim> face.
Referenced by MeshWorker::InfoObjects::DoFInfo< dim >::reinit().
Triangulation<dim>::face_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::face |
The current Triangulation<dim> face.
Referenced by MeshWorker::Assembler::CellsAndFaces< number >::assemble(), and MeshWorker::InfoObjects::DoFInfo< dim >::reinit().
unsigned int MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::face_number |
The number of the current face on the current cell.
This number is deal_II_numbers::invalid_unsigned_int if the DoFInfo object is initialized with a cell only.
Referenced by MeshWorker::Assembler::CellsAndFaces< number >::assemble(), and MeshWorker::InfoObjects::DoFInfo< dim >::reinit().
std::vector<unsigned int> MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::indices |
The local DoF indices associated with the current mesh entity.
Referenced by MeshWorker::Assembler::ResidualLocalBlocksToGlobalBlocks< number >::assemble(), MeshWorker::Assembler::MatrixLocalBlocksToGlobalBlocks< MATRIX, number >::assemble(), and MeshWorker::Assembler::MGMatrixLocalBlocksToGlobalBlocks< MATRIX, number >::assemble().
|
private |
Auxiliary vector.
unsigned int MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::sub_number |
The number of the current subface on the current face of the current cell.
This number is deal_II_numbers::invalid_unsigned_int if the DoFInfo object is initialized with a cell and face only.
Referenced by MeshWorker::InfoObjects::DoFInfo< dim >::reinit().