OpenFCST: The open-source Fuel Cell Simulation Toolbox
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Public Member Functions | Public Attributes | Private Member Functions | Private Attributes | List of all members
MeshWorker::InfoObjects::DoFInfo< dim, spacedim > Class Template Reference

Very basic info class only containing information on geometry and degrees of freedom of a mesh entity. More...

#include <mesh_worker_info.h>

Collaboration diagram for MeshWorker::InfoObjects::DoFInfo< dim, spacedim >:
Collaboration graph
[legend]

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 BlockInfoblock_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.
 

Detailed Description

template<int dim, int spacedim = dim>
class MeshWorker::InfoObjects::DoFInfo< dim, spacedim >

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.

Author
Guido Kanschat, 2009
Valentin N. Zingan, 2012

Constructor & Destructor Documentation

template<int dim, int spacedim>
MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::DoFInfo ( const BlockInfo block_info)
inline

Constructor.

template<int dim, int spacedim>
MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::DoFInfo ( const FEVectors ,
const BlockInfo block_info 
)
inline
Deprecated:
Constructor with ignored first argument.

Member Function Documentation

template<int dim, int spacedim>
void MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::get_indices ( const typename DoFHandler< dim, spacedim >::cell_iterator  c)
inlineprivate

Fill index vector.

Referenced by MeshWorker::InfoObjects::DoFInfo< dim >::reinit().

Here is the caller graph for this function:

template<int dim, int spacedim>
void MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::get_indices ( const typename MGDoFHandler< dim, spacedim >::cell_iterator  c)
inlineprivate

Fill index vector with this level indices.

template<int dim, int spacedim = dim>
template<typename DHCellIterator >
void MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::reinit ( const DHCellIterator &  c)
inline

Set the current cell and fill indices.

Referenced by MeshWorker::InfoObjects::IntegrationInfo< dim, FEVALUESBASE >::reinit().

Here is the caller graph for this function:

template<int dim, int spacedim = dim>
template<typename DHCellIterator , typename DHFaceIterator >
void MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::reinit ( const DHCellIterator &  c,
const DHFaceIterator &  f,
const unsigned int  n 
)
inline

Set the current cell and face and fill indices if the cell changed.

template<int dim, int spacedim = dim>
template<typename DHCellIterator , typename DHFaceIterator >
void MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::reinit ( const DHCellIterator &  c,
const DHFaceIterator &  f,
const unsigned int  n,
const unsigned int  s 
)
inline

Set the current cell, face, and subface and fill indices if the cell changed.

Member Data Documentation

template<int dim, int spacedim = dim>
SmartPointer<const BlockInfo> MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::block_info

The block structure of the problem at hand.

template<int dim, int spacedim = dim>
Triangulation<dim>::cell_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::cell
template<int dim, int spacedim = dim>
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().

template<int dim, int spacedim = dim>
DoFHandler<dim>::cell_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::dof_cell
template<int dim, int spacedim = dim>
DoFHandler<dim>::face_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::dof_face
template<int dim, int spacedim = dim>
Triangulation<dim>::face_iterator MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::face
template<int dim, int spacedim = dim>
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().

template<int dim, int spacedim = dim>
std::vector<unsigned int> MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::indices
template<int dim, int spacedim = dim>
std::vector<unsigned int> MeshWorker::InfoObjects::DoFInfo< dim, spacedim >::indices_org
private

Auxiliary vector.

template<int dim, int spacedim = dim>
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().


The documentation for this class was generated from the following file: