deal.II version GIT relicensing-3718-gc13d52846a 2025-07-09 19:30: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
Public Member Functions | Protected Member Functions | Protected Attributes | Friends | List of all members
SLEPcWrappers::TransformationBase Class Reference

#include <deal.II/lac/slepc_spectral_transformation.h>

Detailed Description

Base class for spectral transformation classes using the SLEPc solvers which are selected based on flags passed to the spectral transformation.

SLEPcWrappers::TransformationXXX, where XXX is your favourite transformation type, can then be implemented in application codes in the following way for XXX=INVERT with the solver object eigensolver:

// Set a transformation, this one shifts the eigenspectrum by 3.142..
additional_data(3.142);
SLEPcWrappers::TransformationShift shift(mpi_communicator,additional_data);
eigensolver.set_transformation(shift);

and later calling the solve() function as usual:

SolverControl solver_control (1000, 1e-9);
SolverArnoldi system (solver_control, mpi_communicator);
eigensolver.solve (A, B, lambda, x, size_of_spectrum);
Note
These options can also be set at the command line.

Definition at line 75 of file slepc_spectral_transformation.h.

Inheritance diagram for SLEPcWrappers::TransformationBase:
Inheritance graph
[legend]

Public Member Functions

virtual ~TransformationBase ()
 
void set_matrix_mode (const STMatMode mode)
 
void set_solver (const PETScWrappers::SolverBase &solver)
 

Protected Member Functions

 TransformationBase (const MPI_Comm mpi_communicator)
 

Protected Attributes

ST st
 

Friends

class SolverBase
 

Constructor & Destructor Documentation

◆ TransformationBase()

SLEPcWrappers::TransformationBase::TransformationBase ( const MPI_Comm  mpi_communicator)
explicitprotected

Constructor.

Definition at line 31 of file slepc_spectral_transformation.cc.

◆ ~TransformationBase()

SLEPcWrappers::TransformationBase::~TransformationBase ( )
virtual

Destructor.

Definition at line 37 of file slepc_spectral_transformation.cc.

Member Function Documentation

◆ set_matrix_mode()

void SLEPcWrappers::TransformationBase::set_matrix_mode ( const STMatMode  mode)

Set a flag to indicate how the transformed matrices are being stored in the spectral transformations.

The possible values are given by the enumerator STMatMode in the SLEPc library https://slepc.upv.es/documentation/current/docs/manualpages/ST/STMatMode.html

Definition at line 47 of file slepc_spectral_transformation.cc.

◆ set_solver()

void SLEPcWrappers::TransformationBase::set_solver ( const PETScWrappers::SolverBase solver)

Set solver to be used when solving a system of linear algebraic equations inside the eigensolver.

Definition at line 54 of file slepc_spectral_transformation.cc.

Friends And Related Symbol Documentation

◆ SolverBase

friend class SolverBase
friend

Definition at line 115 of file slepc_spectral_transformation.h.

Member Data Documentation

◆ st

ST SLEPcWrappers::TransformationBase::st
protected

SLEPc spectral transformation object.

Definition at line 111 of file slepc_spectral_transformation.h.


The documentation for this class was generated from the following files: