22#ifndef INCLUDE_EXADG_OPERATORS_CONSTRAINTS_H_
23#define INCLUDE_EXADG_OPERATORS_CONSTRAINTS_H_
26#include <deal.II/dofs/dof_tools.h>
29#include <exadg/grid/grid_utilities.h>
37template<
int dim,
typename Number>
41 dealii::DoFHandler<dim>
const & dof_handler)
43 dealii::IndexSet locally_relevant_dofs;
44 dealii::DoFTools::extract_locally_relevant_dofs(dof_handler, locally_relevant_dofs);
45 affine_constraints.reinit(locally_relevant_dofs);
50 dealii::DoFTools::make_hanging_node_constraints(dof_handler, affine_constraints);
56 auto periodic_faces_dof =
60 dealii::DoFTools::make_periodicity_constraints<dim, dim, Number>(periodic_faces_dof,
69template<
typename Key,
typename Data>
75 set.insert(iter.first);
85 std::map<dealii::types::boundary_id, dealii::ComponentMask> & map_bid_to_mask,
86 std::set<dealii::types::boundary_id>
const & set_boundary_ids)
88 for(
auto const & it : set_boundary_ids)
91 if(map_bid_to_mask.find(it) == map_bid_to_mask.end())
92 map_bid_to_mask.insert({it, dealii::ComponentMask()});
102template<
int dim,
typename Number>
105 dealii::AffineConstraints<Number> & affine_constraints,
106 dealii::DoFHandler<dim>
const & dof_handler,
107 std::map<dealii::types::boundary_id, dealii::ComponentMask>
const &
108 map_boundary_id_to_component_mask)
110 for(
auto const & it : map_boundary_id_to_component_mask)
112 dealii::DoFTools::make_zero_boundary_constraints(dof_handler,
PeriodicFacePairs periodic_face_pairs
Definition grid.h:54
std::shared_ptr< dealii::Triangulation< dim > > triangulation
Definition grid.h:49
void add_hanging_node_and_periodicity_constraints(dealii::AffineConstraints< Number > &affine_constraints, Grid< dim > const &grid, dealii::DoFHandler< dim > const &dof_handler)
Definition constraints.h:39
void add_homogeneous_dirichlet_constraints(dealii::AffineConstraints< Number > &affine_constraints, dealii::DoFHandler< dim > const &dof_handler, std::map< dealii::types::boundary_id, dealii::ComponentMask > const &map_boundary_id_to_component_mask)
Definition constraints.h:104
void fill_map_bid_to_mask_with_default_mask(std::map< dealii::types::boundary_id, dealii::ComponentMask > &map_bid_to_mask, std::set< dealii::types::boundary_id > const &set_boundary_ids)
Definition constraints.h:84
void fill_keys_of_map_into_set(std::set< Key > &set, std::map< Key, Data > const &map)
Definition constraints.h:71