deal.II version GIT relicensing-6842-g793a97d2aa 2026-10-02 14:00: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
petsc_full_matrix.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) 2004 - 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_petsc_full_matrix_h
14#define dealii_petsc_full_matrix_h
15
16
17#include <deal.II/base/config.h>
18
19#ifdef DEAL_II_WITH_PETSC
20
23
24#endif // DEAL_II_WITH_PETSC
25
27
28#ifdef DEAL_II_WITH_PETSC
29namespace PETScWrappers
30{
47 class FullMatrix : public MatrixBase
48 {
49 public:
54
55
59 FullMatrix();
60
61
65 FullMatrix(const size_type m, const size_type n);
66
67
73 void
74 reinit(const size_type m, const size_type n);
75
86
87
88 private:
94 void
95 do_reinit(const size_type m, const size_type n);
96 };
97
98 namespace MPI
99 {
107 class FullMatrix : public MatrixBase
108 {
109 public:
114
115
119 FullMatrix();
120
121 /* Initialize with communication
122 * happening over the provided @p communicator.
123 * For the meaning of the @p local_rows_per_process and @p
124 * local_columns_per_process parameters, see the class documentation. */
125 FullMatrix(const MPI_Comm communicator,
126 const size_type m,
127 const size_type n,
128 const size_type local_rows_per_process,
129 const size_type local_columns_per_process);
130
138 explicit FullMatrix(const Mat &);
139
143 ~FullMatrix() override;
144
153 FullMatrix &
154 operator=(const value_type d);
155
156 void
157 reinit(const MPI_Comm communicator,
158 const size_type m,
159 const size_type n,
160 const size_type local_rows_per_process,
161 const size_type local_columns_per_process);
162
165 private:
171 void
172 do_reinit(const MPI_Comm communicator,
173 const size_type m,
174 const size_type n,
175 const size_type local_rows_per_process,
176 const size_type local_columns_per_process);
177 };
178 } // namespace MPI
179
180
181} // namespace PETScWrappers
182
183#endif // DEAL_II_WITH_PETSC
184
186
187#endif
void do_reinit(const MPI_Comm communicator, const size_type m, const size_type n, const size_type local_rows_per_process, const size_type local_columns_per_process)
#define DEAL_II_NAMESPACE_OPEN
Definition config.h:38
#define DEAL_II_NAMESPACE_CLOSE
Definition config.h:39
FullMatrix & operator=(const value_type d)
void reinit(const MPI_Comm communicator, const size_type m, const size_type n, const size_type local_rows_per_process, const size_type local_columns_per_process)
void reinit(const size_type m, const size_type n)
void do_reinit(const size_type m, const size_type n)
FullMatrix & operator=(const value_type d)
unsigned int global_dof_index
Definition types.h:92