PRISMS-PF Manual
Loading...
Searching...
No Matches
DoFManager< dim, degree > Class Template Reference

Class that manages the deal.II DoFHandlers. More...

#include <dof_manager.h>

Public Member Functions

 DoFManager ()=default
 Constructor.
 
 DoFManager (const std::vector< FieldAttributes > &field_attributes, const TriangulationManager< dim > &triangulation_manager)
 Constructor. calls reinit.
 
 DoFManager (const DoFManager &)=delete
 Disable copying.
 
 DoFManager (const DoFManager &&)=delete
 
DoFManager operator= (const DoFManager &)=delete
 
DoFManageroperator= (DoFManager &&other)=delete
 
 ~DoFManager ()=default
 Destructor.
 
void init (unsigned int num_levels)
 Resize the DoFHandlers set.
 
void reinit (const TriangulationManager< dim > &triangulation_manager)
 Reinitialize the DoFHandlers.
 
void reinit_mapping (const std::vector< FieldAttributes > &field_attributes)
 Reinitialize the DoFHandlers.
 
const std::vector< std::vector< const dealii::DoFHandler< dim > * > > & get_field_dof_handlers_levels () const
 Getter function for all the DoFHandlers.
 
const std::vector< const dealii::DoFHandler< dim > * > & get_field_dof_handlers (unsigned int relative_level=0) const
 Getter function for all the DoFHandlers on a level.
 
const dealii::DoFHandler< dim > & get_field_dof_handler (Types::Index field_index, unsigned int relative_level=0) const
 Getter function for the DoFHandler (reference).
 
const std::vector< std::array< dealii::DoFHandler< dim >, 2 > > & get_dof_handlers_levels () const
 Getter function for the scalar and vector DoFHandlers.
 
const std::array< dealii::DoFHandler< dim >, 2 > & get_dof_handlers (unsigned int relative_level=0) const
 Getter function for the scalar and vector DoFHandlers on a level.
 
const dealii::DoFHandler< dim > & get_dof_handler (const unsigned int &rank, unsigned int relative_level=0) const
 Getter function for a specific scalar or vector DoFHandler.
 
dealii::types::global_dof_index get_total_dofs () const
 Get the total DoFs excluding multigrid DoFs.
 

Private Attributes

std::vector< std::vector< const dealii::DoFHandler< dim > * > > field_dof_handlers
 Pointers to the dof handlers for each field on every mg level. Outer vector is indexed by relative mg level. Inner vector is indexed by field index.
 
std::vector< std::array< dealii::DoFHandler< dim >, 2 > > level_dof_handlers
 A scalar and a vector dof handler for each level.
 

Detailed Description

template<unsigned int dim, unsigned int degree>
class DoFManager< dim, degree >

Class that manages the deal.II DoFHandlers.

Constructor & Destructor Documentation

◆ DoFManager() [1/4]

template<unsigned int dim, unsigned int degree>
DoFManager< dim, degree >::DoFManager ( )
default

Constructor.

◆ DoFManager() [2/4]

template<unsigned int dim, unsigned int degree>
PRISMS_PF_BEGIN_NAMESPACE DoFManager< dim, degree >::DoFManager ( const std::vector< FieldAttributes > & field_attributes,
const TriangulationManager< dim > & triangulation_manager )

Constructor. calls reinit.

◆ DoFManager() [3/4]

template<unsigned int dim, unsigned int degree>
DoFManager< dim, degree >::DoFManager ( const DoFManager< dim, degree > & )
delete

Disable copying.

◆ DoFManager() [4/4]

template<unsigned int dim, unsigned int degree>
DoFManager< dim, degree >::DoFManager ( const DoFManager< dim, degree > && )
delete

◆ ~DoFManager()

template<unsigned int dim, unsigned int degree>
DoFManager< dim, degree >::~DoFManager ( )
default

Destructor.

Member Function Documentation

◆ get_dof_handler()

template<unsigned int dim, unsigned int degree>
const dealii::DoFHandler< dim > & DoFManager< dim, degree >::get_dof_handler ( const unsigned int & rank,
unsigned int relative_level = 0 ) const
nodiscard

Getter function for a specific scalar or vector DoFHandler.

◆ get_dof_handlers()

template<unsigned int dim, unsigned int degree>
const std::array< dealii::DoFHandler< dim >, 2 > & DoFManager< dim, degree >::get_dof_handlers ( unsigned int relative_level = 0) const
nodiscard

Getter function for the scalar and vector DoFHandlers on a level.

◆ get_dof_handlers_levels()

template<unsigned int dim, unsigned int degree>
const std::vector< std::array< dealii::DoFHandler< dim >, 2 > > & DoFManager< dim, degree >::get_dof_handlers_levels ( ) const
nodiscard

Getter function for the scalar and vector DoFHandlers.

◆ get_field_dof_handler()

template<unsigned int dim, unsigned int degree>
const dealii::DoFHandler< dim > & DoFManager< dim, degree >::get_field_dof_handler ( Types::Index field_index,
unsigned int relative_level = 0 ) const
nodiscard

Getter function for the DoFHandler (reference).

Precondition
reinit_mapping() must have been called.

◆ get_field_dof_handlers()

template<unsigned int dim, unsigned int degree>
const std::vector< const dealii::DoFHandler< dim > * > & DoFManager< dim, degree >::get_field_dof_handlers ( unsigned int relative_level = 0) const
nodiscard

Getter function for all the DoFHandlers on a level.

Precondition
reinit_mapping() must have been called.

◆ get_field_dof_handlers_levels()

template<unsigned int dim, unsigned int degree>
const std::vector< std::vector< const dealii::DoFHandler< dim > * > > & DoFManager< dim, degree >::get_field_dof_handlers_levels ( ) const
nodiscard

Getter function for all the DoFHandlers.

Precondition
reinit_mapping() must have been called.

◆ get_total_dofs()

template<unsigned int dim, unsigned int degree>
dealii::types::global_dof_index DoFManager< dim, degree >::get_total_dofs ( ) const
nodiscard

Get the total DoFs excluding multigrid DoFs.

Precondition
reinit_mapping() must have been called.

◆ init()

template<unsigned int dim, unsigned int degree>
void DoFManager< dim, degree >::init ( unsigned int num_levels)

Resize the DoFHandlers set.

Note
May invalidate existing DoFHandler pointers.

◆ operator=() [1/2]

template<unsigned int dim, unsigned int degree>
DoFManager DoFManager< dim, degree >::operator= ( const DoFManager< dim, degree > & )
delete

◆ operator=() [2/2]

template<unsigned int dim, unsigned int degree>
DoFManager & DoFManager< dim, degree >::operator= ( DoFManager< dim, degree > && other)
delete

◆ reinit()

template<unsigned int dim, unsigned int degree>
void DoFManager< dim, degree >::reinit ( const TriangulationManager< dim > & triangulation_manager)

Reinitialize the DoFHandlers.

Precondition
init() must have been called with the correct number of levels.
Note
May invalidate existing DoFHandler pointers if number of levels changes.

◆ reinit_mapping()

template<unsigned int dim, unsigned int degree>
void DoFManager< dim, degree >::reinit_mapping ( const std::vector< FieldAttributes > & field_attributes)

Reinitialize the DoFHandlers.

Precondition
reinit() must have been called.

Member Data Documentation

◆ field_dof_handlers

template<unsigned int dim, unsigned int degree>
std::vector<std::vector<const dealii::DoFHandler<dim> *> > DoFManager< dim, degree >::field_dof_handlers
private

Pointers to the dof handlers for each field on every mg level. Outer vector is indexed by relative mg level. Inner vector is indexed by field index.

◆ level_dof_handlers

template<unsigned int dim, unsigned int degree>
std::vector<std::array<dealii::DoFHandler<dim>, 2> > DoFManager< dim, degree >::level_dof_handlers
private

A scalar and a vector dof handler for each level.


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