![]() |
PRISMS-PF Manual
|
Class that manages the deal.II DoFHandlers. More...
#include <dof_manager.h>
Public Member Functions | |
| DoFManager (const std::vector< FieldAttributes > &field_attributes) | |
| Constructor. | |
| DoFManager (const std::vector< FieldAttributes > &field_attributes, const TriangulationManager< dim > &triangulation_handler) | |
| Constructor. | |
| void | init (const TriangulationManager< dim > &triangulation_handler) |
| Initialize the DoFHandlers. | |
| void | reinit (const TriangulationManager< dim > &triangulation_handler) |
| Reinitialize the DoFHandlers. | |
| std::vector< const dealii::DoFHandler< dim > * > | get_field_dof_handlers (const std::set< unsigned int > &field_indices, unsigned int relative_level=0) const |
| Getter function for the DoFHandlers (constant reference). | |
| 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 () const |
| Getter function for the scalar and vector DoFHandlers. | |
| 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 > * > > | dof_handlers |
| Collection of the triangulation DoFs. The number of DoFHandlers should be equal to or less than the number of fields. Technically, there's a small optimization we can use when multiple fields have the same constraints and quadrature rule, allowing us to share the same DoFHandler. An example of this might be grain growth. Outer vector is indexed by field index. Inner vector is indexed by relative mg level. | |
| std::vector< std::array< dealii::DoFHandler< dim >, 2 > > | level_dof_handlers |
| A scalar and a vector dof handler for each level. | |
Class that manages the deal.II DoFHandlers.
|
explicit |
Constructor.
| DoFManager< dim, degree >::DoFManager | ( | const std::vector< FieldAttributes > & | field_attributes, |
| const TriangulationManager< dim > & | triangulation_handler | ||
| ) |
Constructor.
|
inline |
Getter function for a specific scalar or vector DoFHandler.
|
inline |
Getter function for the scalar and vector DoFHandlers.
|
inline |
Getter function for the DoFHandler (reference).
| std::vector< const dealii::DoFHandler< dim > * > DoFManager< dim, degree >::get_field_dof_handlers | ( | const std::set< unsigned int > & | field_indices, |
| unsigned int | relative_level = 0 |
||
| ) | const |
Getter function for the DoFHandlers (constant reference).
|
inline |
Get the total DoFs excluding multigrid DoFs.
| void DoFManager< dim, degree >::init | ( | const TriangulationManager< dim > & | triangulation_handler | ) |
Initialize the DoFHandlers.
| void DoFManager< dim, degree >::reinit | ( | const TriangulationManager< dim > & | triangulation_handler | ) |
Reinitialize the DoFHandlers.
|
private |
Collection of the triangulation DoFs. The number of DoFHandlers should be equal to or less than the number of fields. Technically, there's a small optimization we can use when multiple fields have the same constraints and quadrature rule, allowing us to share the same DoFHandler. An example of this might be grain growth. Outer vector is indexed by field index. Inner vector is indexed by relative mg level.
|
private |
A scalar and a vector dof handler for each level.