17 #ifndef __deal2__mg_constraints_h 18 #define __deal2__mg_constraints_h 20 #include <deal.II/base/config.h> 21 #include <deal.II/base/subscriptor.h> 23 #include <deal.II/multigrid/mg_tools.h> 30 template <
int dim,
int spacedim>
class DoFHandler;
44 typedef std::vector<std::set<types::global_dof_index> >
::size_type size_dof;
56 template <
int dim,
int spacedim>
66 template <
int dim,
int spacedim>
110 const std::vector<std::set<types::global_dof_index> > &
118 const std::vector<std::set<types::global_dof_index> > &
127 const std::vector<std::vector<bool> > &
136 const std::vector<std::vector<bool> > &
179 template <
int dim,
int spacedim>
184 const unsigned int nlevels = dof.
get_tria().n_global_levels();
188 for (
unsigned int l=0; l<nlevels; ++l)
200 template <
int dim,
int spacedim>
208 const unsigned int nlevels = dof.
get_tria().n_global_levels();
214 for (
unsigned int l=0; l<nlevels; ++l)
295 const std::vector<std::set<types::global_dof_index> > &
302 const std::vector<std::set<types::global_dof_index> > &
309 const std::vector<std::vector<bool> > &
316 const std::vector<std::vector<bool> > &
326 const bool boundary_values_need_to_be_set
328 return boundary_values_need_to_be_set;
335 bool is_continuous =
false;
340 is_continuous =
true;
341 return is_continuous;
343 return is_continuous;
346 DEAL_II_NAMESPACE_CLOSE
bool is_boundary_index(const unsigned int level, const types::global_dof_index index) const
bool at_refinement_edge(const unsigned int level, const types::global_dof_index index) const
std::vector< std::vector< bool > > refinement_edge_indices
std::map< types::boundary_id, const Function< dim > * > type
#define AssertIndexRange(index, range)
const std::vector< std::set< types::global_dof_index > > & get_non_refinement_edge_indices() const
const std::vector< std::vector< bool > > & get_refinement_edge_boundary_indices() const
unsigned int global_dof_index
types::global_dof_index n_dofs() const
const std::vector< std::set< types::global_dof_index > > & get_boundary_indices() const
std::vector< std::set< types::global_dof_index > > non_refinement_edge_indices
bool non_refinement_edge_index(const unsigned int level, const types::global_dof_index index) const
std::vector< std::set< types::global_dof_index > > boundary_indices
std::vector< std::vector< bool > > refinement_edge_boundary_indices
bool continuity_across_refinement_edges() const
const Triangulation< dim, spacedim > & get_tria() const
bool set_boundary_values() const
const std::vector< std::vector< bool > > & get_refinement_edge_indices() const
bool at_refinement_edge_boundary(const unsigned int level, const types::global_dof_index index) const
void initialize(const DoFHandler< dim, spacedim > &dof)