21 #ifndef _aspect_simulator_solver_stokes_matrix_free_local_smoothing_h
22 #define _aspect_simulator_solver_stokes_matrix_free_local_smoothing_h
35 #include <deal.II/multigrid/mg_transfer_global_coarsening.templates.h>
53 template <
int dim,
int velocity_degree>
78 std::string
name()
const override;
105 const bool solve_newton_system,
106 const double last_pressure_normalization_adjustment,
ObserverPointer< const Simulator< dim >, SimulatorAccess< dim > > simulator
SchurComplementMatrixType Schur_complement_block_matrix
std::size_t get_constraint_memory_consumption() const override
StokesSolver::SolverOutputs solve(const LinearAlgebra::BlockSparseMatrix &system_matrix, const LinearAlgebra::BlockVector &system_rhs, const bool solve_newton_system, const double last_pressure_normalization_adjustment, LinearAlgebra::BlockVector &solution_vector) override
AffineConstraints< double > constraints_v
std::size_t get_dof_handler_memory_consumption() const override
std::size_t get_cell_data_memory_consumption() const override
MGLevelObject< MatrixFreeStokesOperators::OperatorCellData< dim, GMGNumberType > > level_cell_data
static void declare_parameters(ParameterHandler &prm)
MGConstrainedDoFs mg_constrained_dofs_Schur_complement
std::string name() const override
DoFHandler< dim > dof_handler_projection
std::size_t get_mg_transfer_memory_consumption() const override
ABlockMatrixType A_block_matrix
void initialize() override
void parse_parameters(ParameterHandler &prm) override
DoFHandler< dim > dof_handler_v
void setup_dofs() override
FESystem< dim > fe_projection
StokesMatrixFreeHandlerLocalSmoothingImplementation(Simulator< dim > &simulator, const Parameters< dim > ¶meters)
MGLevelObject< GMGABlockMatrixType > mg_matrices_A_block
void evaluate_material_model()
MGLevelObject< GMGSchurComplementMatrixType > mg_matrices_Schur_complement
MatrixFreeStokesOperators::OperatorCellData< dim, GMGNumberType > active_cell_data
MGConstrainedDoFs mg_constrained_dofs_A_block
StokesMatrixType stokes_matrix
MGConstrainedDoFs mg_constrained_dofs_projection
void build_preconditioner() override
DoFHandler< dim > dof_handler_p
void correct_stokes_rhs()
MGTransferType< dim, GMGNumberType > mg_transfer_A_block
AffineConstraints< double > constraints_p
std::vector< std::shared_ptr< MatrixFree< dim, double > > > matrix_free_objects
MGTransferType< dim, GMGNumberType > mg_transfer_Schur_complement
BTBlockOperatorType BT_block
~StokesMatrixFreeHandlerLocalSmoothingImplementation() override=default