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

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.
Author
Toby D. Young 2009, 2013; and Denis Davydov 2015.

Definition at line 74 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 114 of file slepc_spectral_transformation.h.

Member Data Documentation

◆ st

ST SLEPcWrappers::TransformationBase::st
protected

SLEPc spectral transformation object.

Definition at line 110 of file slepc_spectral_transformation.h.


The documentation for this class was generated from the following files:
Physics::Elasticity::Kinematics::e
SymmetricTensor< 2, dim, Number > e(const Tensor< 2, dim, Number > &F)
SLEPcWrappers::TransformationShift::AdditionalData
Definition: slepc_spectral_transformation.h:129
LAPACKSupport::A
static const char A
Definition: lapack_support.h:155
GridTools::shift
void shift(const Tensor< 1, spacedim > &shift_vector, Triangulation< dim, spacedim > &triangulation)
Definition: grid_tools.cc:817
SolverControl
Definition: solver_control.h:67
SLEPcWrappers::TransformationShift
Definition: slepc_spectral_transformation.h:123