ryujin 2.1.1 revision ee5cbcbf2346c1299c942d0e1f13b46449973c18
Loading...
Searching...
No Matches
Classes | Public Types | Public Member Functions | Static Public Attributes | List of all members
ryujin::MGSmoother< dim, Number > Class Template Reference

#include <source/euler_poisson/laplace_operator.h>

Inheritance diagram for ryujin::MGSmoother< dim, Number >:
Inheritance graph
[legend]
Collaboration diagram for ryujin::MGSmoother< dim, Number >:
Collaboration graph
[legend]

Classes

struct  MultigridParameters
 

Public Types

using ScalarHostVector = Vectors::ScalarHostVector< Number >
 
using ScalarHostVectorFloat = Vectors::ScalarHostVector< float >
 
using Preconditioner = dealii::PreconditionChebyshev< LaplaceOperator< dim, float >, ScalarHostVectorFloat >
 

Public Member Functions

 MGSmoother ()=default
 
void initialize (const OfflineData< dim, Number > &offline_data, const std::set< dealii::types::boundary_id > boundary_ids, const MultigridParameters parameters)
 
void vmult (ScalarHostVector &dst, const ScalarHostVector &src) const
 
void Tvmult (ScalarHostVector &dst, const ScalarHostVector &src) const
 

Static Public Attributes

static constexpr unsigned int order_fe = 1
 
static constexpr unsigned int order_quad = 2
 

Detailed Description

template<int dim, typename Number>
class ryujin::MGSmoother< dim, Number >

A geometric multigrid smoother and preconditioner for the Laplace operator used when solving for the electrostatic potential.

Definition at line 387 of file laplace_operator.h.

Member Typedef Documentation

◆ ScalarHostVector

template<int dim, typename Number >
using ryujin::MGSmoother< dim, Number >::ScalarHostVector = Vectors::ScalarHostVector<Number>

Definition at line 394 of file laplace_operator.h.

◆ ScalarHostVectorFloat

template<int dim, typename Number >
using ryujin::MGSmoother< dim, Number >::ScalarHostVectorFloat = Vectors::ScalarHostVector<float>

Definition at line 395 of file laplace_operator.h.

◆ Preconditioner

template<int dim, typename Number >
using ryujin::MGSmoother< dim, Number >::Preconditioner = dealii::PreconditionChebyshev<LaplaceOperator<dim, float>, ScalarHostVectorFloat>

Definition at line 397 of file laplace_operator.h.

Constructor & Destructor Documentation

◆ MGSmoother()

template<int dim, typename Number >
ryujin::MGSmoother< dim, Number >::MGSmoother ( )
default

Member Function Documentation

◆ initialize()

template<int dim, typename Number >
void ryujin::MGSmoother< dim, Number >::initialize ( const OfflineData< dim, Number > &  offline_data,
const std::set< dealii::types::boundary_id >  boundary_ids,
const MultigridParameters  parameters 
)
inline

◆ vmult()

template<int dim, typename Number >
void ryujin::MGSmoother< dim, Number >::vmult ( ScalarHostVector dst,
const ScalarHostVector src 
) const
inline

Definition at line 560 of file laplace_operator.h.

Referenced by ryujin::MGSmoother< dim, Number >::Tvmult().

◆ Tvmult()

template<int dim, typename Number >
void ryujin::MGSmoother< dim, Number >::Tvmult ( ScalarHostVector dst,
const ScalarHostVector src 
) const
inline

Definition at line 567 of file laplace_operator.h.

References ryujin::MGSmoother< dim, Number >::vmult().

Member Data Documentation

◆ order_fe

template<int dim, typename Number >
constexpr unsigned int ryujin::MGSmoother< dim, Number >::order_fe = 1
staticconstexpr

Definition at line 391 of file laplace_operator.h.

◆ order_quad

template<int dim, typename Number >
constexpr unsigned int ryujin::MGSmoother< dim, Number >::order_quad = 2
staticconstexpr

Definition at line 392 of file laplace_operator.h.


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