QuadraticEigsolvOperators Class Reference

#include <QuadraticEigsolvOperators.h>

Inheritance diagram for QuadraticEigsolvOperators:

Inheritance graph
[legend]
Collaboration diagram for QuadraticEigsolvOperators:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 QuadraticEigsolvOperators (FemaxMesh &mesh_mixed, Teuchos::ParameterList &params, const Epetra_Comm &MyComm)
 ~QuadraticEigsolvOperators ()
const Epetra_Operator * getA () const
const Epetra_Operator * getM () const
const Epetra_Operator * getAsigmaPrec (double sigma)
const Epetra_Operator * getHSolver ()
const Epetra_Operator * getHPrec ()
Epetra_Operator * getH ()
Epetra_Operator * getY () const
Epetra_Operator * getC () const

Private Member Functions

 QuadraticEigsolvOperators (const QuadraticEigsolvOperators &leo)
QuadraticEigsolvOperatorsoperator= (const QuadraticEigsolvOperators &ref)
int buildPreconditioner (double sigma)
int buildHierarchicalPrec (double sigma)
int buildHierarchicalHPrec ()
Epetra_CrsMatrix * getH11 ()
void matrixAssembly (FemaxMesh &mesh_mixed)

Private Attributes

const Epetra_Comm & Comm
Epetra_FECrsMatrix * A
Epetra_FECrsMatrix * M
Epetra_CrsMatrix * K
Epetra_CrsMatrix * K11
Epetra_CrsMatrix * K12
Epetra_CrsMatrix * K22
Epetra_CrsMatrix * H
Epetra_CrsMatrix * H11
Epetra_CrsMatrix * H12
Epetra_CrsMatrix * H22
Epetra_FECrsMatrix * Y
Epetra_CrsMatrix * Y11
Epetra_CrsMatrix * C
Epetra_Operator * Prec
Epetra_Operator * h_solver_op_
Epetra_Operator * HPrec
double _sigma_K
Teuchos::ParameterList & params_
Epetra_LinearProblem * Aprec
AztecOO * AprecSolver
int non
int noe

Detailed Description

Definition at line 47 of file QuadraticEigsolvOperators.h.


Constructor & Destructor Documentation

QuadraticEigsolvOperators::QuadraticEigsolvOperators ( FemaxMesh mesh_mixed,
Teuchos::ParameterList &  params,
const Epetra_Comm &  MyComm 
)

Definition at line 20 of file QuadraticEigsolvOperators.cpp.

References FemaxMesh::get_lagrange_mesh(), FemaxMesh::get_nedelec_mesh(), NedelecMesh::get_num_global_mdofs(), LagrangeMesh::get_num_global_mdofs(), matrixAssembly(), noe, and non.

Here is the call graph for this function:

QuadraticEigsolvOperators::~QuadraticEigsolvOperators (  ) 

Definition at line 51 of file QuadraticEigsolvOperators.cpp.

References A, Aprec, AprecSolver, OutputCapturer::begin_capture(), C, OutputCapturer::end_capture(), OutputCapturer::get_stdout(), H, H11, H12, H22, h_solver_op_, HPrec, K, K11, K12, K22, M, Prec, and Y.

Here is the call graph for this function:

QuadraticEigsolvOperators::QuadraticEigsolvOperators ( const QuadraticEigsolvOperators leo  )  [private]


Member Function Documentation

int QuadraticEigsolvOperators::buildHierarchicalHPrec (  )  [private]

Definition at line 507 of file QuadraticEigsolvOperators.cpp.

References Comm, H, H11, H12, H22, HPrec, noe, non, and params_.

Referenced by getHPrec().

int QuadraticEigsolvOperators::buildHierarchicalPrec ( double  sigma  )  [private]

Build 2-level preconditioner for A-sigma*M. Build matrices K11, Y11, H11, K22 and construct HierarchicalBasisPrec.

Parameters:
sigma Shift sigma.
Returns:
Return status (non-zero means error).

Definition at line 216 of file QuadraticEigsolvOperators.cpp.

References A, Comm, getH11(), H11, K11, K12, K22, M, noe, params_, Prec, Y, and Y11.

Referenced by getAsigmaPrec().

Here is the call graph for this function:

int QuadraticEigsolvOperators::buildPreconditioner ( double  sigma  )  [private]

Definition at line 79 of file QuadraticEigsolvOperators.cpp.

References A, Aprec, AprecSolver, AbstractEigsolvOperators::build_Asigma(), K, M, and Prec.

Referenced by getAsigmaPrec().

Here is the call graph for this function:

const Epetra_Operator * QuadraticEigsolvOperators::getA (  )  const [virtual]

Implements AbstractEigsolvOperators.

Definition at line 655 of file QuadraticEigsolvOperators.cpp.

References A.

const Epetra_Operator * QuadraticEigsolvOperators::getAsigmaPrec ( double  sigma  )  [virtual]

Implements AbstractEigsolvOperators.

Definition at line 663 of file QuadraticEigsolvOperators.cpp.

References _sigma_K, A, AbstractEigsolvOperators::build_Asigma(), buildHierarchicalPrec(), buildPreconditioner(), K, M, params_, pbe_start, pbe_stop, Prec, and rExit.

Here is the call graph for this function:

Epetra_Operator * QuadraticEigsolvOperators::getC (  )  const [virtual]

Implements AbstractEigsolvOperators.

Definition at line 754 of file QuadraticEigsolvOperators.cpp.

References C.

Epetra_Operator * QuadraticEigsolvOperators::getH (  )  [virtual]

Implements AbstractEigsolvOperators.

Definition at line 746 of file QuadraticEigsolvOperators.cpp.

References H.

Epetra_CrsMatrix * QuadraticEigsolvOperators::getH11 (  )  [private]

Definition at line 602 of file QuadraticEigsolvOperators.cpp.

References Comm, H, H11, and non.

Referenced by buildHierarchicalPrec().

const Epetra_Operator * QuadraticEigsolvOperators::getHPrec (  )  [virtual]

Return preconditioner operator for H. If called for the first time, the preconditioner is constructed on-the-fly.

Implements AbstractEigsolvOperators.

Definition at line 722 of file QuadraticEigsolvOperators.cpp.

References OutputCapturer::begin_capture(), buildHierarchicalHPrec(), OutputCapturer::end_capture(), H, HPrec, OutputCapturer::log(), params_, pbe_start, pbe_stop, and rExit.

Referenced by getHSolver().

Here is the call graph for this function:

const Epetra_Operator * QuadraticEigsolvOperators::getHSolver (  )  [virtual]

Return solver object for H. If called for the first time, the solver is constructed on-the-fly.

Implements AbstractEigsolvOperators.

Definition at line 693 of file QuadraticEigsolvOperators.cpp.

References Comm, getHPrec(), H, h_solver_op_, params_, pbe_start, pbe_stop, rExit, and BlockPCGSolver::setPreconditioner().

Here is the call graph for this function:

const Epetra_Operator * QuadraticEigsolvOperators::getM (  )  const [virtual]

Implements AbstractEigsolvOperators.

Definition at line 659 of file QuadraticEigsolvOperators.cpp.

References M.

Epetra_Operator * QuadraticEigsolvOperators::getY (  )  const [virtual]

Implements AbstractEigsolvOperators.

Definition at line 750 of file QuadraticEigsolvOperators.cpp.

References Y.

void QuadraticEigsolvOperators::matrixAssembly ( FemaxMesh mesh_mixed  )  [private]

Definition at line 110 of file QuadraticEigsolvOperators.cpp.

References A, NedelecMesh::assembleAM(), C, Comm, FemaxMesh::constructY(), FemaxMesh::constructY_transp(), export_Epetra_CrsMatrix(), export_Epetra_Map(), LagrangeMesh::gdof(), NedelecMesh::gdof(), FemaxMesh::get_lagrange_mesh(), FemaxMesh::get_nedelec_mesh(), LagrangeMesh::get_num_my_dofs(), NedelecMesh::get_num_my_dofs(), H, mesh::ID_NONE, LagrangeMesh::is_owned_gdof(), NedelecMesh::is_owned_gdof(), log_matrix_stats(), log_mem_footprint(), M, LagrangeMesh::map_dof(), NedelecMesh::map_dof(), params_, pbe_start, pbe_stop, poor_man_matrix_matrix(), rInfoAll, and Y.

Referenced by QuadraticEigsolvOperators().

Here is the call graph for this function:

QuadraticEigsolvOperators& QuadraticEigsolvOperators::operator= ( const QuadraticEigsolvOperators ref  )  [private]


Member Data Documentation

double QuadraticEigsolvOperators::_sigma_K [private]

Shift sigma using which the preconditioner was constructed

Definition at line 111 of file QuadraticEigsolvOperators.h.

Referenced by getAsigmaPrec().

Epetra_FECrsMatrix* QuadraticEigsolvOperators::A [private]

Definition at line 92 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), buildPreconditioner(), getA(), getAsigmaPrec(), matrixAssembly(), and ~QuadraticEigsolvOperators().

Epetra_LinearProblem* QuadraticEigsolvOperators::Aprec [private]

Definition at line 119 of file QuadraticEigsolvOperators.h.

Referenced by buildPreconditioner(), and ~QuadraticEigsolvOperators().

AztecOO* QuadraticEigsolvOperators::AprecSolver [private]

Definition at line 120 of file QuadraticEigsolvOperators.h.

Referenced by buildPreconditioner(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::C [private]

Definition at line 104 of file QuadraticEigsolvOperators.h.

Referenced by getC(), matrixAssembly(), and ~QuadraticEigsolvOperators().

const Epetra_Comm& QuadraticEigsolvOperators::Comm [private]

Definition at line 91 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), buildHierarchicalPrec(), getH11(), getHSolver(), and matrixAssembly().

Epetra_CrsMatrix* QuadraticEigsolvOperators::H [private]

Definition at line 98 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), getH(), getH11(), getHPrec(), getHSolver(), matrixAssembly(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::H11 [private]

Definition at line 99 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), buildHierarchicalPrec(), getH11(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::H12 [private]

Definition at line 100 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::H22 [private]

Definition at line 101 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), and ~QuadraticEigsolvOperators().

Epetra_Operator* QuadraticEigsolvOperators::h_solver_op_ [private]

Definition at line 106 of file QuadraticEigsolvOperators.h.

Referenced by getHSolver(), and ~QuadraticEigsolvOperators().

Epetra_Operator* QuadraticEigsolvOperators::HPrec [private]

Definition at line 107 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), getHPrec(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::K [private]

Definition at line 94 of file QuadraticEigsolvOperators.h.

Referenced by buildPreconditioner(), getAsigmaPrec(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::K11 [private]

Definition at line 95 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::K12 [private]

Definition at line 96 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::K22 [private]

Definition at line 97 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), and ~QuadraticEigsolvOperators().

Epetra_FECrsMatrix* QuadraticEigsolvOperators::M [private]

Definition at line 93 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), buildPreconditioner(), getAsigmaPrec(), getM(), matrixAssembly(), and ~QuadraticEigsolvOperators().

int QuadraticEigsolvOperators::noe [private]

Size of (1,1)-block in matrix A and M.

Definition at line 125 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), buildHierarchicalPrec(), and QuadraticEigsolvOperators().

int QuadraticEigsolvOperators::non [private]

Size of (1,1)-block in matrix H.

Definition at line 123 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), getH11(), and QuadraticEigsolvOperators().

Teuchos::ParameterList& QuadraticEigsolvOperators::params_ [private]

Parameter list

Definition at line 114 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalHPrec(), buildHierarchicalPrec(), getAsigmaPrec(), getHPrec(), getHSolver(), and matrixAssembly().

Epetra_Operator* QuadraticEigsolvOperators::Prec [private]

Definition at line 105 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), buildPreconditioner(), getAsigmaPrec(), and ~QuadraticEigsolvOperators().

Epetra_FECrsMatrix* QuadraticEigsolvOperators::Y [private]

Definition at line 102 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec(), getY(), matrixAssembly(), and ~QuadraticEigsolvOperators().

Epetra_CrsMatrix* QuadraticEigsolvOperators::Y11 [private]

Definition at line 103 of file QuadraticEigsolvOperators.h.

Referenced by buildHierarchicalPrec().


The documentation for this class was generated from the following files:
Generated on Fri Oct 26 13:35:17 2007 for FEMAXX (Finite Element Maxwell Eigensolver) by  doxygen 1.4.7