Reference documentation for deal.II version 9.3.2
\(\newcommand{\dealvcentcolon}{\mathrel{\mathop{:}}}\) \(\newcommand{\dealcoloneq}{\dealvcentcolon\mathrel{\mkern-1.2mu}=}\) \(\newcommand{\jump}[1]{\left[\!\left[ #1 \right]\!\right]}\) \(\newcommand{\average}[1]{\left\{\!\left\{ #1 \right\}\!\right\}}\)
coupling.h
Go to the documentation of this file.
1 // ---------------------------------------------------------------------
2 //
3 // Copyright (C) 2018 - 2020 by the deal.II authors
4 //
5 // This file is part of the deal.II library.
6 //
7 // The deal.II library is free software; you can use it, redistribute
8 // it, and/or modify it under the terms of the GNU Lesser General
9 // Public License as published by the Free Software Foundation; either
10 // version 2.1 of the License, or (at your option) any later version.
11 // The full text of the license can be found in the file LICENSE.md at
12 // the top level directory of deal.II.
13 //
14 // ---------------------------------------------------------------------
15 
16 #ifndef dealii_non_matching_coupling
17 #define dealii_non_matching_coupling
18 
19 #include <deal.II/base/config.h>
20 
23 
25 
27 #include <deal.II/fe/fe.h>
28 #include <deal.II/fe/fe_values.h>
29 #include <deal.II/fe/mapping_q1.h>
30 
32 
34 
36 
45 namespace NonMatching
46 {
93  template <int dim0,
94  int dim1,
95  int spacedim,
96  typename Sparsity,
97  typename number = double>
98  void
100  const DoFHandler<dim0, spacedim> &space_dh,
101  const DoFHandler<dim1, spacedim> &immersed_dh,
102  const Quadrature<dim1> & quad,
103  Sparsity & sparsity,
105  const ComponentMask & space_comps = ComponentMask(),
106  const ComponentMask & immersed_comps = ComponentMask(),
107  const Mapping<dim0, spacedim> & space_mapping =
109  const Mapping<dim1, spacedim> &immersed_mapping =
111 
118  template <int dim0,
119  int dim1,
120  int spacedim,
121  typename Sparsity,
122  typename number = double>
123  void
126  const DoFHandler<dim0, spacedim> & space_dh,
127  const DoFHandler<dim1, spacedim> & immersed_dh,
128  const Quadrature<dim1> & quad,
129  Sparsity & sparsity,
131  const ComponentMask & space_comps = ComponentMask(),
132  const ComponentMask & immersed_comps = ComponentMask(),
133  const Mapping<dim1, spacedim> & immersed_mapping =
135 
136 
181  template <int dim0, int dim1, int spacedim, typename Matrix>
182  void
184  const DoFHandler<dim0, spacedim> & space_dh,
185  const DoFHandler<dim1, spacedim> & immersed_dh,
186  const Quadrature<dim1> & quad,
187  Matrix & matrix,
190  const ComponentMask & space_comps = ComponentMask(),
191  const ComponentMask & immersed_comps = ComponentMask(),
192  const Mapping<dim0, spacedim> &space_mapping =
194  const Mapping<dim1, spacedim> &immersed_mapping =
196 
203  template <int dim0, int dim1, int spacedim, typename Matrix>
204  void
206  const GridTools::Cache<dim0, spacedim> & cache,
207  const DoFHandler<dim0, spacedim> & space_dh,
208  const DoFHandler<dim1, spacedim> & immersed_dh,
209  const Quadrature<dim1> & quad,
210  Matrix & matrix,
213  const ComponentMask & space_comps = ComponentMask(),
214  const ComponentMask & immersed_comps = ComponentMask(),
215  const Mapping<dim1, spacedim> &immersed_mapping =
217 
264  template <int dim0,
265  int dim1,
266  int spacedim,
267  typename Sparsity,
268  typename Number = double>
269  void
271  const double & epsilon,
272  const GridTools::Cache<dim0, spacedim> &cache0,
273  const GridTools::Cache<dim1, spacedim> &cache1,
274  const DoFHandler<dim0, spacedim> & dh0,
275  const DoFHandler<dim1, spacedim> & dh1,
276  const Quadrature<dim1> & quad,
277  Sparsity & sparsity,
279  const ComponentMask & comps0 = ComponentMask(),
280  const ComponentMask & comps1 = ComponentMask());
281 
328  template <int dim0, int dim1, int spacedim, typename Matrix>
329  void
332  const double & epsilon,
333  const GridTools::Cache<dim0, spacedim> & cache0,
334  const GridTools::Cache<dim1, spacedim> & cache1,
335  const DoFHandler<dim0, spacedim> & dh0,
336  const DoFHandler<dim1, spacedim> & dh1,
337  const Quadrature<dim0> & quadrature0,
338  const Quadrature<dim1> & quadrature1,
339  Matrix & matrix,
342  const ComponentMask &comps0 = ComponentMask(),
343  const ComponentMask &comps1 = ComponentMask());
344 } // namespace NonMatching
346 
347 #endif
Abstract base class for mapping classes.
Definition: mapping.h:304
#define DEAL_II_NAMESPACE_OPEN
Definition: config.h:396
#define DEAL_II_NAMESPACE_CLOSE
Definition: config.h:397
@ matrix
Contents is actually a matrix.
void create_coupling_sparsity_pattern(const DoFHandler< dim0, spacedim > &space_dh, const DoFHandler< dim1, spacedim > &immersed_dh, const Quadrature< dim1 > &quad, Sparsity &sparsity, 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, const Mapping< dim1, spacedim > &immersed_mapping=StaticMappingQ1< dim1, spacedim >::mapping)
Definition: coupling.cc:175
void 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=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)
Definition: coupling.cc:363
SymmetricTensor< 2, dim, Number > epsilon(const Tensor< 2, dim, Number > &Grad_u)