StokesFlowSolver< DIM > Class Template Reference

#include <StokesFlowSolver.hpp>

Inherits AbstractContinuumMechanicsSolver< DIM >.

Collaboration diagram for StokesFlowSolver< DIM >:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 StokesFlowSolver (AbstractTetrahedralMesh< DIM, DIM > &rQuadMesh, StokesFlowProblemDefinition< DIM > &rProblemDefinition, std::string outputDirectory)
virtual ~StokesFlowSolver ()
void Solve ()
void SetKspAbsoluteTolerance (double kspAbsoluteTolerance)
std::vector< c_vector< double,
DIM > > & 
rGetSpatialSolution ()
std::vector< c_vector< double,
DIM > > & 
rGetVelocities ()

Private Member Functions

void AssembleSystem ()

Private Attributes

StokesFlowProblemDefinition
< DIM > & 
mrProblemDefinition
StokesFlowAssembler< DIM > * mpStokesFlowAssembler
StokesFlowPreconditionerAssembler
< DIM > * 
mpStokesFlowPreconditionerAssembler
ContinuumMechanicsNeumannBcsAssembler
< DIM > * 
mpNeumannBcsAssembler
double mKspAbsoluteTol

Friends

class TestStokesFlowSolver

Detailed Description

template<unsigned DIM>
class StokesFlowSolver< DIM >

Finite element solver for Stokes flow problems

Definition at line 55 of file StokesFlowSolver.hpp.


Constructor & Destructor Documentation

template<unsigned DIM>
StokesFlowSolver< DIM >::StokesFlowSolver ( AbstractTetrahedralMesh< DIM, DIM > &  rQuadMesh,
StokesFlowProblemDefinition< DIM > &  rProblemDefinition,
std::string  outputDirectory 
) [inline]

Constructor.

Parameters:
rQuadMesh Quadratic mesh
rProblemDefinition Problem definition
outputDirectory the output directory to use

Definition at line 141 of file StokesFlowSolver.hpp.

References StokesFlowSolver< DIM >::mpNeumannBcsAssembler, StokesFlowSolver< DIM >::mpStokesFlowAssembler, StokesFlowSolver< DIM >::mpStokesFlowPreconditionerAssembler, StokesFlowSolver< DIM >::mrProblemDefinition, and AbstractContinuumMechanicsSolver< DIM >::mrQuadMesh.

template<unsigned DIM>
StokesFlowSolver< DIM >::~StokesFlowSolver (  )  [inline, virtual]

Member Function Documentation

template<unsigned DIM>
void StokesFlowSolver< DIM >::AssembleSystem (  )  [inline, private]
template<unsigned DIM>
std::vector< c_vector< double, DIM > > & StokesFlowSolver< DIM >::rGetSpatialSolution (  )  [inline, virtual]
template<unsigned DIM>
std::vector< c_vector< double, DIM > > & StokesFlowSolver< DIM >::rGetVelocities (  )  [inline]
Returns:
the flow. Note: return_value[i](j) = u_j for node i. Just calls rGetSpatialSolution().

Definition at line 342 of file StokesFlowSolver.hpp.

References StokesFlowSolver< DIM >::rGetSpatialSolution().

template<unsigned DIM>
void StokesFlowSolver< DIM >::SetKspAbsoluteTolerance ( double  kspAbsoluteTolerance  )  [inline]

Set the absolute tolerance to be used when solving the linear system. If this is not called a relative tolerance is used.

Parameters:
kspAbsoluteTolerance the tolerance

Definition at line 320 of file StokesFlowSolver.hpp.

References StokesFlowSolver< DIM >::mKspAbsoluteTol.

template<unsigned DIM>
void StokesFlowSolver< DIM >::Solve (  )  [inline]

Member Data Documentation

template<unsigned DIM>
double StokesFlowSolver< DIM >::mKspAbsoluteTol [private]

Absolute tolerance for linear systems. Can be set by calling SetKspAbsoluteTolerances(), but default to -1, in which case a relative tolerance is used.

Definition at line 77 of file StokesFlowSolver.hpp.

Referenced by StokesFlowSolver< DIM >::SetKspAbsoluteTolerance(), and StokesFlowSolver< DIM >::Solve().

template<unsigned DIM>
ContinuumMechanicsNeumannBcsAssembler<DIM>* StokesFlowSolver< DIM >::mpNeumannBcsAssembler [private]

Assembler for adding the surface integral arising from natural Neumman boundary conditions to the RHS vector

Definition at line 70 of file StokesFlowSolver.hpp.

Referenced by StokesFlowSolver< DIM >::AssembleSystem(), StokesFlowSolver< DIM >::StokesFlowSolver(), and StokesFlowSolver< DIM >::~StokesFlowSolver().

template<unsigned DIM>
StokesFlowAssembler<DIM>* StokesFlowSolver< DIM >::mpStokesFlowAssembler [private]

Assembler for computing volume integral part of matrix and RHS vector

Definition at line 58 of file StokesFlowSolver.hpp.

Referenced by StokesFlowSolver< DIM >::AssembleSystem(), StokesFlowSolver< DIM >::StokesFlowSolver(), and StokesFlowSolver< DIM >::~StokesFlowSolver().

Assembler for computing volume integral part of preconditioner matrix (which is the same as the system matrix except has a mass matrix in the pressure-pressure block

Definition at line 64 of file StokesFlowSolver.hpp.

Referenced by StokesFlowSolver< DIM >::AssembleSystem(), StokesFlowSolver< DIM >::StokesFlowSolver(), and StokesFlowSolver< DIM >::~StokesFlowSolver().

template<unsigned DIM>
StokesFlowProblemDefinition<DIM>& StokesFlowSolver< DIM >::mrProblemDefinition [private]

Object containing all the information about the problem to solve

Reimplemented from AbstractContinuumMechanicsSolver< DIM >.

Definition at line 55 of file StokesFlowSolver.hpp.

Referenced by StokesFlowSolver< DIM >::Solve(), and StokesFlowSolver< DIM >::StokesFlowSolver().


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

Generated by  doxygen 1.6.2