deal.II version GIT relicensing-6917-gb466a1809f 2026-10-16 06:30:01+00:00
\(\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\}}\)
Loading...
Searching...
No Matches
vector_tools_constraints.h
Go to the documentation of this file.
1// -----------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception OR LGPL-2.1-or-later
4// Copyright (C) 2020 - 2026 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Detailed license information governing the source code and contributions
9// can be found in LICENSE.md and CONTRIBUTING.md at the top level directory.
10//
11// -----------------------------------------------------------------------------
12
13
14#ifndef dealii_vector_tools_constraints_h
15#define dealii_vector_tools_constraints_h
16
17#include <deal.II/base/config.h>
18
20
22
23#include <map>
24#include <set>
25
27
28template <typename number>
30template <int dim, int spacedim>
31struct StaticMappingQ1;
32template <int dim, typename Number>
33class Function;
34template <int dim, int spacedim>
35class Mapping;
36
37
38namespace VectorTools
39{
282 template <int dim, int spacedim>
283 void
285 const DoFHandler<dim, spacedim> &dof_handler,
286 const unsigned int first_vector_component,
287 const std::set<types::boundary_id> &boundary_ids,
288 const std::map<types::boundary_id, const Function<spacedim, double> *>
289 &function_map,
290 AffineConstraints<double> &constraints,
291 const Mapping<dim, spacedim> &mapping =
292 (ReferenceCells::get_hypercube<dim>()
293#ifndef _MSC_VER
294 .template get_default_linear_mapping<spacedim>()
295#else
297#endif
298 ),
299 const bool use_manifold_for_normal = true);
300
310 template <int dim, int spacedim>
311 void
313 const DoFHandler<dim, spacedim> &dof_handler,
314 const unsigned int first_vector_component,
315 const std::set<types::boundary_id> &boundary_ids,
316 const std::map<types::boundary_id, const Function<spacedim, double> *>
317 &function_map,
318 AffineConstraints<double> &constraints,
319 const Mapping<dim, spacedim> &mapping =
320 (ReferenceCells::get_hypercube<dim>()
321#ifndef _MSC_VER
322 .template get_default_linear_mapping<spacedim>()
323#else
325#endif
326 ),
327 const IndexSet &refinement_edge_indices = IndexSet(),
328 const unsigned int level = numbers::invalid_unsigned_int,
329 const bool use_manifold_for_normal = true);
330
347 template <int dim, int spacedim, typename number>
348 void
350 const DoFHandler<dim, spacedim> &dof_handler,
351 const unsigned int first_vector_component,
352 const std::set<types::boundary_id> &boundary_ids,
353 AffineConstraints<number> &constraints,
354 const Mapping<dim, spacedim> &mapping =
355 (ReferenceCells::get_hypercube<dim>()
356#ifndef _MSC_VER
357 .template get_default_linear_mapping<spacedim>()
358#else
360#endif
361 ),
362 const bool use_manifold_for_normal = true);
363
380 template <int dim, int spacedim>
381 void
383 const DoFHandler<dim, spacedim> &dof_handler,
384 const unsigned int first_vector_component,
385 const std::set<types::boundary_id> &boundary_ids,
386 AffineConstraints<double> &constraints,
387 const Mapping<dim, spacedim> &mapping =
388 (ReferenceCells::get_hypercube<dim>()
389#ifndef _MSC_VER
390 .template get_default_linear_mapping<spacedim>()
391#else
393#endif
394 ),
395 const IndexSet &refinement_edge_indices = IndexSet(),
396 const unsigned int level = numbers::invalid_unsigned_int,
397 const bool use_manifold_for_normal = true);
398
422 template <int dim, int spacedim>
423 void
425 const DoFHandler<dim, spacedim> &dof_handler,
426 const unsigned int first_vector_component,
427 const std::set<types::boundary_id> &boundary_ids,
428 const std::map<types::boundary_id, const Function<spacedim, double> *>
429 &function_map,
430 AffineConstraints<double> &constraints,
431 const Mapping<dim, spacedim> &mapping =
432 (ReferenceCells::get_hypercube<dim>()
433#ifndef _MSC_VER
434 .template get_default_linear_mapping<spacedim>()
435#else
437#endif
438 ),
439 const bool use_manifold_for_normal = true);
440
449 template <int dim, int spacedim>
450 void
452 const DoFHandler<dim, spacedim> &dof_handler,
453 const unsigned int first_vector_component,
454 const std::set<types::boundary_id> &boundary_ids,
455 AffineConstraints<double> &constraints,
456 const Mapping<dim, spacedim> &mapping =
457 (ReferenceCells::get_hypercube<dim>()
458#ifndef _MSC_VER
459 .template get_default_linear_mapping<spacedim>()
460#else
462#endif
463 ),
464 const bool use_manifold_for_normal = true);
465
467} // namespace VectorTools
468
470
471#endif // dealii_vector_tools_constraints_h
Abstract base class for mapping classes.
Definition mapping.h:318
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
unsigned int level
Definition grid_out.cc:4642
void compute_nonzero_tangential_flux_constraints(const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, const std::map< types::boundary_id, const Function< spacedim, double > * > &function_map, AffineConstraints< double > &constraints, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< spacedim >()), const bool use_manifold_for_normal=true)
void compute_normal_flux_constraints(const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, AffineConstraints< double > &constraints, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< spacedim >()), const bool use_manifold_for_normal=true)
void compute_nonzero_normal_flux_constraints(const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, const std::map< types::boundary_id, const Function< spacedim, double > * > &function_map, AffineConstraints< double > &constraints, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< spacedim >()), const bool use_manifold_for_normal=true)
void compute_no_normal_flux_constraints(const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, AffineConstraints< number > &constraints, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< spacedim >()), const bool use_manifold_for_normal=true)
void compute_no_normal_flux_constraints_on_level(const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, AffineConstraints< double > &constraints, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< spacedim >()), const IndexSet &refinement_edge_indices=IndexSet(), const unsigned int level=numbers::invalid_unsigned_int, const bool use_manifold_for_normal=true)
void compute_nonzero_normal_flux_constraints_on_level(const DoFHandler< dim, spacedim > &dof_handler, const unsigned int first_vector_component, const std::set< types::boundary_id > &boundary_ids, const std::map< types::boundary_id, const Function< spacedim, double > * > &function_map, AffineConstraints< double > &constraints, const Mapping< dim, spacedim > &mapping=(ReferenceCells::get_hypercube< dim >() .template get_default_linear_mapping< spacedim >()), const IndexSet &refinement_edge_indices=IndexSet(), const unsigned int level=numbers::invalid_unsigned_int, const bool use_manifold_for_normal=true)
constexpr unsigned int invalid_unsigned_int
Definition types.h:228