Reference documentation for deal.II version 9.3.3
\(\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\}}\)
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>

Inheritance diagram for SLEPcWrappers::TransformationBase:
[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
 

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);
void shift(const Tensor< 1, spacedim > &shift_vector, Triangulation< dim, spacedim > &triangulation)
Definition: grid_tools.cc:2022

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);
static const char A
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
Note
These options can also be set at the command line.

Definition at line 76 of file slepc_spectral_transformation.h.

Constructor & Destructor Documentation

◆ TransformationBase()

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

Constructor.

Definition at line 32 of file slepc_spectral_transformation.cc.

◆ ~TransformationBase()

SLEPcWrappers::TransformationBase::~TransformationBase ( )
virtual

Destructor.

Definition at line 38 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 http://www.grycap.upv.es/slepc/documentation/current/docs/manualpages/ST/STMatMode.html

Definition at line 49 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 56 of file slepc_spectral_transformation.cc.

Friends And Related Function Documentation

◆ SolverBase

friend class SolverBase
friend

Definition at line 116 of file slepc_spectral_transformation.h.

Member Data Documentation

◆ st

ST SLEPcWrappers::TransformationBase::st
protected

SLEPc spectral transformation object.

Definition at line 112 of file slepc_spectral_transformation.h.


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