LifeV
NavierStokesPreconditionerOperator Class Reference

#include <NavierStokesPreconditionerOperator.hpp>

+ Inheritance diagram for NavierStokesPreconditionerOperator:
+ Collaboration diagram for NavierStokesPreconditionerOperator:

Public Types

typedef MatrixEpetra< RealmatrixEpetra_Type
 
typedef std::shared_ptr< matrixEpetra_TypematrixEpetraPtr_Type
 
typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef Epetra_Map map_Type
 
typedef std::shared_ptr< map_TypemapPtr_Type
 
typedef std::shared_ptr< const map_TypeconstMapPtr_Type
 
typedef Epetra_Operator operator_Type
 
typedef std::shared_ptr< operator_TypeoperatorPtr_Type
 
typedef std::shared_ptr< Teuchos::ParameterList > parameterListPtr_Type
 
- Public Types inherited from LinearOperatorAlgebra
typedef Epetra_Comm comm_Type
 
typedef std::shared_ptr< comm_TypecommPtr_Type
 
typedef Epetra_Map map_Type
 
typedef std::shared_ptr< map_TypemapPtr_Type
 
typedef std::shared_ptr< const map_TypeconstMapPtr_Type
 
typedef Epetra_Operator operator_Type
 
typedef std::shared_ptr< operator_TypeoperatorPtr_Type
 
typedef Epetra_MultiVector vector_Type
 
typedef std::shared_ptr< vector_TypevectorPtr_Type
 

Public Member Functions

 NavierStokesPreconditionerOperator ()
 
 ~NavierStokesPreconditionerOperator ()
 
virtual int SetUseTranspose (bool UseTranspose)
 If set true, transpose of this operator will be applied. More...
 
- Public Member Functions inherited from LinearOperatorAlgebra
virtual ~LinearOperatorAlgebra ()
 Destructor. More...
 
int apply (const VectorEpetra &X, VectorEpetra &Y) const
 Returns the result of a LinearOperator applied to a VectorEpetra X in Y. More...
 
int applyInverse (const VectorEpetra &X, VectorEpetra &Y)
 Returns the result of a LinearOperator inverse applied to an VectorEpetra X in Y. More...
 

Mathematical functions

virtual int Apply (const vector_Type &X, vector_Type &Y) const
 Returns the result of a raw_operator applied to a raw_vector X in Y. More...
 
virtual int ApplyInverse (const vector_Type &X, vector_Type &Y) const
 Returns the result of a raw_operator inverse applied to an raw_vector X in Y. More...
 
virtual double NormInf () const
 Returns the infinity norm of the global matrix. More...
 
virtual const char * Label () const
 Returns a character string describing the operator. More...
 
virtual bool UseTranspose () const
 Returns the current UseTranspose setting. More...
 
virtual bool HasNormInf () const
 Returns true if the this object can provide an approximate Inf-norm, false otherwise. More...
 
virtual const comm_TypeComm () const
 Returns a pointer to the Epetra_Comm communicator associated with this operator. More...
 
virtual const map_TypeOperatorDomainMap () const
 Returns the raw_map object associated with the domain of this operator. More...
 
virtual const map_TypeOperatorRangeMap () const
 Returns the raw_map object associated with the range of this operator. More...
 

Methods used by the preconditioners that derive from here

virtual void setUp (const matrixEpetraPtr_Type &F, const matrixEpetraPtr_Type &B, const matrixEpetraPtr_Type &Btranspose)
 
virtual void setUp (const matrixEpetraPtr_Type &F, const matrixEpetraPtr_Type &B, const matrixEpetraPtr_Type &Btranspose, const matrixEpetraPtr_Type &D)
 
virtual void setOptions (const Teuchos::ParameterList &solversOptions)
 
virtual void setDomainMap (const std::shared_ptr< BlockEpetra_Map > &domainMap)
 
virtual void setRangeMap (const std::shared_ptr< BlockEpetra_Map > &rangeMap)
 
virtual void updateApproximatedMomentumOperator ()
 
virtual void updateApproximatedSchurComplementOperator ()
 
virtual void updateApproximatedPressureMassOperator ()
 
virtual void setUp (const matrixEpetraPtr_Type &F, const matrixEpetraPtr_Type &B, const matrixEpetraPtr_Type &Btranspose, const matrixEpetraPtr_Type &Fp, const matrixEpetraPtr_Type &Mp, const matrixEpetraPtr_Type &Mu)
 
virtual void setMomentumOptions (const parameterListPtr_Type &_oList)
 
virtual void setSchurOptions (const parameterListPtr_Type &_oList)
 
virtual void setPressureMassOptions (const parameterListPtr_Type &_oList)
 
virtual matrixEpetraPtr_Type const & F () const
 
virtual matrixEpetraPtr_Type const & B () const
 
virtual matrixEpetraPtr_Type const & Btranspose () const
 
virtual int ApplyInverse (VectorEpetra const &X_velocity, VectorEpetra const &X_pressure, VectorEpetra &Y_velocity, VectorEpetra &Y_pressure) const
 Returns the High Order Yosida approximation of the inverse pressure Schur Complement applied to (Xu, Xp). More...
 

Detailed Description

Definition at line 57 of file NavierStokesPreconditionerOperator.hpp.

Member Typedef Documentation

◆ matrixEpetra_Type

◆ matrixEpetraPtr_Type

typedef std::shared_ptr<matrixEpetra_Type> matrixEpetraPtr_Type

Definition at line 63 of file NavierStokesPreconditionerOperator.hpp.

◆ comm_Type

typedef Epetra_Comm comm_Type

Definition at line 65 of file NavierStokesPreconditionerOperator.hpp.

◆ commPtr_Type

typedef std::shared_ptr<comm_Type> commPtr_Type

Definition at line 67 of file NavierStokesPreconditionerOperator.hpp.

◆ map_Type

typedef Epetra_Map map_Type

Definition at line 69 of file NavierStokesPreconditionerOperator.hpp.

◆ mapPtr_Type

typedef std::shared_ptr<map_Type> mapPtr_Type

Definition at line 71 of file NavierStokesPreconditionerOperator.hpp.

◆ constMapPtr_Type

typedef std::shared_ptr<const map_Type> constMapPtr_Type

Definition at line 73 of file NavierStokesPreconditionerOperator.hpp.

◆ operator_Type

◆ operatorPtr_Type

typedef std::shared_ptr<operator_Type> operatorPtr_Type

Definition at line 77 of file NavierStokesPreconditionerOperator.hpp.

◆ parameterListPtr_Type

typedef std::shared_ptr<Teuchos::ParameterList> parameterListPtr_Type

Definition at line 79 of file NavierStokesPreconditionerOperator.hpp.

Constructor & Destructor Documentation

◆ NavierStokesPreconditionerOperator()

◆ ~NavierStokesPreconditionerOperator()

Member Function Documentation

◆ SetUseTranspose()

virtual int SetUseTranspose ( bool  UseTranspose)
inlinevirtual

If set true, transpose of this operator will be applied.

This flag allows the transpose of the given operator to be used implicitly. Setting this flag affects only the Apply() and ApplyInverse() methods. If the implementation of this interface does not support transpose use, this method should return a value of -1.

Parameters
InUseTranspose -If true, multiply by the transpose of operator, otherwise just use operator.
Returns
Integer error code, set to 0 if successful. Set to -1 if this implementation does not support transpose.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 95 of file NavierStokesPreconditionerOperator.hpp.

◆ Apply()

virtual int Apply ( const vector_Type X,
vector_Type Y 
) const
inlinevirtual

Returns the result of a raw_operator applied to a raw_vector X in Y.

Parameters
InX - A raw_vector of dimension NumVectors to multiply with matrix.
OutY -A raw_vector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 109 of file NavierStokesPreconditionerOperator.hpp.

◆ ApplyInverse() [1/2]

virtual int ApplyInverse ( const vector_Type X,
vector_Type Y 
) const
inlinevirtual

Returns the result of a raw_operator inverse applied to an raw_vector X in Y.

Parameters
InX - A raw_vector of dimension NumVectors to solve for.
OutY -A raw_vector of dimension NumVectors containing result.
Returns
Integer error code, set to 0 if successful.
Warning
In order to work with AztecOO, any implementation of this method must support the case where X and Y are the same object.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 123 of file NavierStokesPreconditionerOperator.hpp.

◆ NormInf()

virtual double NormInf ( ) const
inlinevirtual

Returns the infinity norm of the global matrix.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 131 of file NavierStokesPreconditionerOperator.hpp.

◆ Label()

virtual const char* Label ( ) const
inlinevirtual

Returns a character string describing the operator.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 134 of file NavierStokesPreconditionerOperator.hpp.

◆ UseTranspose()

virtual bool UseTranspose ( ) const
inlinevirtual

Returns the current UseTranspose setting.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 137 of file NavierStokesPreconditionerOperator.hpp.

◆ HasNormInf()

virtual bool HasNormInf ( ) const
inlinevirtual

Returns true if the this object can provide an approximate Inf-norm, false otherwise.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 140 of file NavierStokesPreconditionerOperator.hpp.

◆ Comm()

virtual const comm_Type& Comm ( ) const
inlinevirtual

Returns a pointer to the Epetra_Comm communicator associated with this operator.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 143 of file NavierStokesPreconditionerOperator.hpp.

◆ OperatorDomainMap()

virtual const map_Type& OperatorDomainMap ( ) const
inlinevirtual

Returns the raw_map object associated with the domain of this operator.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 146 of file NavierStokesPreconditionerOperator.hpp.

◆ OperatorRangeMap()

virtual const map_Type& OperatorRangeMap ( ) const
inlinevirtual

Returns the raw_map object associated with the range of this operator.

Implements LinearOperatorAlgebra.

Reimplemented in aSIMPLEOperator.

Definition at line 149 of file NavierStokesPreconditionerOperator.hpp.

◆ setUp() [1/3]

virtual void setUp ( const matrixEpetraPtr_Type F,
const matrixEpetraPtr_Type B,
const matrixEpetraPtr_Type Btranspose 
)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 155 of file NavierStokesPreconditionerOperator.hpp.

◆ setUp() [2/3]

virtual void setUp ( const matrixEpetraPtr_Type F,
const matrixEpetraPtr_Type B,
const matrixEpetraPtr_Type Btranspose,
const matrixEpetraPtr_Type D 
)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 159 of file NavierStokesPreconditionerOperator.hpp.

◆ setOptions()

virtual void setOptions ( const Teuchos::ParameterList &  solversOptions)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 164 of file NavierStokesPreconditionerOperator.hpp.

◆ setDomainMap()

virtual void setDomainMap ( const std::shared_ptr< BlockEpetra_Map > &  domainMap)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 166 of file NavierStokesPreconditionerOperator.hpp.

◆ setRangeMap()

virtual void setRangeMap ( const std::shared_ptr< BlockEpetra_Map > &  rangeMap)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 168 of file NavierStokesPreconditionerOperator.hpp.

◆ updateApproximatedMomentumOperator()

virtual void updateApproximatedMomentumOperator ( )
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 170 of file NavierStokesPreconditionerOperator.hpp.

◆ updateApproximatedSchurComplementOperator()

virtual void updateApproximatedSchurComplementOperator ( )
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 172 of file NavierStokesPreconditionerOperator.hpp.

◆ updateApproximatedPressureMassOperator()

virtual void updateApproximatedPressureMassOperator ( )
inlinevirtual

Definition at line 174 of file NavierStokesPreconditionerOperator.hpp.

◆ setUp() [3/3]

virtual void setUp ( const matrixEpetraPtr_Type F,
const matrixEpetraPtr_Type B,
const matrixEpetraPtr_Type Btranspose,
const matrixEpetraPtr_Type Fp,
const matrixEpetraPtr_Type Mp,
const matrixEpetraPtr_Type Mu 
)
inlinevirtual

Definition at line 176 of file NavierStokesPreconditionerOperator.hpp.

◆ setMomentumOptions()

virtual void setMomentumOptions ( const parameterListPtr_Type _oList)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 179 of file NavierStokesPreconditionerOperator.hpp.

◆ setSchurOptions()

virtual void setSchurOptions ( const parameterListPtr_Type _oList)
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 181 of file NavierStokesPreconditionerOperator.hpp.

◆ setPressureMassOptions()

virtual void setPressureMassOptions ( const parameterListPtr_Type _oList)
inlinevirtual

Definition at line 183 of file NavierStokesPreconditionerOperator.hpp.

◆ F()

virtual matrixEpetraPtr_Type const& F ( ) const
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 185 of file NavierStokesPreconditionerOperator.hpp.

◆ B()

virtual matrixEpetraPtr_Type const& B ( ) const
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 187 of file NavierStokesPreconditionerOperator.hpp.

◆ Btranspose()

virtual matrixEpetraPtr_Type const& Btranspose ( ) const
inlinevirtual

Reimplemented in aSIMPLEOperator.

Definition at line 189 of file NavierStokesPreconditionerOperator.hpp.

◆ ApplyInverse() [2/2]

virtual int ApplyInverse ( VectorEpetra const &  X_velocity,
VectorEpetra const &  X_pressure,
VectorEpetra Y_velocity,
VectorEpetra Y_pressure 
) const
inlinevirtual

Returns the High Order Yosida approximation of the inverse pressure Schur Complement applied to (Xu, Xp).

Reimplemented in aSIMPLEOperator.

Definition at line 192 of file NavierStokesPreconditionerOperator.hpp.


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