PRISMS-PF Manual
Loading...
Searching...
No Matches
MGContext< dim, degree, number > Class Template Reference

Multigrid context. Everything multigrid needs to be alive to use. More...

#include <linear_solver.h>

Public Types

using PreconditionChebyshev
 
using SmootherPrecond = PreconditionChebyshev
 
using Smoother
 
using MGTransferType
 

Public Member Functions

 MGContext ()
 
void init (unsigned int min_level, unsigned int max_level, const SolveBlock &solve_block, const LinearSolverParameters &lin_params, const SolveContext< dim, degree, number > &solve_context, const GroupSolutionHandler< dim, number > &solutions)
 

Static Public Member Functions

static std::vector< dealii::MGConstrainedDoFs > make_mg_constraints (const SolveBlock &solve_block, const SolveContext< dim, degree, number > &solve_context, const GroupSolutionHandler< dim, number > &solutions)
 Multigrid constraints.
 

Public Attributes

dealii::MGLevelObject< MFOperator< dim, degree, number > > mg_lhs_operators
 
std::vector< dealii::MGConstrainedDoFs > mg_constraints
 
MGTransferType mg_transfer
 
Smoother mg_smoother
 
dealii::MGCoarseGridApplySmoother< BlockVector< number > > mg_coarse_solver
 
dealii::mg::Matrix< BlockVector< number > > mg_matrix
 
dealii::Multigrid< BlockVector< number > > multigrid
 
dealii::PreconditionMG< dim, BlockVector< number >, MGTransferTypemultigrid_preconditioner
 

Detailed Description

template<unsigned int dim, unsigned int degree, typename number>
class MGContext< dim, degree, number >

Multigrid context. Everything multigrid needs to be alive to use.

Member Typedef Documentation

◆ MGTransferType

template<unsigned int dim, unsigned int degree, typename number>
using MGContext< dim, degree, number >::MGTransferType
Initial value:
dealii::MGTransferBlockGlobalCoarsening<dim, BlockVector<number>>

◆ PreconditionChebyshev

template<unsigned int dim, unsigned int degree, typename number>
using MGContext< dim, degree, number >::PreconditionChebyshev
Initial value:
dealii::PreconditionChebyshev<MFOperator<dim, degree, number>,
dealii::DiagonalMatrix<BlockVector<number>>>
dealii::LinearAlgebra::distributed::BlockVector< number > BlockVector
Typedef for solution block vector.
Definition matrix_free_manager.h:32

◆ Smoother

template<unsigned int dim, unsigned int degree, typename number>
using MGContext< dim, degree, number >::Smoother
Initial value:
dealii::MGSmootherPrecondition<MFOperator<dim, degree, number>,
PreconditionChebyshev SmootherPrecond
Definition linear_solver.h:54

◆ SmootherPrecond

template<unsigned int dim, unsigned int degree, typename number>
using MGContext< dim, degree, number >::SmootherPrecond = PreconditionChebyshev

Constructor & Destructor Documentation

◆ MGContext()

template<unsigned int dim, unsigned int degree, typename number>
MGContext< dim, degree, number >::MGContext ( )
inline

Member Function Documentation

◆ init()

template<unsigned int dim, unsigned int degree, typename number>
void MGContext< dim, degree, number >::init ( unsigned int min_level,
unsigned int max_level,
const SolveBlock & solve_block,
const LinearSolverParameters & lin_params,
const SolveContext< dim, degree, number > & solve_context,
const GroupSolutionHandler< dim, number > & solutions )
inline

◆ make_mg_constraints()

template<unsigned int dim, unsigned int degree, typename number>
static std::vector< dealii::MGConstrainedDoFs > MGContext< dim, degree, number >::make_mg_constraints ( const SolveBlock & solve_block,
const SolveContext< dim, degree, number > & solve_context,
const GroupSolutionHandler< dim, number > & solutions )
inlinestatic

Multigrid constraints.

Member Data Documentation

◆ mg_coarse_solver

template<unsigned int dim, unsigned int degree, typename number>
dealii::MGCoarseGridApplySmoother<BlockVector<number> > MGContext< dim, degree, number >::mg_coarse_solver

◆ mg_constraints

template<unsigned int dim, unsigned int degree, typename number>
std::vector<dealii::MGConstrainedDoFs> MGContext< dim, degree, number >::mg_constraints

◆ mg_lhs_operators

template<unsigned int dim, unsigned int degree, typename number>
dealii::MGLevelObject<MFOperator<dim, degree, number> > MGContext< dim, degree, number >::mg_lhs_operators

◆ mg_matrix

template<unsigned int dim, unsigned int degree, typename number>
dealii::mg::Matrix<BlockVector<number> > MGContext< dim, degree, number >::mg_matrix

◆ mg_smoother

template<unsigned int dim, unsigned int degree, typename number>
Smoother MGContext< dim, degree, number >::mg_smoother

◆ mg_transfer

template<unsigned int dim, unsigned int degree, typename number>
MGTransferType MGContext< dim, degree, number >::mg_transfer

◆ multigrid

template<unsigned int dim, unsigned int degree, typename number>
dealii::Multigrid<BlockVector<number> > MGContext< dim, degree, number >::multigrid

◆ multigrid_preconditioner

template<unsigned int dim, unsigned int degree, typename number>
dealii::PreconditionMG<dim, BlockVector<number>, MGTransferType> MGContext< dim, degree, number >::multigrid_preconditioner

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