ryujin 2.1.1 revision 9dcb748690310d6a540ebb8b066d1a0834fc7604
Public Types | Public Member Functions | List of all members
ryujin::NavierStokes::MGTransferVelocity< dim, Number > Class Template Reference

#include <source/navier_stokes/parabolic_solver_gmg_operators.h>

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

Public Types

using scalar_type = dealii::LinearAlgebra::distributed::Vector< Number >
 
using vector_type = dealii::LinearAlgebra::distributed::BlockVector< Number >
 

Public Member Functions

 MGTransferVelocity ()=default
 
void build (const dealii::DoFHandler< dim > &dof_handler, const dealii::MGConstrainedDoFs &mg_constrained_dofs, const dealii::MGLevelObject< dealii::MatrixFree< dim, Number > > &matrix_free)
 
void prolongate (const unsigned int to_level, vector_type &dst, const vector_type &src) const override
 
void restrict_and_add (const unsigned int to_level, vector_type &dst, const vector_type &src) const override
 
template<typename Number2 >
void interpolate_to_mg (const dealii::DoFHandler< dim > &dof_handler, dealii::MGLevelObject< scalar_type > &dst, const dealii::LinearAlgebra::distributed::Vector< Number2 > &src) const
 
template<typename Number2 >
void copy_to_mg (const dealii::DoFHandler< dim > &dof_handler, dealii::MGLevelObject< vector_type > &dst, const dealii::LinearAlgebra::distributed::BlockVector< Number2 > &src) const
 
template<typename Number2 >
void copy_from_mg (const dealii::DoFHandler< dim > &dof_handler, dealii::LinearAlgebra::distributed::BlockVector< Number2 > &dst, const dealii::MGLevelObject< vector_type > &src) const
 

Detailed Description

template<int dim, typename Number>
class ryujin::NavierStokes::MGTransferVelocity< dim, Number >

Definition at line 441 of file parabolic_solver_gmg_operators.h.

Member Typedef Documentation

◆ scalar_type

template<int dim, typename Number >
using ryujin::NavierStokes::MGTransferVelocity< dim, Number >::scalar_type = dealii::LinearAlgebra::distributed::Vector<Number>

Definition at line 446 of file parabolic_solver_gmg_operators.h.

◆ vector_type

template<int dim, typename Number >
using ryujin::NavierStokes::MGTransferVelocity< dim, Number >::vector_type = dealii::LinearAlgebra::distributed::BlockVector<Number>

Definition at line 447 of file parabolic_solver_gmg_operators.h.

Constructor & Destructor Documentation

◆ MGTransferVelocity()

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

Member Function Documentation

◆ build()

template<int dim, typename Number >
void ryujin::NavierStokes::MGTransferVelocity< dim, Number >::build ( const dealii::DoFHandler< dim > &  dof_handler,
const dealii::MGConstrainedDoFs &  mg_constrained_dofs,
const dealii::MGLevelObject< dealii::MatrixFree< dim, Number > > &  matrix_free 
)
inline

Definition at line 452 of file parabolic_solver_gmg_operators.h.

◆ prolongate()

template<int dim, typename Number >
void ryujin::NavierStokes::MGTransferVelocity< dim, Number >::prolongate ( const unsigned int  to_level,
vector_type dst,
const vector_type src 
) const
inlineoverride

Definition at line 467 of file parabolic_solver_gmg_operators.h.

◆ restrict_and_add()

template<int dim, typename Number >
void ryujin::NavierStokes::MGTransferVelocity< dim, Number >::restrict_and_add ( const unsigned int  to_level,
vector_type dst,
const vector_type src 
) const
inlineoverride

Definition at line 475 of file parabolic_solver_gmg_operators.h.

◆ interpolate_to_mg()

template<int dim, typename Number >
template<typename Number2 >
void ryujin::NavierStokes::MGTransferVelocity< dim, Number >::interpolate_to_mg ( const dealii::DoFHandler< dim > &  dof_handler,
dealii::MGLevelObject< scalar_type > &  dst,
const dealii::LinearAlgebra::distributed::Vector< Number2 > &  src 
) const
inline

Definition at line 485 of file parabolic_solver_gmg_operators.h.

◆ copy_to_mg()

template<int dim, typename Number >
template<typename Number2 >
void ryujin::NavierStokes::MGTransferVelocity< dim, Number >::copy_to_mg ( const dealii::DoFHandler< dim > &  dof_handler,
dealii::MGLevelObject< vector_type > &  dst,
const dealii::LinearAlgebra::distributed::BlockVector< Number2 > &  src 
) const
inline

Definition at line 498 of file parabolic_solver_gmg_operators.h.

◆ copy_from_mg()

template<int dim, typename Number >
template<typename Number2 >
void ryujin::NavierStokes::MGTransferVelocity< dim, Number >::copy_from_mg ( const dealii::DoFHandler< dim > &  dof_handler,
dealii::LinearAlgebra::distributed::BlockVector< Number2 > &  dst,
const dealii::MGLevelObject< vector_type > &  src 
) const
inline

Definition at line 522 of file parabolic_solver_gmg_operators.h.


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