![]() |
|
#include <trilinos_solver.h>
Inheritance diagram for oomph::OomphLibPreconditionerEpetraOperator:Public Member Functions | |
| OomphLibPreconditionerEpetraOperator (Preconditioner *preconditioner_pt, bool use_epetra_values=false) | |
| ~OomphLibPreconditionerEpetraOperator () | |
| OomphLibPreconditionerEpetraOperator (const OomphLibPreconditionerEpetraOperator &)=delete | |
| Broken copy constructor. More... | |
| void | operator= (const OomphLibPreconditionerEpetraOperator &)=delete |
| Broken assignment operator. More... | |
| int | SetUseTranspose (bool UseTranspose) |
| Broken Epetra_Operator member - SetUseTranspose. More... | |
| int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
| Broken Epetra_Operator member - Apply. More... | |
| int | ApplyInverse (const Epetra_MultiVector &epetra_r, Epetra_MultiVector &epetra_z) const |
| double | NormInf () const |
| Broken Epetra_Operator member - NormInf. More... | |
| const char * | Label () const |
| Epetra_Operator::Label - returns a string describing the operator. More... | |
| bool | UseTranspose () const |
| Broken Epetra_Operator member - UseTranspose. More... | |
| bool | HasNormInf () const |
| Broken Epetra_Operator member - HasNormInf. More... | |
| const Epetra_Comm & | Comm () const |
| Returns the Epetra MPI_Comm object. More... | |
| const Epetra_Map & | OperatorDomainMap () const |
| Epetra_Operator member - OperatorDomainMap. More... | |
| const Epetra_Map & | OperatorRangeMap () const |
| Epetra_Operator member - OperatorRangeMap. More... | |
Private Attributes | |
| Preconditioner * | Oomph_lib_preconditioner_pt |
| A pointer to the oomph-lib preconditioner. More... | |
| Epetra_SerialComm | Operator_comm |
| An Epetra Serial Comm object. More... | |
| bool | Use_epetra_values |
| Epetra_Map * | Operator_map_pt |
| std::string | Preconditioner_label |
| a label for the preconditioner ( for Epetra_Operator::Label() ) More... | |
An Epetra_Operator class for oomph-lib preconditioners. A helper class for TrilinosOomphLibPreconditioner to allow an oomph-lib preconditioner (i.e. one derived from Preconditioner) to be used with a trilinos solver (TrilinosAztecOOSolver)
|
inline |
Constructor - takes the pointer to the oomph-lib preconditioner and the distribution of the preconditioner Note: the oomph-lib preconditioner must be setup. If use_eptra_values is true then the epetra vector values is used within the vectors passed to the oomph-lib preconditioner. If this is true none of the vector rebuild methods can be called.
References oomph::TrilinosEpetraHelpers::create_epetra_map(), oomph::DistributableLinearAlgebraObject::distribution_pt(), Oomph_lib_preconditioner_pt, Operator_map_pt, and Preconditioner_label.
|
inline |
Destructor - deletes the Epetra_map and My_global_rows vector (if MPI)
References Operator_map_pt.
|
delete |
Broken copy constructor.
|
inline |
Broken Epetra_Operator member - Apply.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inline |
applies the oomph-lib preconditioner. Converts the Epetra vector applys the preconditioner by calling the oomph-lib preconditioner's preconditioner_solve functionality. NOTE : the oomph-lib preconditioner is setup prior to being passed to this class
References oomph::DoubleVector::build(), oomph::DistributableLinearAlgebraObject::distribution_pt(), i, oomph::LinearAlgebraDistribution::nrow_local(), Oomph_lib_preconditioner_pt, oomph::Preconditioner::preconditioner_solve(), oomph::DoubleVector::set_external_values(), and Use_epetra_values.
|
inline |
|
inline |
Broken Epetra_Operator member - HasNormInf.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inline |
Epetra_Operator::Label - returns a string describing the operator.
References Preconditioner_label.
|
inline |
Broken Epetra_Operator member - NormInf.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
delete |
Broken assignment operator.
|
inline |
Epetra_Operator member - OperatorDomainMap.
References Operator_map_pt.
|
inline |
Epetra_Operator member - OperatorRangeMap.
References Operator_map_pt.
Broken Epetra_Operator member - SetUseTranspose.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
inline |
Broken Epetra_Operator member - UseTranspose.
References OOMPH_CURRENT_FUNCTION, and OOMPH_EXCEPTION_LOCATION.
|
private |
A pointer to the oomph-lib preconditioner.
Referenced by ApplyInverse(), and OomphLibPreconditionerEpetraOperator().
|
private |
An Epetra Serial Comm object.
Referenced by Comm().
|
private |
A pointer to an Epetra_Map object - describes distribution of the preconditioner, in this instance it is primarily used to prescribe the distribution of the residual and solution vector
Referenced by OomphLibPreconditionerEpetraOperator(), OperatorDomainMap(), OperatorRangeMap(), and ~OomphLibPreconditionerEpetraOperator().
|
private |
a label for the preconditioner ( for Epetra_Operator::Label() )
Referenced by Label(), and OomphLibPreconditionerEpetraOperator().
|
private |
Use the epetra data within the vectors passed to the oomph-lib preconditioner. If this is true none of the vector rebuild methods can be called.
Referenced by ApplyInverse().