LifeV
|
#include <PreconditionerYosida.hpp>
Protected Attributes | |
int | M_velocityBlockSize |
int | M_pressureBlockSize |
FESpacePtr_Type | M_uFESpace |
FESpacePtr_Type | M_pFESpace |
Real | M_timestep |
ADRAssembler< mesh_Type, matrixBlock_Type, vector_Type > | M_adrVelocityAssembler |
GetPot | M_dataFile |
std::string | M_fluidPrec |
std::string | M_fluidDataSection |
std::string | M_schurPrec |
std::string | M_schurDataSection |
Protected Attributes inherited from PreconditionerComposition | |
std::shared_ptr< Epetra_Comm > | M_comm |
Protected Attributes inherited from Preconditioner | |
std::string | M_precType |
Displayer | M_displayer |
list_Type | M_list |
bool | M_preconditionerCreated |
Private Member Functions | |
PreconditionerYosida (const PreconditionerYosida &P) | |
PreconditionerYosida (const std::shared_ptr< PreconditionerYosida > &) | |
Public Types | |
typedef RegionMesh< LinearTetra > | mesh_Type |
typedef MapEpetra | map_Type |
typedef MatrixEpetraStructured< Real > | matrixBlock_Type |
typedef MatrixEpetraStructuredView< Real > | matrixBlockView_Type |
typedef MatrixEpetra< Real > | matrix_Type |
typedef std::shared_ptr< matrix_Type > | matrixPtr_Type |
typedef VectorEpetra | vector_Type |
typedef std::shared_ptr< vector_Type > | vectorPtr_Type |
typedef Preconditioner | super_Type |
typedef std::shared_ptr< super_Type > | superPtr_Type |
typedef ComposedOperator< Preconditioner > | preconditioner_Type |
typedef std::shared_ptr< preconditioner_Type > | preconditionerPtr_Type |
typedef std::shared_ptr< FESpace< mesh_Type, map_Type > > | FESpacePtr_Type |
typedef Teuchos::ParameterList | list_Type |
Constructors, destructor | |
PreconditionerYosida (const std::shared_ptr< Epetra_Comm > &comm=std::shared_ptr< Epetra_Comm >()) | |
default constructor. More... | |
virtual | ~PreconditionerYosida () |
constructor from matrix A. More... | |
Methods | |
void | createParametersList (list_Type &list, const GetPot &dataFile, const std::string §ion, const std::string &subsection="Yosida") |
Create the list of parameters of the preconditioner. More... | |
double | condest () |
Return an estimation of the conditionement number of the preconditioner. More... | |
int | buildPreconditioner (matrixPtr_Type &A) |
Build the preconditioner. More... | |
Get Methods | |
int | numBlocksRows () const |
int | numBlocksColumns () const |
Set Methods | |
void | setDataFromGetPot (const GetPot &dataFile, const std::string §ion) |
Setter using GetPot. More... | |
virtual void | setParameters (Teuchos::ParameterList &list) |
Method to setup the solver using Teuchos::ParameterList. More... | |
void | setFESpace (FESpacePtr_Type uFESpace, FESpacePtr_Type pFESpace) |
Setter for the FESpace. More... | |
void | setTimestep (const Real ×tep) |
Setter for the timestep. More... | |
Additional Inherited Members | |
Public Types inherited from PreconditionerComposition | |
typedef Preconditioner | super_Type |
typedef std::shared_ptr< super_Type > | superPtr_Type |
typedef Epetra_Operator | operator_Type |
typedef std::shared_ptr< operator_Type > | operatorPtr_Type |
typedef ComposedOperator< operator_Type > | prec_Type |
typedef std::shared_ptr< prec_Type > | precPtr_Type |
typedef MatrixEpetra< Real > | matrix_Type |
typedef std::shared_ptr< matrix_Type > | matrixPtr_Type |
typedef Teuchos::ParameterList | list_Type |
Public Types inherited from Preconditioner | |
typedef Epetra_Operator | prec_raw_type |
typedef std::shared_ptr< prec_raw_type > | prec_type |
typedef MatrixEpetra< Real > | operator_raw_type |
typedef std::shared_ptr< operator_raw_type > | operator_type |
typedef Displayer::comm_Type | comm_Type |
typedef Displayer::commPtr_Type | commPtr_Type |
typedef Teuchos::ParameterList | list_Type |
Public Member Functions inherited from PreconditionerComposition | |
PreconditionerComposition (std::shared_ptr< Epetra_Comm > comm=std::shared_ptr< Epetra_Comm >(new Epetra_MpiComm(MPI_COMM_WORLD))) | |
Constructor. More... | |
~PreconditionerComposition () | |
Destructor. More... | |
void | resetPreconditioner () |
Reset the preconditioner. More... | |
Int | SetUseTranspose (const bool useTranspose=false) |
Set the matrix to be used transposed (or not) More... | |
Int | Apply (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Apply the inverse of the preconditioner on vector1 and store the result in vector2. More... | |
Int | ApplyInverse (const Epetra_MultiVector &X, Epetra_MultiVector &Y) const |
Apply the inverse of the preconditioner on vector1 and store the result in vector2. More... | |
bool | UseTranspose () |
Return true if the preconditioner is transposed. More... | |
const Epetra_Map & | OperatorRangeMap () const |
Return the Range map of the operator. More... | |
const Epetra_Map & | OperatorDomainMap () const |
Return the Domain map of the operator. More... | |
void | setComm (std::shared_ptr< Epetra_Comm > comm) |
bool | isPreconditionerSet () const |
Preconditioner is set? More... | |
operator_Type * | preconditioner () |
Get a standard pointer to the preconditioner. More... | |
operatorPtr_Type | preconditionerPtr () |
get a std::shared_ptr to the preconditioner. More... | |
virtual std::string | preconditionerType () |
Return the type name of the preconditioner. More... | |
UInt | numOperators () const |
Return the number of operators in the composition. More... | |
Public Member Functions inherited from Preconditioner | |
Preconditioner (const commPtr_Type &comm=commPtr_Type()) | |
Constructor. More... | |
Preconditioner (const Preconditioner &preconditioner, const commPtr_Type &comm=commPtr_Type()) | |
Copy constructor. More... | |
virtual | ~Preconditioner () |
Destructor. More... | |
virtual Int | buildPreconditioner (operator_type &matrix)=0 |
Build a preconditioner based on the given matrix. More... | |
virtual void | showMe (std::ostream &output=std::cout) const |
Show informations about the preconditioner. More... | |
void | setParametersList (const list_Type &list) |
The the internal list. More... | |
virtual void | setSolver (SolverAztecOO &) |
Set the internal solver. More... | |
const bool & | preconditionerCreated () |
Return true if the preconditioner has been created. More... | |
const list_Type & | parametersList () const |
Return the parameters list. More... | |
list_Type & | parametersList () |
Return the parameters list. More... | |
Protected Member Functions inherited from PreconditionerComposition | |
int | pushBack (matrixPtr_Type A, const bool useInverse=false, const bool useTranspose=false) |
Add A to the right of the composition. More... | |
int | pushBack (operatorPtr_Type oper, const bool useInverse=false, const bool useTranspose=false, matrixPtr_Type baseMatrix=matrixPtr_Type()) |
int | pushBack (matrixPtr_Type A, superPtr_Type preconditioner, const bool useInverse=false, const bool useTranspose=false) |
Use a preconditioner to build the inverse of A and add it to the right of the composition. More... | |
int | pushBack (matrixPtr_Type embeddedA, superPtr_Type preconditioner, const VectorBlockStructure &blockStructure, const UInt &blockIndex, const MapEpetra &fullMap, const bool useInverse=false, const bool useTranspose=false, const bool buildPreconditioner=true) |
Use a preconditioner to build the inverse of A and add it to the right of the composition. More... | |
int | pushBack (operatorPtr_Type embeddedOperator, const VectorBlockStructure &blockStructure, const UInt &blockIndex, const MapEpetra &fullMap, const bool useInverse, const bool useTranspose) |
The PreconditionerYosida is inspired by the Yosida method
Definition at line 62 of file PreconditionerYosida.hpp.
typedef RegionMesh<LinearTetra> mesh_Type |
Definition at line 70 of file PreconditionerYosida.hpp.
Definition at line 71 of file PreconditionerYosida.hpp.
typedef MatrixEpetraStructured<Real> matrixBlock_Type |
Definition at line 72 of file PreconditionerYosida.hpp.
Definition at line 73 of file PreconditionerYosida.hpp.
typedef MatrixEpetra<Real> matrix_Type |
Definition at line 74 of file PreconditionerYosida.hpp.
typedef std::shared_ptr<matrix_Type> matrixPtr_Type |
Definition at line 75 of file PreconditionerYosida.hpp.
typedef VectorEpetra vector_Type |
Definition at line 76 of file PreconditionerYosida.hpp.
typedef std::shared_ptr<vector_Type> vectorPtr_Type |
Definition at line 77 of file PreconditionerYosida.hpp.
typedef Preconditioner super_Type |
Definition at line 79 of file PreconditionerYosida.hpp.
typedef std::shared_ptr<super_Type> superPtr_Type |
Definition at line 80 of file PreconditionerYosida.hpp.
Definition at line 82 of file PreconditionerYosida.hpp.
typedef std::shared_ptr<preconditioner_Type> preconditionerPtr_Type |
Definition at line 83 of file PreconditionerYosida.hpp.
typedef std::shared_ptr<FESpace<mesh_Type, map_Type> > FESpacePtr_Type |
Definition at line 85 of file PreconditionerYosida.hpp.
typedef Teuchos::ParameterList list_Type |
Definition at line 87 of file PreconditionerYosida.hpp.
PreconditionerYosida | ( | const std::shared_ptr< Epetra_Comm > & | comm = std::shared_ptr<Epetra_Comm>() | ) |
default constructor.
Definition at line 50 of file PreconditionerYosida.cpp.
|
virtual |
constructor from matrix A.
A | EpetraMatrix<double> matrix upon which construct the preconditioner default destructor |
Definition at line 62 of file PreconditionerYosida.cpp.
|
inlineprivate |
Definition at line 181 of file PreconditionerYosida.hpp.
|
inlineprivate |
Definition at line 183 of file PreconditionerYosida.hpp.
|
virtual |
Create the list of parameters of the preconditioner.
list | A Parameter list to be filled |
dataFile | A GetPot object containing the data about the preconditioner |
section | The section in "dataFile" where to find data about the preconditioner |
subSection | The subsection in "dataFile" where to find data about the preconditioner |
Implements PreconditionerComposition.
Definition at line 68 of file PreconditionerYosida.cpp.
|
virtual |
Return an estimation of the conditionement number of the preconditioner.
Reimplemented from PreconditionerComposition.
Definition at line 100 of file PreconditionerYosida.cpp.
|
virtual |
Build the preconditioner.
Implements PreconditionerComposition.
Definition at line 106 of file PreconditionerYosida.cpp.
int numBlocksRows | ( | ) | const |
Definition at line 365 of file PreconditionerYosida.cpp.
int numBlocksColumns | ( | ) | const |
Definition at line 371 of file PreconditionerYosida.cpp.
|
virtual |
Setter using GetPot.
This method use GetPot to load data from a file and then set the preconditioner.
dataFile | is a GetPot dataFile |
section | is the section containing the data |
Implements PreconditionerComposition.
Definition at line 377 of file PreconditionerYosida.cpp.
|
virtual |
Method to setup the solver using Teuchos::ParameterList.
list | Teuchos::ParameterList object |
Implements PreconditionerComposition.
Definition at line 386 of file PreconditionerYosida.cpp.
void setFESpace | ( | FESpacePtr_Type | uFESpace, |
FESpacePtr_Type | pFESpace | ||
) |
Setter for the FESpace.
This method set the pointer for the FESpaces needed for the construction of the operators Ap, Fp and Mp.
uFESpace | std::shared_ptr on the FESpace for the velocity |
pFESpace | std::shared_ptr on the FESpace for the pressure |
Definition at line 398 of file PreconditionerYosida.cpp.
void setTimestep | ( | const Real & | timestep | ) |
Setter for the timestep.
This method set the timestep used to compute the approximate Schur complement.
timestep | Timestep used to compute the solution of the Navier-Stokes equations |
Definition at line 410 of file PreconditionerYosida.cpp.
|
protected |
Definition at line 164 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 165 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 167 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 168 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 169 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 171 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 174 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 175 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 176 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 177 of file PreconditionerYosida.hpp.
|
protected |
Definition at line 178 of file PreconditionerYosida.hpp.