4#ifndef constraint_handler_h
5#define constraint_handler_h
7#include <deal.II/base/mg_level_object.h>
8#include <deal.II/dofs/dof_handler.h>
9#include <deal.II/fe/mapping_q1.h>
10#include <deal.II/lac/affine_constraints.h>
12#include <prismspf/config.h>
13#include <prismspf/user_inputs/user_input_parameters.h>
17PRISMS_PF_BEGIN_NAMESPACE
35 [[nodiscard]] std::vector<const dealii::AffineConstraints<double> *>
41 [[nodiscard]]
const dealii::AffineConstraints<double> &
48 [[nodiscard]]
const dealii::MGLevelObject<dealii::AffineConstraints<float>> &
55 [[nodiscard]]
const dealii::AffineConstraints<float> &
63 const std::vector<
const dealii::DoFHandler<dim> *> &dof_handlers);
70 const dealii::Mapping<dim> &mapping,
71 const std::map<
unsigned int, dealii::MGLevelObject<dealii::DoFHandler<dim>>>
79 make_constraint(
const dealii::Mapping<dim> &mapping,
80 const dealii::DoFHandler<dim> &dof_handler,
81 const unsigned int &index);
87 make_mg_constraint(
const dealii::Mapping<dim> &mapping,
88 const dealii::MGLevelObject<dealii::DoFHandler<dim>> &dof_handler,
89 const unsigned int &index);
95 set_pinned_point(
const dealii::DoFHandler<dim> &dof_handler,
const unsigned int &index);
105 std::vector<dealii::AffineConstraints<double>> constraints;
110 std::map<unsigned int, dealii::MGLevelObject<dealii::AffineConstraints<float>>>
114PRISMS_PF_END_NAMESPACE
The class handles the generation and application of boundary conditions based on the user-inputs.
Definition constraint_handler.h:25
const dealii::AffineConstraints< double > & get_constraint(const unsigned int &index) const
Getter function for the constraint of an index (constant reference).
Definition constraint_handler.cc:46
void make_constraints(const dealii::Mapping< dim > &mapping, const std::vector< const dealii::DoFHandler< dim > * > &dof_handlers)
Make constraints based on the inputs of the constructor.
Definition constraint_handler.cc:85
std::vector< const dealii::AffineConstraints< double > * > get_constraints()
Getter function for the constraints.
Definition constraint_handler.cc:33
const dealii::MGLevelObject< dealii::AffineConstraints< float > > & get_mg_constraint(unsigned int index) const
Getter function for the multigrid constraints of an index (constant reference).
Definition constraint_handler.cc:56
void make_mg_constraints(const dealii::Mapping< dim > &mapping, const std::map< unsigned int, dealii::MGLevelObject< dealii::DoFHandler< dim > > > &mg_dof_handlers)
Make multigrid constraints based on the inputs of the constructor.
Definition constraint_handler.cc:97