
Public Member Functions | |
| template<int dim, int spacedim> | |
| void | initialize (const MGDoFHandler< dim, spacedim > &dof) |
| template<int dim, int spacedim> | |
| void | initialize (const MGDoFHandler< dim, spacedim > &dof, const typename FunctionMap< dim >::type &function_map, const std::vector< bool > &component_mask=std::vector< bool >()) |
| void | clear () |
| bool | is_boundary_index (const unsigned int level, const unsigned int index) const |
| bool | non_refinement_edge_index (const unsigned int level, const unsigned int index) const |
| bool | at_refinement_edge (const unsigned int level, const unsigned int index) const |
| bool | at_refinement_edge_boundary (const unsigned int level, const unsigned int index) const |
| const std::vector< std::set < unsigned int > > & | get_boundary_indices () const |
| const std::vector< std::set < unsigned int > > & | get_non_refinement_edge_indices () const |
| const std::vector< std::vector < bool > > & | get_refinement_edge_indices () const |
| const std::vector< std::vector < bool > > & | get_refinement_edge_boundary_indices () const |
| bool | set_boundary_values () const |
| bool | continuity_across_refinement_edges () const |
Private Attributes | |
| std::vector< std::set < unsigned int > > | boundary_indices |
| std::vector< std::set < unsigned int > > | non_refinement_edge_indices |
| std::vector< std::vector< bool > > | refinement_edge_indices |
| std::vector< std::vector< bool > > | refinement_edge_boundary_indices |
Collection of boundary constraints and refinement edge constraints for level vectors.
Definition at line 35 of file mg_constrained_dofs.h.
| void MGConstrainedDoFs::initialize | ( | const MGDoFHandler< dim, spacedim > & | dof | ) | [inline] |
Fill the internal data structures with values extracted from the dof handler.
This function leaves boundary_indices empty, since no boundary values are provided.
Definition at line 188 of file mg_constrained_dofs.h.
References MGTools::extract_inner_interface_dofs(), DoFHandler< dim, spacedim >::get_tria(), MGDoFHandler< dim, spacedim >::n_dofs(), non_refinement_edge_indices, refinement_edge_boundary_indices, and refinement_edge_indices.
| void MGConstrainedDoFs::initialize | ( | const MGDoFHandler< dim, spacedim > & | dof, |
| const typename FunctionMap< dim >::type & | function_map, | ||
| const std::vector< bool > & | component_mask = std::vector<bool>() |
||
| ) | [inline] |
Fill the internal data structures with values extracted from the dof handler, applying the boundary values provided.
Definition at line 209 of file mg_constrained_dofs.h.
References boundary_indices, MGTools::extract_inner_interface_dofs(), DoFHandler< dim, spacedim >::get_tria(), MGTools::make_boundary_list(), MGDoFHandler< dim, spacedim >::n_dofs(), non_refinement_edge_indices, refinement_edge_boundary_indices, and refinement_edge_indices.
| void MGConstrainedDoFs::clear | ( | ) | [inline] |
Reset the data structures.
Definition at line 236 of file mg_constrained_dofs.h.
References boundary_indices, non_refinement_edge_indices, refinement_edge_boundary_indices, and refinement_edge_indices.
| bool MGConstrainedDoFs::is_boundary_index | ( | const unsigned int | level, |
| const unsigned int | index | ||
| ) | const [inline] |
Determine whether a dof index is subject to a boundary constraint.
Definition at line 254 of file mg_constrained_dofs.h.
References AssertIndexRange, and boundary_indices.
| bool MGConstrainedDoFs::non_refinement_edge_index | ( | const unsigned int | level, |
| const unsigned int | index | ||
| ) | const [inline] |
Determine whether a dof index is at an edge that is not a refinement edge.
Definition at line 266 of file mg_constrained_dofs.h.
References AssertIndexRange, and non_refinement_edge_indices.
| bool MGConstrainedDoFs::at_refinement_edge | ( | const unsigned int | level, |
| const unsigned int | index | ||
| ) | const [inline] |
Determine whether a dof index is at the refinement edge.
Definition at line 279 of file mg_constrained_dofs.h.
References AssertIndexRange, and refinement_edge_indices.
| bool MGConstrainedDoFs::at_refinement_edge_boundary | ( | const unsigned int | level, |
| const unsigned int | index | ||
| ) | const [inline] |
Determine whether a dof index is at the refinement edge and subject to a boundary constraint .
Definition at line 291 of file mg_constrained_dofs.h.
References AssertIndexRange, and refinement_edge_boundary_indices.
| const std::vector< std::set< unsigned int > > & MGConstrainedDoFs::get_boundary_indices | ( | ) | const [inline] |
Return the indices of dofs for each level that lie on the boundary of the domain.
Definition at line 302 of file mg_constrained_dofs.h.
References boundary_indices.
| const std::vector< std::set< unsigned int > > & MGConstrainedDoFs::get_non_refinement_edge_indices | ( | ) | const [inline] |
Return the indices of dofs for each level that lie on the boundary of the domain.
Definition at line 309 of file mg_constrained_dofs.h.
References non_refinement_edge_indices.
| const std::vector< std::vector< bool > > & MGConstrainedDoFs::get_refinement_edge_indices | ( | ) | const [inline] |
Return the indices of dofs for each level that lie on the refinement edge (i.e. are on faces between cells of this level and cells on the level below).
Definition at line 316 of file mg_constrained_dofs.h.
References refinement_edge_indices.
| const std::vector< std::vector< bool > > & MGConstrainedDoFs::get_refinement_edge_boundary_indices | ( | ) | const [inline] |
Return the indices of dofs for each level that are in the intersection of the sets returned by get_boundary_indices() and get_refinement_edge_indices().
Definition at line 323 of file mg_constrained_dofs.h.
References refinement_edge_boundary_indices.
| bool MGConstrainedDoFs::set_boundary_values | ( | ) | const [inline] |
Return if boundary_indices need to be set or not.
Definition at line 330 of file mg_constrained_dofs.h.
References boundary_indices.
| bool MGConstrainedDoFs::continuity_across_refinement_edges | ( | ) | const [inline] |
Return if the finite element requires continuity across refinement edges.
Definition at line 339 of file mg_constrained_dofs.h.
References refinement_edge_indices.
std::vector<std::set<unsigned int> > MGConstrainedDoFs::boundary_indices [private] |
The indices of boundary dofs for each level.
Definition at line 155 of file mg_constrained_dofs.h.
Referenced by clear(), get_boundary_indices(), initialize(), is_boundary_index(), and set_boundary_values().
std::vector<std::set<unsigned int> > MGConstrainedDoFs::non_refinement_edge_indices [private] |
The degrees of freedom on egdges that are not a refinement edge between a level and coarser cells.
Definition at line 163 of file mg_constrained_dofs.h.
Referenced by clear(), get_non_refinement_edge_indices(), initialize(), and non_refinement_edge_index().
std::vector<std::vector<bool> > MGConstrainedDoFs::refinement_edge_indices [private] |
The degrees of freedom on the refinement edge between a level and coarser cells.
Definition at line 170 of file mg_constrained_dofs.h.
Referenced by at_refinement_edge(), clear(), continuity_across_refinement_edges(), get_refinement_edge_indices(), and initialize().
std::vector<std::vector<bool> > MGConstrainedDoFs::refinement_edge_boundary_indices [private] |
The degrees of freedom on the refinement edge between a level and coarser cells, which are also on the boundary.
This is a subset of refinement_edge_indices.
Definition at line 181 of file mg_constrained_dofs.h.
Referenced by at_refinement_edge_boundary(), clear(), get_refinement_edge_boundary_indices(), and initialize().
documentation generated on Thu May 17 2012 20:05:31 by
doxygen
1.7.3