deal.II version GIT relicensing-2250-g88cb8ba3cb 2024-12-13 12:20:00+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: LGPL-2.1-or-later
4// Copyright (C) 2020 - 2024 by the deal.II authors
5//
6// This file is part of the deal.II library.
7//
8// Part of the source code is dual licensed under Apache-2.0 WITH
9// LLVM-exception OR LGPL-2.1-or-later. Detailed license information
10// governing the source code and code contributions can be found in
11// LICENSE.md and CONTRIBUTING.md at the top level directory of deal.II.
12//
13// ------------------------------------------------------------------------
14
15
16#ifndef dealii_vector_tools_constraints_h
17#define dealii_vector_tools_constraints_h
18
19#include <deal.II/base/config.h>
20
22
24
25#include <map>
26#include <set>
27
29
30template <typename number>
32template <int dim, int spacedim>
33struct StaticMappingQ1;
34template <int dim, typename Number>
35class Function;
36template <int dim, int spacedim>
37class Mapping;
38
39
40namespace VectorTools
41{
284 template <int dim, int spacedim>
285 void
287 const DoFHandler<dim, spacedim> &dof_handler,
288 const unsigned int first_vector_component,
289 const std::set<types::boundary_id> &boundary_ids,
290 const std::map<types::boundary_id, const Function<spacedim, double> *>
292 AffineConstraints<double> &constraints,
293 const Mapping<dim, spacedim> &mapping =
294 (ReferenceCells::get_hypercube<dim>()
297#else
298 .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
299#endif
300 ),
301 const bool use_manifold_for_normal = true);
302
312 template <int dim, int spacedim>
313 void
315 const DoFHandler<dim, spacedim> &dof_handler,
316 const unsigned int first_vector_component,
317 const std::set<types::boundary_id> &boundary_ids,
318 const std::map<types::boundary_id, const Function<spacedim, double> *>
320 AffineConstraints<double> &constraints,
321 const Mapping<dim, spacedim> &mapping =
322 (ReferenceCells::get_hypercube<dim>()
325#else
326 .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
327#endif
328 ),
329 const IndexSet &refinement_edge_indices = IndexSet(),
330 const unsigned int level = numbers::invalid_unsigned_int,
331 const bool use_manifold_for_normal = true);
332
349 template <int dim, int spacedim, typename number>
350 void
352 const DoFHandler<dim, spacedim> &dof_handler,
353 const unsigned int first_vector_component,
354 const std::set<types::boundary_id> &boundary_ids,
355 AffineConstraints<number> &constraints,
356 const Mapping<dim, spacedim> &mapping =
357 (ReferenceCells::get_hypercube<dim>()
360#else
361 .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
362#endif
363 ),
364 const bool use_manifold_for_normal = true);
365
382 template <int dim, int spacedim>
383 void
385 const DoFHandler<dim, spacedim> &dof_handler,
386 const unsigned int first_vector_component,
387 const std::set<types::boundary_id> &boundary_ids,
388 AffineConstraints<double> &constraints,
389 const Mapping<dim, spacedim> &mapping =
390 (ReferenceCells::get_hypercube<dim>()
393#else
394 .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
395#endif
396 ),
397 const IndexSet &refinement_edge_indices = IndexSet(),
398 const unsigned int level = numbers::invalid_unsigned_int,
399 const bool use_manifold_for_normal = true);
400
424 template <int dim, int spacedim>
425 void
427 const DoFHandler<dim, spacedim> &dof_handler,
428 const unsigned int first_vector_component,
429 const std::set<types::boundary_id> &boundary_ids,
430 const std::map<types::boundary_id, const Function<spacedim, double> *>
432 AffineConstraints<double> &constraints,
433 const Mapping<dim, spacedim> &mapping =
434 (ReferenceCells::get_hypercube<dim>()
437#else
438 .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
439#endif
440 ),
441 const bool use_manifold_for_normal = true);
442
451 template <int dim, int spacedim>
452 void
454 const DoFHandler<dim, spacedim> &dof_handler,
455 const unsigned int first_vector_component,
456 const std::set<types::boundary_id> &boundary_ids,
457 AffineConstraints<double> &constraints,
458 const Mapping<dim, spacedim> &mapping =
459 (ReferenceCells::get_hypercube<dim>()
462#else
463 .ReferenceCell::get_default_linear_mapping<dim, spacedim>()
464#endif
465 ),
466 const bool use_manifold_for_normal = true);
467
469} // namespace VectorTools
470
472
473#endif // dealii_vector_tools_constraints_h
Abstract base class for mapping classes.
Definition mapping.h:318
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:498
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:499
unsigned int level
Definition grid_out.cc:4632
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< dim, 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< dim, 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_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< dim, 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< dim, 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< dim, 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< dim, spacedim >()), const bool use_manifold_for_normal=true)
static const unsigned int invalid_unsigned_int
Definition types.h:220