ASPECT
Public Member Functions | Private Attributes | List of all members
aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType > Class Template Reference

Public Member Functions

 SchurApproximation (const OperatorType &schur_preconditioner, const StokesMatrixType &stokes_matrix, const SchurComplementMatrixType &Schur_complement_block, const bool do_solve_Schur_complement, const double Schur_complement_tolerance)
 Constructor. More...
 
void vmult (VectorType &dst, const VectorType &src) const
 
unsigned int n_iterations () const
 

Private Attributes

const OperatorType & schur_preconditioner
 
const StokesMatrixType & stokes_matrix
 
const SchurComplementMatrixType & Schur_complement_block
 
const bool do_solve_Schur_complement
 
const double Schur_complement_tolerance
 
unsigned int n_iterations_Schur_complement_
 

Detailed Description

template<class OperatorType, class StokesMatrixType, class SchurComplementMatrixType, class VectorType>
class aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >

Definition at line 260 of file block_stokes_preconditioner.h.

Constructor & Destructor Documentation

§ SchurApproximation()

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::SchurApproximation ( const OperatorType &  schur_preconditioner,
const StokesMatrixType &  stokes_matrix,
const SchurComplementMatrixType &  Schur_complement_block,
const bool  do_solve_Schur_complement,
const double  Schur_complement_tolerance 
)

Constructor.

Parameters
schur_preconditionerPreconditioner for the Schur Complement.
stokes_matrixStokes system. This is not necessarily a matrix.
Schur_complement_blockOperator for the Schur complement.
do_solve_Schur_complementFlag that determines whether to do a full solve with the Schur complement or a v-cycle.
Schur_complement_toleranceTolerance in case a full solve for the Schur complement is used.

Definition at line 293 of file block_stokes_preconditioner.h.

Member Function Documentation

§ vmult()

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
void aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::vmult ( VectorType &  dst,
const VectorType &  src 
) const

§ n_iterations()

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
unsigned int aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::n_iterations ( ) const

Member Data Documentation

§ schur_preconditioner

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
const OperatorType& aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::schur_preconditioner
private

§ stokes_matrix

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
const StokesMatrixType& aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::stokes_matrix
private

Definition at line 281 of file block_stokes_preconditioner.h.

§ Schur_complement_block

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
const SchurComplementMatrixType& aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::Schur_complement_block
private

§ do_solve_Schur_complement

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
const bool aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::do_solve_Schur_complement
private

§ Schur_complement_tolerance

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
const double aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::Schur_complement_tolerance
private

§ n_iterations_Schur_complement_

template<class OperatorType , class StokesMatrixType , class SchurComplementMatrixType , class VectorType >
unsigned int aspect::internal::SchurApproximation< OperatorType, StokesMatrixType, SchurComplementMatrixType, VectorType >::n_iterations_Schur_complement_
mutableprivate

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