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
mapping_related_data.cc
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) 2022 - 2025 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
16
18
20
21namespace internal
22{
23 namespace FEValuesImplementation
24 {
25 template <int dim, int spacedim>
26 void
28 const unsigned int n_quadrature_points,
29 const UpdateFlags flags)
30 {
31 if (flags & update_quadrature_points)
32 this->quadrature_points.resize(
33 n_quadrature_points,
35
36 if (flags & update_JxW_values)
37 this->JxW_values.resize(n_quadrature_points,
38 numbers::signaling_nan<double>());
39
40 if (flags & update_jacobians)
41 this->jacobians.resize(
42 n_quadrature_points,
44
45 if (flags & update_jacobian_grads)
46 this->jacobian_grads.resize(
47 n_quadrature_points,
49
51 this->jacobian_pushed_forward_grads.resize(
52 n_quadrature_points, numbers::signaling_nan<Tensor<3, spacedim>>());
53
55 this->jacobian_2nd_derivatives.resize(
56 n_quadrature_points,
58
60 this->jacobian_pushed_forward_2nd_derivatives.resize(
61 n_quadrature_points, numbers::signaling_nan<Tensor<4, spacedim>>());
62
64 this->jacobian_3rd_derivatives.resize(n_quadrature_points);
65
67 this->jacobian_pushed_forward_3rd_derivatives.resize(
68 n_quadrature_points, numbers::signaling_nan<Tensor<5, spacedim>>());
69
70 if (flags & update_inverse_jacobians)
71 this->inverse_jacobians.resize(
72 n_quadrature_points,
74
75 if (flags & update_boundary_forms)
76 this->boundary_forms.resize(
77 n_quadrature_points, numbers::signaling_nan<Tensor<1, spacedim>>());
78
79 if (flags & update_normal_vectors)
80 this->normal_vectors.resize(
81 n_quadrature_points, numbers::signaling_nan<Tensor<1, spacedim>>());
82 }
83
84
85
86 template <int dim, int spacedim>
87 std::size_t
89 {
90 return (
94 MemoryConsumption::memory_consumption(jacobian_pushed_forward_grads) +
95 MemoryConsumption::memory_consumption(jacobian_2nd_derivatives) +
97 jacobian_pushed_forward_2nd_derivatives) +
98 MemoryConsumption::memory_consumption(jacobian_3rd_derivatives) +
100 jacobian_pushed_forward_3rd_derivatives) +
101 MemoryConsumption::memory_consumption(inverse_jacobians) +
102 MemoryConsumption::memory_consumption(quadrature_points) +
105 }
106 } // namespace FEValuesImplementation
107} // namespace internal
108
109#include "fe/mapping_related_data.inst"
110
Definition point.h:111
void initialize(const unsigned int n_quadrature_points, const UpdateFlags flags)
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
UpdateFlags
@ update_jacobian_pushed_forward_2nd_derivatives
@ update_jacobian_pushed_forward_grads
@ update_jacobian_3rd_derivatives
@ update_jacobian_grads
Gradient of volume element.
@ update_normal_vectors
Normal vectors.
@ update_JxW_values
Transformed quadrature weights.
@ update_jacobians
Volume element.
@ update_inverse_jacobians
Volume element.
@ update_quadrature_points
Transformed quadrature points.
@ update_jacobian_pushed_forward_3rd_derivatives
@ update_boundary_forms
Outer normal vector, not normalized.
@ update_jacobian_2nd_derivatives
std::enable_if_t< std::is_fundamental_v< T >, std::size_t > memory_consumption(const T &t)
T signaling_nan()