ASPECT
Public Member Functions | Static Public Member Functions | List of all members
aspect::StokesMatrixFreeHandler< dim > Class Template Referenceabstract
Inheritance diagram for aspect::StokesMatrixFreeHandler< dim >:
Inheritance graph
[legend]

Public Member Functions

virtual ~StokesMatrixFreeHandler ()=default
 
virtual std::pair< double, double > solve ()=0
 
virtual void setup_dofs ()=0
 
virtual void evaluate_material_model ()=0
 
virtual void correct_stokes_rhs ()=0
 
virtual void build_preconditioner ()=0
 

Static Public Member Functions

static void declare_parameters (ParameterHandler &prm)
 

Detailed Description

template<int dim>
class aspect::StokesMatrixFreeHandler< dim >

Base class for the matrix free GMG solver for the Stokes system. The actual implementation is found inside StokesMatrixFreeHandlerImplementation below.

Definition at line 100 of file simulator.h.

Constructor & Destructor Documentation

§ ~StokesMatrixFreeHandler()

template<int dim>
virtual aspect::StokesMatrixFreeHandler< dim >::~StokesMatrixFreeHandler ( )
virtualdefault

virtual Destructor.

Member Function Documentation

§ solve()

template<int dim>
virtual std::pair<double,double> aspect::StokesMatrixFreeHandler< dim >::solve ( )
pure virtual

Solves the Stokes linear system matrix-free. This is called by Simulator<dim>::solve_stokes().

Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.

§ setup_dofs()

template<int dim>
virtual void aspect::StokesMatrixFreeHandler< dim >::setup_dofs ( )
pure virtual

Allocates and sets up the members of the StokesMatrixFreeHandler. This is called by Simulator<dim>::setup_dofs()

Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.

§ evaluate_material_model()

template<int dim>
virtual void aspect::StokesMatrixFreeHandler< dim >::evaluate_material_model ( )
pure virtual

Evalute the MaterialModel to query for the viscosity on the active cells, project this viscosity to the multigrid hierarchy, and cache the information for later usage. Also sets pressure scaling and information regarding the compressiblity of the flow.

Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.

§ correct_stokes_rhs()

template<int dim>
virtual void aspect::StokesMatrixFreeHandler< dim >::correct_stokes_rhs ( )
pure virtual

Add correction to system RHS for non-zero boundary condition.

Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.

§ build_preconditioner()

template<int dim>
virtual void aspect::StokesMatrixFreeHandler< dim >::build_preconditioner ( )
pure virtual

Computes and sets the diagonal for both the mass matrix operator and the A-block operators on each level for the purpose of smoothing inside the multigrid v-cycle.

Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.

§ declare_parameters()

template<int dim>
static void aspect::StokesMatrixFreeHandler< dim >::declare_parameters ( ParameterHandler prm)
static

Declare parameters.


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