deal.II version GIT relicensing-6834-g5b78e6bcdf 2026-10-01 11:20: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
closest_surface_point.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) 2025 - 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#ifndef dealii_non_matching_closest_surface_point_h
14#define dealii_non_matching_closest_surface_point_h
15
16#include <deal.II/base/config.h>
17
18#include <deal.II/base/point.h>
19
21
22#include <deal.II/fe/fe.h>
23#include <deal.II/fe/mapping.h>
24
26
28
29namespace NonMatching
30{
54 template <int dim, class Number>
56 {
57 public:
62 {
71 double tolerance = 1e-10;
75 unsigned int n_iterations = 20;
76 };
84
85
86
98 std::pair<std::vector<Point<dim>>, std::vector<Point<dim>>>
100 const typename Triangulation<dim>::cell_iterator &search_cell,
101 const typename Triangulation<dim>::cell_iterator &reference_cell,
102 const std::vector<Point<dim>> &quadrature_points) const;
103
104 private:
109
110
111
143 void
144 newton_monolithic(const Point<dim> &point,
145 const FiniteElement<dim> &fe,
146 const std::vector<Number> &dof_values,
147 Point<dim> &closest_point) const;
148 };
149
150
151
152} // namespace NonMatching
154
155#endif
Abstract base class for mapping classes.
Definition mapping.h:318
A class for computing the closest points on a surface defined by a level set function.
ObserverPointer< const DoFHandler< dim > > dof_handler
ObserverPointer< const ReadVector< Number > > level_set
ObserverPointer< Mapping< dim > > mapping
void newton_monolithic(const Point< dim > &point, const FiniteElement< dim > &fe, const std::vector< Number > &dof_values, Point< dim > &closest_point) const
std::pair< std::vector< Point< dim > >, std::vector< Point< dim > > > compute_closest_surface_points(const typename Triangulation< dim >::cell_iterator &search_cell, const typename Triangulation< dim >::cell_iterator &reference_cell, const std::vector< Point< dim > > &quadrature_points) const
Definition point.h:111
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
constexpr unsigned int invalid_unsigned_int
Definition types.h:228