#include <deal.II/grid/grid_tools_cache.h>
-#include <deal.II/lac/constraint_matrix.h>
+#include <deal.II/lac/affine_constraints.h>
DEAL_II_NAMESPACE_OPEN
*
* @author Luca Heltai, 2018
*/
- template <int dim0, int dim1, int spacedim, typename Sparsity>
+ template <int dim0,
+ int dim1,
+ int spacedim,
+ typename Sparsity,
+ typename number = double>
void
create_coupling_sparsity_pattern(
const DoFHandler<dim0, spacedim> &space_dh,
const DoFHandler<dim1, spacedim> &immersed_dh,
const Quadrature<dim1> & quad,
Sparsity & sparsity,
- const ConstraintMatrix & constraints = ConstraintMatrix(),
- const ComponentMask & space_comps = ComponentMask(),
+ const AffineConstraints<number> & constraints = AffineConstraints<number>(),
+ const ComponentMask & space_comps = ComponentMask(),
const ComponentMask & immersed_comps = ComponentMask(),
const Mapping<dim0, spacedim> & space_mapping =
StaticMappingQ1<dim0, spacedim>::mapping,
*
* @author Luca Heltai, 2018
*/
- template <int dim0, int dim1, int spacedim, typename Sparsity>
+ template <int dim0,
+ int dim1,
+ int spacedim,
+ typename Sparsity,
+ typename number = double>
void
create_coupling_sparsity_pattern(
const GridTools::Cache<dim0, spacedim> &cache,
const DoFHandler<dim1, spacedim> & immersed_dh,
const Quadrature<dim1> & quad,
Sparsity & sparsity,
- const ConstraintMatrix & constraints = ConstraintMatrix(),
- const ComponentMask & space_comps = ComponentMask(),
- const ComponentMask & immersed_comps = ComponentMask(),
- const Mapping<dim1, spacedim> & immersed_mapping =
+ const AffineConstraints<number> &constraints = AffineConstraints<number>(),
+ const ComponentMask & space_comps = ComponentMask(),
+ const ComponentMask & immersed_comps = ComponentMask(),
+ const Mapping<dim1, spacedim> & immersed_mapping =
StaticMappingQ1<dim1, spacedim>::mapping);
template <int dim0, int dim1, int spacedim, typename Matrix>
void
create_coupling_mass_matrix(
- const DoFHandler<dim0, spacedim> &space_dh,
- const DoFHandler<dim1, spacedim> &immersed_dh,
- const Quadrature<dim1> & quad,
- Matrix & matrix,
- const ConstraintMatrix & constraints = ConstraintMatrix(),
- const ComponentMask & space_comps = ComponentMask(),
- const ComponentMask & immersed_comps = ComponentMask(),
- const Mapping<dim0, spacedim> & space_mapping =
+ const DoFHandler<dim0, spacedim> & space_dh,
+ const DoFHandler<dim1, spacedim> & immersed_dh,
+ const Quadrature<dim1> & quad,
+ Matrix & matrix,
+ const AffineConstraints<typename Matrix::value_type> &constraints =
+ AffineConstraints<typename Matrix::value_type>(),
+ const ComponentMask & space_comps = ComponentMask(),
+ const ComponentMask & immersed_comps = ComponentMask(),
+ const Mapping<dim0, spacedim> &space_mapping =
StaticMappingQ1<dim0, spacedim>::mapping,
const Mapping<dim1, spacedim> &immersed_mapping =
StaticMappingQ1<dim1, spacedim>::mapping);
template <int dim0, int dim1, int spacedim, typename Matrix>
void
create_coupling_mass_matrix(
- const GridTools::Cache<dim0, spacedim> &cache,
- const DoFHandler<dim0, spacedim> & space_dh,
- const DoFHandler<dim1, spacedim> & immersed_dh,
- const Quadrature<dim1> & quad,
- Matrix & matrix,
- const ConstraintMatrix & constraints = ConstraintMatrix(),
- const ComponentMask & space_comps = ComponentMask(),
- const ComponentMask & immersed_comps = ComponentMask(),
- const Mapping<dim1, spacedim> & immersed_mapping =
+ const GridTools::Cache<dim0, spacedim> & cache,
+ const DoFHandler<dim0, spacedim> & space_dh,
+ const DoFHandler<dim1, spacedim> & immersed_dh,
+ const Quadrature<dim1> & quad,
+ Matrix & matrix,
+ const AffineConstraints<typename Matrix::value_type> &constraints =
+ AffineConstraints<typename Matrix::value_type>(),
+ const ComponentMask & space_comps = ComponentMask(),
+ const ComponentMask & immersed_comps = ComponentMask(),
+ const Mapping<dim1, spacedim> &immersed_mapping =
StaticMappingQ1<dim1, spacedim>::mapping);
} // namespace NonMatching
DEAL_II_NAMESPACE_CLOSE
DEAL_II_NAMESPACE_OPEN
namespace NonMatching
{
- template <int dim0, int dim1, int spacedim, typename Sparsity>
+ template <int dim0,
+ int dim1,
+ int spacedim,
+ typename Sparsity,
+ typename number>
void
create_coupling_sparsity_pattern(
const DoFHandler<dim0, spacedim> &space_dh,
const DoFHandler<dim1, spacedim> &immersed_dh,
const Quadrature<dim1> & quad,
Sparsity & sparsity,
- const ConstraintMatrix & constraints,
+ const AffineConstraints<number> & constraints,
const ComponentMask & space_comps,
const ComponentMask & immersed_comps,
const Mapping<dim0, spacedim> & space_mapping,
- template <int dim0, int dim1, int spacedim, typename Sparsity>
+ template <int dim0,
+ int dim1,
+ int spacedim,
+ typename Sparsity,
+ typename number>
void
create_coupling_sparsity_pattern(
const GridTools::Cache<dim0, spacedim> &cache,
const DoFHandler<dim1, spacedim> & immersed_dh,
const Quadrature<dim1> & quad,
Sparsity & sparsity,
- const ConstraintMatrix & constraints,
+ const AffineConstraints<number> & constraints,
const ComponentMask & space_comps,
const ComponentMask & immersed_comps,
const Mapping<dim1, spacedim> & immersed_mapping)
template <int dim0, int dim1, int spacedim, typename Matrix>
void
- create_coupling_mass_matrix(const DoFHandler<dim0, spacedim> &space_dh,
- const DoFHandler<dim1, spacedim> &immersed_dh,
- const Quadrature<dim1> & quad,
- Matrix & matrix,
- const ConstraintMatrix & constraints,
- const ComponentMask & space_comps,
- const ComponentMask & immersed_comps,
- const Mapping<dim0, spacedim> & space_mapping,
- const Mapping<dim1, spacedim> &immersed_mapping)
+ create_coupling_mass_matrix(
+ const DoFHandler<dim0, spacedim> & space_dh,
+ const DoFHandler<dim1, spacedim> & immersed_dh,
+ const Quadrature<dim1> & quad,
+ Matrix & matrix,
+ const AffineConstraints<typename Matrix::value_type> &constraints,
+ const ComponentMask & space_comps,
+ const ComponentMask & immersed_comps,
+ const Mapping<dim0, spacedim> & space_mapping,
+ const Mapping<dim1, spacedim> & immersed_mapping)
{
GridTools::Cache<dim0, spacedim> cache(space_dh.get_triangulation(),
space_mapping);
template <int dim0, int dim1, int spacedim, typename Matrix>
void
- create_coupling_mass_matrix(const GridTools::Cache<dim0, spacedim> &cache,
- const DoFHandler<dim0, spacedim> & space_dh,
- const DoFHandler<dim1, spacedim> &immersed_dh,
- const Quadrature<dim1> & quad,
- Matrix & matrix,
- const ConstraintMatrix & constraints,
- const ComponentMask & space_comps,
- const ComponentMask & immersed_comps,
- const Mapping<dim1, spacedim> &immersed_mapping)
+ create_coupling_mass_matrix(
+ const GridTools::Cache<dim0, spacedim> & cache,
+ const DoFHandler<dim0, spacedim> & space_dh,
+ const DoFHandler<dim1, spacedim> & immersed_dh,
+ const Quadrature<dim1> & quad,
+ Matrix & matrix,
+ const AffineConstraints<typename Matrix::value_type> &constraints,
+ const ComponentMask & space_comps,
+ const ComponentMask & immersed_comps,
+ const Mapping<dim1, spacedim> & immersed_mapping)
{
AssertDimension(matrix.m(), space_dh.n_dofs());
AssertDimension(matrix.n(), immersed_dh.n_dofs());
for (dim0 : DIMENSIONS; dim1 : DIMENSIONS; spacedim : SPACE_DIMENSIONS;
- Sparsity : SPARSITY_PATTERNS)
+ Sparsity : SPARSITY_PATTERNS;
+ S : REAL_AND_COMPLEX_SCALARS)
{
#if dim1 <= dim0 && dim0 <= spacedim
template void create_coupling_sparsity_pattern(
const DoFHandler<dim1, spacedim> &immersed_dh,
const Quadrature<dim1> & quad,
Sparsity & sparsity,
- const ConstraintMatrix & constraints,
+ const AffineConstraints<S> & constraints,
const ComponentMask & space_comps,
const ComponentMask & immersed_comps,
const Mapping<dim0, spacedim> & space_mapping,
const DoFHandler<dim1, spacedim> & immersed_dh,
const Quadrature<dim1> & quad,
Sparsity & sparsity,
- const ConstraintMatrix & constraints,
+ const AffineConstraints<S> & constraints,
const ComponentMask & space_comps,
const ComponentMask & immersed_comps,
const Mapping<dim1, spacedim> & immersed_mapping);
{
#if dim1 <= dim0 && dim0 <= spacedim
template void create_coupling_mass_matrix(
- const DoFHandler<dim0, spacedim> &space_dh,
- const DoFHandler<dim1, spacedim> &immersed_dh,
- const Quadrature<dim1> & quad,
- Matrix & matrix,
- const ConstraintMatrix & constraints,
- const ComponentMask & space_comps,
- const ComponentMask & immersed_comps,
- const Mapping<dim0, spacedim> & space_mapping,
- const Mapping<dim1, spacedim> & immersed_mapping);
+ const DoFHandler<dim0, spacedim> & space_dh,
+ const DoFHandler<dim1, spacedim> & immersed_dh,
+ const Quadrature<dim1> & quad,
+ Matrix & matrix,
+ const AffineConstraints<Matrix::value_type> &constraints,
+ const ComponentMask & space_comps,
+ const ComponentMask & immersed_comps,
+ const Mapping<dim0, spacedim> & space_mapping,
+ const Mapping<dim1, spacedim> & immersed_mapping);
template void create_coupling_mass_matrix(
- const GridTools::Cache<dim0, spacedim> &cache,
- const DoFHandler<dim0, spacedim> & space_dh,
- const DoFHandler<dim1, spacedim> & immersed_dh,
- const Quadrature<dim1> & quad,
- Matrix & matrix,
- const ConstraintMatrix & constraints,
- const ComponentMask & space_comps,
- const ComponentMask & immersed_comps,
- const Mapping<dim1, spacedim> & immersed_mapping);
+ const GridTools::Cache<dim0, spacedim> & cache,
+ const DoFHandler<dim0, spacedim> & space_dh,
+ const DoFHandler<dim1, spacedim> & immersed_dh,
+ const Quadrature<dim1> & quad,
+ Matrix & matrix,
+ const AffineConstraints<Matrix::value_type> &constraints,
+ const ComponentMask & space_comps,
+ const ComponentMask & immersed_comps,
+ const Mapping<dim1, spacedim> & immersed_mapping);
#endif
}