![]() |
|
Class for the Anasazi eigensolver. More...
#include <trilinos_eigen_solver.h>
Inheritance diagram for oomph::ANASAZI:Public Member Functions | |
| ANASAZI () | |
| Constructor. More... | |
| ANASAZI (const ANASAZI &) | |
| Empty copy constructor. More... | |
| virtual | ~ANASAZI () |
| Destructor, delete the linear solver. More... | |
| int & | narnoldi () |
| Access function for the number of Arnoldi vectors. More... | |
| const int & | narnoldi () const |
| Access function for the number of Arnoldi vectors (const version) More... | |
| void | enable_compute_eigenvectors () |
| Set to enable the computation of the eigenvectors (default) More... | |
| void | disable_compute_eigenvectors () |
| Set to disable the computation of the eigenvectors. More... | |
| void | solve_eigenproblem (Problem *const &problem_pt, const int &n_eval, Vector< std::complex< double >> &eigenvalue, Vector< DoubleVector > &eigenvector) |
| Solve the eigen problem. More... | |
| void | get_eigenvalues_left_of_shift () |
| Set the desired eigenvalues to be left of the shift. More... | |
| void | get_eigenvalues_right_of_shift () |
| Set the desired eigenvalues to be right of the shift. More... | |
| void | track_eigenvalue_real_part () |
| Set the real part to be the quantity of interest (default) More... | |
| void | track_eigenvalue_imaginary_part () |
| Set the imaginary part fo the quantity of interest. More... | |
| void | track_eigenvalue_magnitude () |
| Set the magnitude to be the quantity of interest. More... | |
| LinearSolver *& | linear_solver_pt () |
| Return a pointer to the linear solver object. More... | |
| LinearSolver *const & | linear_solver_pt () const |
| Return a pointer to the linear solver object (const version) More... | |
Public Member Functions inherited from oomph::EigenSolver | |
| EigenSolver () | |
| Empty constructor. More... | |
| EigenSolver (const EigenSolver &) | |
| Empty copy constructor. More... | |
| virtual | ~EigenSolver () |
| Empty destructor. More... | |
| void | set_shift (const double &shift_value) |
| Set the value of the shift. More... | |
| const double & | get_shift () const |
| Return the value of the shift (const version) More... | |
Public Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
| DistributableLinearAlgebraObject () | |
| Default constructor - create a distribution. More... | |
| DistributableLinearAlgebraObject (const DistributableLinearAlgebraObject &matrix)=delete | |
| Broken copy constructor. More... | |
| void | operator= (const DistributableLinearAlgebraObject &)=delete |
| Broken assignment operator. More... | |
| virtual | ~DistributableLinearAlgebraObject () |
| Destructor. More... | |
| LinearAlgebraDistribution * | distribution_pt () const |
| access to the LinearAlgebraDistribution More... | |
| unsigned | nrow () const |
| access function to the number of global rows. More... | |
| unsigned | nrow_local () const |
| access function for the num of local rows on this processor. More... | |
| unsigned | nrow_local (const unsigned &p) const |
| access function for the num of local rows on this processor. More... | |
| unsigned | first_row () const |
| access function for the first row on this processor More... | |
| unsigned | first_row (const unsigned &p) const |
| access function for the first row on this processor More... | |
| bool | distributed () const |
| distribution is serial or distributed More... | |
| bool | distribution_built () const |
| void | build_distribution (const LinearAlgebraDistribution *const dist_pt) |
| void | build_distribution (const LinearAlgebraDistribution &dist) |
Private Types | |
| typedef double | ST |
| typedef Teuchos::ScalarTraits< ST > | SCT |
| typedef SCT::magnitudeType | MT |
| typedef Anasazi::MultiVec< ST > | MV |
| typedef Anasazi::Operator< ST > | OP |
| typedef Anasazi::MultiVecTraits< ST, MV > | MVT |
| typedef Anasazi::OperatorTraits< ST, MV, OP > | OPT |
Private Attributes | |
| Anasazi::OutputManager< ST > * | Output_manager_pt |
| Pointer to output manager. More... | |
| LinearSolver * | Linear_solver_pt |
| Pointer to a linear solver. More... | |
| LinearSolver * | Default_linear_solver_pt |
| Pointer to a default linear solver. More... | |
| int | Spectrum |
| int | NArnoldi |
| Number of Arnoldi vectors to compute. More... | |
| double | Sigma |
| Set the shifted value. More... | |
| bool | Small |
| bool | Compute_eigenvectors |
| Boolean to indicate whether or not to compute the eigenvectors. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from oomph::DistributableLinearAlgebraObject | |
| void | clear_distribution () |
Protected Attributes inherited from oomph::EigenSolver | |
| double | Sigma_real |
Class for the Anasazi eigensolver.
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
inline |
Constructor.
References Output_manager_pt.
|
inline |
Set to disable the computation of the eigenvectors.
References Compute_eigenvectors.
|
inline |
Set to enable the computation of the eigenvectors (default)
References Compute_eigenvectors.
|
inline |
|
inline |
|
inline |
Return a pointer to the linear solver object.
References Linear_solver_pt.
Referenced by solve_eigenproblem().
|
inline |
Return a pointer to the linear solver object (const version)
References Linear_solver_pt.
|
inline |
|
inline |
|
inlinevirtual |
Solve the eigen problem.
Implements oomph::EigenSolver.
References a, b, oomph::Problem::dof_distribution_pt(), i, oomph::Problem::linear_solver_pt(), Linear_solver_pt, linear_solver_pt(), n, oomph::DistributableLinearAlgebraObject::nrow_local(), oomph::oomph_info, ret, Sigma, and oomph::EigenSolver::Sigma_real.
|
inline |
|
inline |
|
inline |
|
private |
Boolean to indicate whether or not to compute the eigenvectors.
Referenced by disable_compute_eigenvectors(), and enable_compute_eigenvectors().
|
private |
Pointer to a default linear solver.
|
private |
Pointer to a linear solver.
Referenced by linear_solver_pt(), and solve_eigenproblem().
|
private |
Number of Arnoldi vectors to compute.
Referenced by narnoldi().
|
private |
Pointer to output manager.
Referenced by ANASAZI().
|
private |
Set the shifted value.
Referenced by solve_eigenproblem().
|
private |
Boolean to set which part of the spectrum left (default) or right of the shifted value.
Referenced by get_eigenvalues_left_of_shift(), and get_eigenvalues_right_of_shift().
|
private |
Integer to set whether the real, imaginary or magnitude is required to be small or large.
Referenced by track_eigenvalue_imaginary_part(), track_eigenvalue_magnitude(), and track_eigenvalue_real_part().