16 #ifndef dealii__mg_constrained_dofs_h 17 #define dealii__mg_constrained_dofs_h 19 #include <deal.II/base/config.h> 20 #include <deal.II/base/subscriptor.h> 22 #include <deal.II/multigrid/mg_tools.h> 27 DEAL_II_NAMESPACE_OPEN
29 template <
int dim,
int spacedim>
class DoFHandler;
30 template <
int dim,
typename Number>
struct FunctionMap;
43 typedef std::vector<std::set<types::global_dof_index> >::size_type size_dof;
54 template <
int dim,
int spacedim>
67 template <
int dim,
int spacedim>
82 template <
int dim,
int spacedim>
84 const std::set<types::boundary_id> &boundary_ids,
142 template <
int dim,
int spacedim>
154 for (
unsigned int l=0; l<nlevels; ++l)
161 template <
int dim,
int spacedim>
183 template <
int dim,
int spacedim>
187 const std::set<types::boundary_id> &boundary_ids,
267 DEAL_II_NAMESPACE_CLOSE
bool is_boundary_index(const unsigned int level, const types::global_dof_index index) const
#define AssertIndexRange(index, range)
std::vector< IndexSet > boundary_indices
const IndexSet & get_boundary_indices(const unsigned int level) const
unsigned int global_dof_index
#define Assert(cond, exc)
types::global_dof_index n_dofs() const
std::map< types::boundary_id, const Function< dim, Number > * > type
const IndexSet & get_refinement_edge_indices(unsigned int level) const
void make_zero_boundary_constraints(const DoFHandler< dim, spacedim > &dof, const std::set< types::boundary_id > &boundary_ids, const ComponentMask &component_mask=ComponentMask())
std::vector< IndexSet > refinement_edge_indices
bool at_refinement_edge(const unsigned int level, const types::global_dof_index index) const
const Triangulation< dim, spacedim > & get_triangulation() const
bool have_boundary_indices() const
static ::ExceptionBase & ExcInternalError()
void initialize(const DoFHandler< dim, spacedim > &dof)