ASPECT
|
Public Member Functions | |
virtual | ~StokesMatrixFreeHandler ()=default |
virtual std::pair< double, double > | solve (LinearAlgebra::BlockVector &solution_vector)=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 using the matrix-free solver.
solution_vector | The existing solution vector that will be updated with the new solution. This vector is expected to have the block structure of the full solution vector, and its velocity and pressure blocks will be updated with the new solution. |
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 >.