/**
* Extracts the information needed to perform loops over cells. The
- * DoFHandler and ConstraintMatrix describe the layout of degrees of
- * freedom, the DoFHandler and the mapping describe the transformations from
- * unit to real cell, and the finite element underlying the DoFHandler
- * together with the quadrature formula describe the local operations. Note
- * that the finite element underlying the DoFHandler must either be scalar
- * or contain several copies of the same element. Mixing several different
- * elements into one FESystem is not allowed. In that case, use the
- * initialization function with several DoFHandler arguments.
+ * DoFHandler and AffineConstraints objects describe the layout of degrees
+ * of freedom, the DoFHandler and the mapping describe the
+ * transformations from unit to real cell, and the finite element
+ * underlying the DoFHandler together with the quadrature formula
+ * describe the local operations. Note that the finite element underlying
+ * the DoFHandler must either be scalar or contain several copies of the
+ * same element. Mixing several different elements into one FESystem is
+ * not allowed. In that case, use the initialization function with
+ * several DoFHandler arguments.
*/
template <typename DoFHandlerType, typename QuadratureType>
void
- reinit(const Mapping<dim> & mapping,
- const DoFHandlerType & dof_handler,
- const ConstraintMatrix &constraint,
- const QuadratureType & quad,
- const AdditionalData additional_data = AdditionalData());
+ reinit(const Mapping<dim> & mapping,
+ const DoFHandlerType & dof_handler,
+ const AffineConstraints<double> &constraint,
+ const QuadratureType & quad,
+ const AdditionalData additional_data = AdditionalData());
/**
* Initializes the data structures. Same as above, but using a $Q_1$
*/
template <typename DoFHandlerType, typename QuadratureType>
void
- reinit(const DoFHandlerType & dof_handler,
- const ConstraintMatrix &constraint,
- const QuadratureType & quad,
- const AdditionalData additional_data = AdditionalData());
+ reinit(const DoFHandlerType & dof_handler,
+ const AffineConstraints<double> &constraint,
+ const QuadratureType & quad,
+ const AdditionalData additional_data = AdditionalData());
/**
* Same as above.
*/
template <typename DoFHandlerType, typename QuadratureType>
DEAL_II_DEPRECATED void
- reinit(const Mapping<dim> & mapping,
- const DoFHandlerType & dof_handler,
- const ConstraintMatrix &constraint,
- const IndexSet & locally_owned_dofs,
- const QuadratureType & quad,
- const AdditionalData additional_data = AdditionalData());
+ reinit(const Mapping<dim> & mapping,
+ const DoFHandlerType & dof_handler,
+ const AffineConstraints<double> &constraint,
+ const IndexSet & locally_owned_dofs,
+ const QuadratureType & quad,
+ const AdditionalData additional_data = AdditionalData());
/**
* Extracts the information needed to perform loops over cells. The
- * DoFHandler and ConstraintMatrix describe the layout of degrees of
+ * DoFHandler and AffineConstraints objects describe the layout of degrees of
* freedom, the DoFHandler and the mapping describe the transformations from
* unit to real cell, and the finite element underlying the DoFHandler
* together with the quadrature formula describe the local operations. As
* finite elements. The DoFHandlers to each element must be passed as
* pointers to the initialization function. Note that the finite element
* underlying an DoFHandler must either be scalar or contain several copies
- * of the same element. Mixing several different elements into one @p
- * FE_System is not allowed.
+ * of the same element. Mixing several different elements into one
+ * @p FE_System is not allowed.
*
* This function also allows for using several quadrature formulas, e.g.
* when the description contains independent integrations of elements of
*/
template <typename DoFHandlerType, typename QuadratureType>
void
- reinit(const Mapping<dim> & mapping,
- const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> &constraint,
- const std::vector<QuadratureType> & quad,
+ reinit(const Mapping<dim> & mapping,
+ const std::vector<const DoFHandlerType *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const std::vector<QuadratureType> & quad,
const AdditionalData additional_data = AdditionalData());
/**
*/
template <typename DoFHandlerType, typename QuadratureType>
void
- reinit(const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> &constraint,
- const std::vector<QuadratureType> & quad,
+ reinit(const std::vector<const DoFHandlerType *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const std::vector<QuadratureType> & quad,
const AdditionalData additional_data = AdditionalData());
/**
*/
template <typename DoFHandlerType, typename QuadratureType>
DEAL_II_DEPRECATED void
- reinit(const Mapping<dim> & mapping,
- const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> &constraint,
- const std::vector<IndexSet> & locally_owned_set,
- const std::vector<QuadratureType> & quad,
- const AdditionalData additional_data = AdditionalData());
+ reinit(const Mapping<dim> & mapping,
+ const std::vector<const DoFHandlerType *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const std::vector<IndexSet> & locally_owned_set,
+ const std::vector<QuadratureType> &quad,
+ const AdditionalData additional_data = AdditionalData());
/**
* Initializes the data structures. Same as before, but now the index set
*/
template <typename DoFHandlerType, typename QuadratureType>
void
- reinit(const Mapping<dim> & mapping,
- const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> &constraint,
- const QuadratureType & quad,
+ reinit(const Mapping<dim> & mapping,
+ const std::vector<const DoFHandlerType *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const QuadratureType & quad,
const AdditionalData additional_data = AdditionalData());
/**
*/
template <typename DoFHandlerType, typename QuadratureType>
void
- reinit(const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> &constraint,
- const QuadratureType & quad,
+ reinit(const std::vector<const DoFHandlerType *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const QuadratureType & quad,
const AdditionalData additional_data = AdditionalData());
/**
* this function does not re-arrange the information stored in this class,
* but rather creates a renumbering for consumption of
* DoFHandler::renumber_dofs. To have any effect a MatrixFree object must be
- * set up again using the renumbered DoFHandler and ConstraintMatrix. Note
+ * set up again using the renumbered DoFHandler and AffineConstraints. Note
* that if a DoFHandler calls DoFHandler::renumber_dofs, all information in
* MatrixFree becomes invalid.
*/
* DoFHandler case.
*/
void
- internal_reinit(const Mapping<dim> & mapping,
- const std::vector<const DoFHandler<dim> *> & dof_handler,
- const std::vector<const ConstraintMatrix *> &constraint,
- const std::vector<IndexSet> & locally_owned_set,
- const std::vector<hp::QCollection<1>> &quad,
- const AdditionalData & additional_data);
+ internal_reinit(
+ const Mapping<dim> & mapping,
+ const std::vector<const DoFHandler<dim> *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const std::vector<IndexSet> & locally_owned_set,
+ const std::vector<hp::QCollection<1>> & quad,
+ const AdditionalData & additional_data);
/**
* Same as before but for hp::DoFHandler instead of generic DoFHandler type.
*/
void
- internal_reinit(const Mapping<dim> & mapping,
- const std::vector<const hp::DoFHandler<dim> *> &dof_handler,
- const std::vector<const ConstraintMatrix *> & constraint,
- const std::vector<IndexSet> & locally_owned_set,
- const std::vector<hp::QCollection<1>> &quad,
- const AdditionalData & additional_data);
+ internal_reinit(
+ const Mapping<dim> & mapping,
+ const std::vector<const hp::DoFHandler<dim> *> & dof_handler,
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const std::vector<IndexSet> & locally_owned_set,
+ const std::vector<hp::QCollection<1>> & quad,
+ const AdditionalData & additional_data);
/**
* Initializes the fields in DoFInfo together with the constraint pool that
* consequently only need to be stored once).
*/
void
- initialize_indices(const std::vector<const ConstraintMatrix *> &constraint,
- const std::vector<IndexSet> &locally_owned_set,
- const AdditionalData & additional_data);
+ initialize_indices(
+ const std::vector<const AffineConstraints<double> *> &constraint,
+ const std::vector<IndexSet> & locally_owned_set,
+ const AdditionalData & additional_data);
/**
* Initializes the DoFHandlers based on a DoFHandler<dim> argument.
void
MatrixFree<dim, Number>::reinit(
const DoFHandlerType & dof_handler,
- const ConstraintMatrix & constraints_in,
+ const AffineConstraints<double> & constraints_in,
const QuadratureType & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)
{
- std::vector<const DoFHandlerType *> dof_handlers;
- std::vector<const ConstraintMatrix *> constraints;
- std::vector<QuadratureType> quads;
+ std::vector<const DoFHandlerType *> dof_handlers;
+ std::vector<const AffineConstraints<double> *> constraints;
+ std::vector<QuadratureType> quads;
dof_handlers.push_back(&dof_handler);
constraints.push_back(&constraints_in);
MatrixFree<dim, Number>::reinit(
const Mapping<dim> & mapping,
const DoFHandlerType & dof_handler,
- const ConstraintMatrix & constraints_in,
+ const AffineConstraints<double> & constraints_in,
const QuadratureType & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)
{
- std::vector<const DoFHandlerType *> dof_handlers;
- std::vector<const ConstraintMatrix *> constraints;
+ std::vector<const DoFHandlerType *> dof_handlers;
+ std::vector<const AffineConstraints<double> *> constraints;
dof_handlers.push_back(&dof_handler);
constraints.push_back(&constraints_in);
void
MatrixFree<dim, Number>::reinit(
const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> & constraint,
+ const std::vector<const AffineConstraints<double> *> & constraint,
const std::vector<QuadratureType> & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)
{
void
MatrixFree<dim, Number>::reinit(
const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> & constraint,
+ const std::vector<const AffineConstraints<double> *> & constraint,
const QuadratureType & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)
{
MatrixFree<dim, Number>::reinit(
const Mapping<dim> & mapping,
const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> & constraint,
+ const std::vector<const AffineConstraints<double> *> & constraint,
const QuadratureType & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)
{
MatrixFree<dim, Number>::reinit(
const Mapping<dim> & mapping,
const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> & constraint,
+ const std::vector<const AffineConstraints<double> *> & constraint,
const std::vector<QuadratureType> & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)
{
MatrixFree<dim, Number>::reinit(
const Mapping<dim> & mapping,
const std::vector<const DoFHandlerType *> & dof_handler,
- const std::vector<const ConstraintMatrix *> & constraint,
+ const std::vector<const AffineConstraints<double> *> & constraint,
const std::vector<IndexSet> & locally_owned_set,
const std::vector<QuadratureType> & quad,
const typename MatrixFree<dim, Number>::AdditionalData additional_data)