Reference documentation for deal.II version 9.6.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
include
deal.II
lac
slepc_spectral_transformation.h
Go to the documentation of this file.
1
// ------------------------------------------------------------------------
2
//
3
// SPDX-License-Identifier: LGPL-2.1-or-later
4
// Copyright (C) 2009 - 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
16
#ifndef dealii_slepc_spectral_transformation_h
17
# define dealii_slepc_spectral_transformation_h
18
19
20
# include <
deal.II/base/config.h
>
21
22
# ifdef DEAL_II_WITH_SLEPC
23
24
# include <
deal.II/lac/exceptions.h
>
25
# include <
deal.II/lac/petsc_solver.h
>
26
27
# include <petscksp.h>
28
29
# include <slepceps.h>
30
31
# include <memory>
32
33
DEAL_II_NAMESPACE_OPEN
34
35
// Forward declaration
36
# ifndef DOXYGEN
37
namespace
PETScWrappers
38
{
39
// forward declarations
40
class
SolverBase
;
41
}
// namespace PETScWrappers
42
# endif
43
44
namespace
SLEPcWrappers
45
{
46
// forward declaration
47
class
SolverBase
;
48
75
class
TransformationBase
76
{
77
protected
:
81
explicit
TransformationBase
(
const
MPI_Comm
mpi_communicator);
82
83
public
:
87
virtual
~TransformationBase
();
88
97
void
98
set_matrix_mode
(
const
STMatMode mode);
99
104
void
105
set_solver
(
const
PETScWrappers::SolverBase
&solver);
106
107
protected
:
111
ST
st
;
112
113
// Make the solver class a friend, since it needs to set spectral
114
// transformation object.
115
friend
class
SolverBase
;
116
};
117
123
class
TransformationShift
:
public
TransformationBase
124
{
125
public
:
129
struct
AdditionalData
130
{
134
explicit
AdditionalData
(
const
double
shift_parameter
= 0);
135
139
const
double
shift_parameter
;
140
};
141
142
146
explicit
TransformationShift
(
const
MPI_Comm
mpi_communicator,
147
const
AdditionalData
&data =
AdditionalData
());
148
149
150
protected
:
154
const
AdditionalData
additional_data
;
155
};
156
163
class
TransformationShiftInvert
:
public
TransformationBase
164
{
165
public
:
169
struct
AdditionalData
170
{
174
explicit
AdditionalData
(
const
double
shift_parameter
= 0);
175
179
const
double
shift_parameter
;
180
};
181
182
186
explicit
TransformationShiftInvert
(
187
const
MPI_Comm
mpi_communicator,
188
const
AdditionalData
&data =
AdditionalData
());
189
190
protected
:
194
const
AdditionalData
additional_data
;
195
196
// Make the solver class a friend, since it may need to set target
197
// equal the provided shift value.
198
friend
class
SolverBase
;
199
};
200
211
class
DEAL_II_DEPRECATED
TransformationSpectrumFolding
212
:
public
TransformationBase
213
{
214
public
:
218
struct
AdditionalData
219
{
223
explicit
AdditionalData
(
const
double
shift_parameter = 0);
224
228
const
double
shift_parameter
;
229
};
230
231
235
explicit
TransformationSpectrumFolding
(
236
const
MPI_Comm
mpi_communicator,
237
const
AdditionalData
&data =
AdditionalData
());
238
239
protected
:
243
const
AdditionalData
additional_data
;
244
};
245
251
class
TransformationCayley
:
public
TransformationBase
252
{
253
public
:
257
struct
AdditionalData
258
{
262
explicit
AdditionalData
(
const
double
shift_parameter
= 0,
263
const
double
antishift_parameter
= 0);
264
268
const
double
shift_parameter
;
269
273
const
double
antishift_parameter
;
274
};
275
276
280
explicit
TransformationCayley
(
281
const
MPI_Comm
mpi_communicator,
282
const
AdditionalData
&data =
AdditionalData
());
283
284
protected
:
288
const
AdditionalData
additional_data
;
289
};
290
291
}
// namespace SLEPcWrappers
292
293
DEAL_II_NAMESPACE_CLOSE
294
295
# endif
// DEAL_II_WITH_SLEPC
296
297
/*-------------------- slepc_spectral_transformation.h ------------------*/
298
299
#endif
300
301
/*-------------------- slepc_spectral_transformation.h ------------------*/
MPI_Comm
PETScWrappers::SolverBase
Definition
petsc_solver.h:92
SLEPcWrappers::SolverBase
Definition
slepc_solver.h:146
SLEPcWrappers::TransformationBase
Definition
slepc_spectral_transformation.h:76
SLEPcWrappers::TransformationBase::set_matrix_mode
void set_matrix_mode(const STMatMode mode)
Definition
slepc_spectral_transformation.cc:48
SLEPcWrappers::TransformationBase::TransformationBase
TransformationBase(const MPI_Comm mpi_communicator)
Definition
slepc_spectral_transformation.cc:31
SLEPcWrappers::TransformationBase::~TransformationBase
virtual ~TransformationBase()
Definition
slepc_spectral_transformation.cc:37
SLEPcWrappers::TransformationBase::st
ST st
Definition
slepc_spectral_transformation.h:111
SLEPcWrappers::TransformationBase::set_solver
void set_solver(const PETScWrappers::SolverBase &solver)
Definition
slepc_spectral_transformation.cc:55
SLEPcWrappers::TransformationCayley
Definition
slepc_spectral_transformation.h:252
SLEPcWrappers::TransformationCayley::additional_data
const AdditionalData additional_data
Definition
slepc_spectral_transformation.h:288
SLEPcWrappers::TransformationCayley::TransformationCayley
TransformationCayley(const MPI_Comm mpi_communicator, const AdditionalData &data=AdditionalData())
Definition
slepc_spectral_transformation.cc:130
SLEPcWrappers::TransformationShiftInvert
Definition
slepc_spectral_transformation.h:164
SLEPcWrappers::TransformationShiftInvert::TransformationShiftInvert
TransformationShiftInvert(const MPI_Comm mpi_communicator, const AdditionalData &data=AdditionalData())
Definition
slepc_spectral_transformation.cc:87
SLEPcWrappers::TransformationShiftInvert::additional_data
const AdditionalData additional_data
Definition
slepc_spectral_transformation.h:194
SLEPcWrappers::TransformationShift
Definition
slepc_spectral_transformation.h:124
SLEPcWrappers::TransformationShift::additional_data
const AdditionalData additional_data
Definition
slepc_spectral_transformation.h:154
SLEPcWrappers::TransformationShift::TransformationShift
TransformationShift(const MPI_Comm mpi_communicator, const AdditionalData &data=AdditionalData())
Definition
slepc_spectral_transformation.cc:68
SLEPcWrappers::TransformationSpectrumFolding
Definition
slepc_spectral_transformation.h:213
SLEPcWrappers::TransformationSpectrumFolding::additional_data
const AdditionalData additional_data
Definition
slepc_spectral_transformation.h:243
SolverBase
Definition
solver.h:342
config.h
DEAL_II_DEPRECATED
#define DEAL_II_DEPRECATED
Definition
config.h:207
DEAL_II_NAMESPACE_OPEN
#define DEAL_II_NAMESPACE_OPEN
Definition
config.h:503
DEAL_II_NAMESPACE_CLOSE
#define DEAL_II_NAMESPACE_CLOSE
Definition
config.h:504
exceptions.h
PETScWrappers
Definition
template_constraints.h:634
SLEPcWrappers
Definition
slepc_solver.h:131
petsc_solver.h
SLEPcWrappers::TransformationCayley::AdditionalData
Definition
slepc_spectral_transformation.h:258
SLEPcWrappers::TransformationCayley::AdditionalData::shift_parameter
const double shift_parameter
Definition
slepc_spectral_transformation.h:268
SLEPcWrappers::TransformationCayley::AdditionalData::AdditionalData
AdditionalData(const double shift_parameter=0, const double antishift_parameter=0)
Definition
slepc_spectral_transformation.cc:123
SLEPcWrappers::TransformationCayley::AdditionalData::antishift_parameter
const double antishift_parameter
Definition
slepc_spectral_transformation.h:273
SLEPcWrappers::TransformationShiftInvert::AdditionalData
Definition
slepc_spectral_transformation.h:170
SLEPcWrappers::TransformationShiftInvert::AdditionalData::shift_parameter
const double shift_parameter
Definition
slepc_spectral_transformation.h:179
SLEPcWrappers::TransformationShiftInvert::AdditionalData::AdditionalData
AdditionalData(const double shift_parameter=0)
Definition
slepc_spectral_transformation.cc:82
SLEPcWrappers::TransformationShift::AdditionalData
Definition
slepc_spectral_transformation.h:130
SLEPcWrappers::TransformationShift::AdditionalData::AdditionalData
AdditionalData(const double shift_parameter=0)
Definition
slepc_spectral_transformation.cc:63
SLEPcWrappers::TransformationShift::AdditionalData::shift_parameter
const double shift_parameter
Definition
slepc_spectral_transformation.h:139
SLEPcWrappers::TransformationSpectrumFolding::AdditionalData
Definition
slepc_spectral_transformation.h:219
SLEPcWrappers::TransformationSpectrumFolding::AdditionalData::shift_parameter
const double shift_parameter
Definition
slepc_spectral_transformation.h:228
Generated by
1.11.0