Reference documentation for deal.II version 9.5.0
\(\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// Copyright (C) 1998 - 2022 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
19
21
23
24namespace internal
25{
26 namespace FEValuesImplementation
27 {
28 template <int dim, int spacedim>
29 void
31 const unsigned int n_quadrature_points,
32 const UpdateFlags flags)
33 {
34 if (flags & update_quadrature_points)
35 this->quadrature_points.resize(
36 n_quadrature_points,
38
39 if (flags & update_JxW_values)
40 this->JxW_values.resize(n_quadrature_points,
41 numbers::signaling_nan<double>());
42
43 if (flags & update_jacobians)
44 this->jacobians.resize(
45 n_quadrature_points,
47
48 if (flags & update_jacobian_grads)
49 this->jacobian_grads.resize(
50 n_quadrature_points,
52
54 this->jacobian_pushed_forward_grads.resize(
55 n_quadrature_points, numbers::signaling_nan<Tensor<3, spacedim>>());
56
58 this->jacobian_2nd_derivatives.resize(
59 n_quadrature_points,
61
63 this->jacobian_pushed_forward_2nd_derivatives.resize(
64 n_quadrature_points, numbers::signaling_nan<Tensor<4, spacedim>>());
65
67 this->jacobian_3rd_derivatives.resize(n_quadrature_points);
68
70 this->jacobian_pushed_forward_3rd_derivatives.resize(
71 n_quadrature_points, numbers::signaling_nan<Tensor<5, spacedim>>());
72
73 if (flags & update_inverse_jacobians)
74 this->inverse_jacobians.resize(
75 n_quadrature_points,
77
78 if (flags & update_boundary_forms)
79 this->boundary_forms.resize(
80 n_quadrature_points, numbers::signaling_nan<Tensor<1, spacedim>>());
81
82 if (flags & update_normal_vectors)
83 this->normal_vectors.resize(
84 n_quadrature_points, numbers::signaling_nan<Tensor<1, spacedim>>());
85 }
86
87
88
89 template <int dim, int spacedim>
90 std::size_t
92 {
93 return (
97 MemoryConsumption::memory_consumption(jacobian_pushed_forward_grads) +
98 MemoryConsumption::memory_consumption(jacobian_2nd_derivatives) +
100 jacobian_pushed_forward_2nd_derivatives) +
101 MemoryConsumption::memory_consumption(jacobian_3rd_derivatives) +
103 jacobian_pushed_forward_3rd_derivatives) +
104 MemoryConsumption::memory_consumption(inverse_jacobians) +
105 MemoryConsumption::memory_consumption(quadrature_points) +
108 }
109 } // namespace FEValuesImplementation
110} // namespace internal
111
112#include "mapping_related_data.inst"
113
Definition point.h:112
void initialize(const unsigned int n_quadrature_points, const UpdateFlags flags)
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:472
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:473
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< T >::value, std::size_t > memory_consumption(const T &t)
T signaling_nan()