deal.II version GIT relicensing-2165-gc91f007519 2024-11-20 01:40: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
number_cache.h
Go to the documentation of this file.
1// ------------------------------------------------------------------------
2//
3// SPDX-License-Identifier: LGPL-2.1-or-later
4// Copyright (C) 2010 - 2023 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#ifndef dealii_number_cache_h
16#define dealii_number_cache_h
17
18#include <deal.II/base/config.h>
19
22
23#include <vector>
24
25
27
28namespace internal
29{
30 namespace DoFHandlerImplementation
31 {
37 {
42
47 NumberCache(const NumberCache &) = default;
48
53 NumberCache(NumberCache &&) = default;
54
65
66
80 NumberCache(const std::vector<IndexSet> &locally_owned_dofs_per_processor,
81 const unsigned int my_rank);
82
88 operator=(const NumberCache &) = default;
89
95 operator=(NumberCache &&) = default;
96
101 std::size_t
102 memory_consumption() const;
103
107 void
108 clear();
109
117 std::vector<types::global_dof_index>
119 const MPI_Comm mpi_communicator) const;
120
128 std::vector<IndexSet>
130 const MPI_Comm mpi_communicator) const;
131
137
147
158
168 std::vector<types::global_dof_index> n_locally_owned_dofs_per_processor;
169
179 std::vector<IndexSet> locally_owned_dofs_per_processor;
180
186 template <class Archive>
187 void
188 serialize(Archive &ar, const unsigned int version);
189 };
190
191
192 template <class Archive>
193 void
194 NumberCache::serialize(Archive &ar, const unsigned int /*version*/)
195 {
200 }
201
202 } // namespace DoFHandlerImplementation
203} // namespace internal
204
205
207
208#endif // dealii_dof_iterator_selector_h
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:498
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:499
const unsigned int my_rank
Definition mpi.cc:918
std::vector< types::global_dof_index > n_locally_owned_dofs_per_processor
std::vector< IndexSet > locally_owned_dofs_per_processor
std::vector< IndexSet > get_locally_owned_dofs_per_processor(const MPI_Comm mpi_communicator) const
NumberCache(const NumberCache &)=default
std::vector< types::global_dof_index > get_n_locally_owned_dofs_per_processor(const MPI_Comm mpi_communicator) const
NumberCache & operator=(NumberCache &&)=default
void serialize(Archive &ar, const unsigned int version)
NumberCache & operator=(const NumberCache &)=default