ASPECT
|
Public Member Functions | |
virtual | ~StokesMatrixFreeHandler ()=default |
virtual std::pair< double, double > | solve ()=0 |
virtual void | setup_dofs ()=0 |
virtual void | assemble ()=0 |
virtual void | build_preconditioner ()=0 |
virtual const DoFHandler< dim > & | get_dof_handler_v () const =0 |
virtual const DoFHandler< dim > & | get_dof_handler_p () const =0 |
virtual const DoFHandler< dim > & | get_dof_handler_projection () const =0 |
virtual const AffineConstraints< double > & | get_constraints_v () const =0 |
virtual const AffineConstraints< double > & | get_constraints_p () const =0 |
virtual const MGTransferMF< dim, GMGNumberType > & | get_mg_transfer_A () const =0 |
virtual const MGTransferMF< dim, GMGNumberType > & | get_mg_transfer_S () const =0 |
virtual std::size_t | get_cell_data_memory_consumption () const =0 |
Static Public Member Functions | |
static void | declare_parameters (ParameterHandler &prm) |
Base class for the matrix free GMG solver for the Stokes system. The actual implementation is found inside StokesMatrixFreeHandlerImplementation below.
Definition at line 87 of file simulator.h.
|
virtualdefault |
virtual Destructor.
|
pure virtual |
Solves the Stokes linear system matrix-free. This is called by Simulator<dim>::solve_stokes().
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
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 >.
|
pure virtual |
Perform various tasks to update the linear system to solve for. Note that we are not assembling a matrix (as this is a matrix-free algorithm), but we are evaluating the material model and storing the information necessary for a later call to solve().
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
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 >.
|
static |
Declare parameters.
|
pure virtual |
Return a reference to the DoFHandler that is used for velocity in the block GMG solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return a reference to the DoFHandler that is used for pressure in the block GMG solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return a reference to the DoFHandler that is used for the coefficient projection in the block GMG solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return a pointer to the object that describes the velocity DoF constraints for the block GMG Stokes solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return a pointer to the object that describes the pressure DoF constraints for the block GMG Stokes solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return a pointer to the MGTransfer object used for the A block of the block GMG Stokes solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return a pointer to the MGTransfer object used for the Schur complement block of the block GMG Stokes solver.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.
|
pure virtual |
Return the memory consumption in bytes that are used to store equation data like viscosity to be able to apply the operators.
Implemented in aspect::StokesMatrixFreeHandlerImplementation< dim, velocity_degree >.