Public Member Functions | Private Attributes | List of all members
oomph::AdjointProblemBasedShiftInvertOperator Class Reference

Class for the adjoing problem shift invert operation. More...

#include <trilinos_eigen_solver.h>

+ Inheritance diagram for oomph::AdjointProblemBasedShiftInvertOperator:

Public Member Functions

 AdjointProblemBasedShiftInvertOperator (Problem *const &problem_pt, LinearSolver *const &linear_solver_pt, const double &sigma=0.0)
 
void apply (const DoubleMultiVector &x, DoubleMultiVector &y) const
 Now specify how to apply the operator. More...
 
- Public Member Functions inherited from oomph::DoubleMultiVectorOperator
 DoubleMultiVectorOperator ()
 Empty constructor. More...
 
virtual ~DoubleMultiVectorOperator ()
 virtual destructor More...
 

Private Attributes

ProblemProblem_pt
 Pointer to the problem. More...
 
LinearSolverLinear_solver_pt
 Pointer to the linear solver used. More...
 
double Sigma
 Storage for the shift. More...
 
CRDoubleMatrixM_pt
 Storage for the matrices. More...
 
CRDoubleMatrixAsigmaM_pt
 

Detailed Description

Class for the adjoing problem shift invert operation.

Definition at line 588 of file trilinos_eigen_solver.h.

Constructor & Destructor Documentation

◆ AdjointProblemBasedShiftInvertOperator()

oomph::AdjointProblemBasedShiftInvertOperator::AdjointProblemBasedShiftInvertOperator ( Problem *const &  problem_pt,
LinearSolver *const &  linear_solver_pt,
const double &  sigma = 0.0 
)
inline

Before we get into the Arnoldi loop solve the shifted matrix problem Allocated Row compressed matrices for the mass matrix and shifted main matrix

Assemble the matrices

Get the transpose of the mass and jacobian NB Only difference to ProblemBasedShiftInvertOperator

Do not report the time taken

Definition at line 605 of file trilinos_eigen_solver.h.

References AsigmaM_pt, oomph::LinearSolver::disable_doc_time(), oomph::Problem::dof_distribution_pt(), oomph::Problem::get_eigenproblem_matrices(), oomph::CRDoubleMatrix::get_matrix_transpose(), Linear_solver_pt, M_pt, and Sigma.

Member Function Documentation

◆ apply()

void oomph::AdjointProblemBasedShiftInvertOperator::apply ( const DoubleMultiVector x,
DoubleMultiVector y 
) const
inlinevirtual

Member Data Documentation

◆ AsigmaM_pt

CRDoubleMatrix * oomph::AdjointProblemBasedShiftInvertOperator::AsigmaM_pt
private

Definition at line 602 of file trilinos_eigen_solver.h.

Referenced by AdjointProblemBasedShiftInvertOperator(), and apply().

◆ Linear_solver_pt

LinearSolver* oomph::AdjointProblemBasedShiftInvertOperator::Linear_solver_pt
private

Pointer to the linear solver used.

Definition at line 596 of file trilinos_eigen_solver.h.

Referenced by AdjointProblemBasedShiftInvertOperator(), and apply().

◆ M_pt

CRDoubleMatrix* oomph::AdjointProblemBasedShiftInvertOperator::M_pt
private

Storage for the matrices.

Definition at line 602 of file trilinos_eigen_solver.h.

Referenced by AdjointProblemBasedShiftInvertOperator(), and apply().

◆ Problem_pt

Problem* oomph::AdjointProblemBasedShiftInvertOperator::Problem_pt
private

Pointer to the problem.

Definition at line 593 of file trilinos_eigen_solver.h.

◆ Sigma

double oomph::AdjointProblemBasedShiftInvertOperator::Sigma
private

Storage for the shift.

Definition at line 599 of file trilinos_eigen_solver.h.

Referenced by AdjointProblemBasedShiftInvertOperator().


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