21 #ifndef _aspect_simulator_solver_stokes_matrix_free_h 22 #define _aspect_simulator_solver_stokes_matrix_free_h 28 #include <deal.II/multigrid/mg_transfer_matrix_free.h> 29 #include <deal.II/multigrid/mg_transfer_global_coarsening.templates.h> 43 class StokesMatrixFreeHandler:
public StokesSolver::Interface<dim>
78 virtual const DoFHandler<dim> &
85 virtual const DoFHandler<dim> &
92 virtual const DoFHandler<dim> &
99 virtual const AffineConstraints<double> &
106 virtual const AffineConstraints<double> &
113 virtual const MGTransferMF<dim,GMGNumberType> &
120 virtual const MGTransferMF<dim,GMGNumberType> &
virtual const DoFHandler< dim > & get_dof_handler_v() const =0
const Simulator< dim > * simulator
virtual const AffineConstraints< double > & get_constraints_v() const =0
virtual const DoFHandler< dim > & get_dof_handler_p() const =0
virtual const MGTransferMF< dim, GMGNumberType > & get_mg_transfer_A() const =0
virtual const DoFHandler< dim > & get_dof_handler_projection() const =0
virtual const MGTransferMF< dim, GMGNumberType > & get_mg_transfer_S() const =0
virtual std::size_t get_cell_data_memory_consumption() const =0
std::unique_ptr< StokesMatrixFreeHandler< dim > > create_matrix_free_solver(Simulator< dim > &simulator, const Parameters< dim > ¶meters)
virtual const AffineConstraints< double > & get_constraints_p() const =0
virtual void assemble()=0
virtual void build_preconditioner()=0
static void declare_parameters(ParameterHandler &prm)
virtual void setup_dofs()=0