ryujin 2.1.1 revision 0348cbb53a3e4b1da2a4c037e81f88f2d21ce219
|
#include <source/navier_stokes/parabolic_solver_gmg_operators.h>
Public Types | |
using | vector_type = dealii::LinearAlgebra::distributed::Vector< Number > |
using | block_vector_type = dealii::LinearAlgebra::distributed::BlockVector< Number > |
Public Member Functions | |
DiagonalMatrix ()=default | |
void | reinit (const vector_type &lumped_mass_matrix, const vector_type &density, const dealii::AffineConstraints< Number > &affine_constraints) |
vector_type & | get_vector () |
block_vector_type & | get_block_vector () |
void | vmult (vector_type &dst, const vector_type &src) const |
void | vmult (block_vector_type &dst, const block_vector_type &src) const |
A diagonal matrix used as a preconditioner for the non-multigrid CG iteration. The diagonal matrix is constructed by computing \(d_i=1/(\rho_i m_i)\) for a given lumped mass matrix \( m_i \), and a density field \( \rho_i \).
Definition at line 41 of file parabolic_solver_gmg_operators.h.
using ryujin::NavierStokes::DiagonalMatrix< dim, Number >::vector_type = dealii::LinearAlgebra::distributed::Vector<Number> |
Definition at line 47 of file parabolic_solver_gmg_operators.h.
using ryujin::NavierStokes::DiagonalMatrix< dim, Number >::block_vector_type = dealii::LinearAlgebra::distributed::BlockVector<Number> |
Definition at line 52 of file parabolic_solver_gmg_operators.h.
|
default |
Constructor
|
inline |
Compute the inverse of a given density \( \rho_i \) and a given lumped mass matrix \( m_i \), viz., \(d_i=1/(\rho_i m_i)\).
Definition at line 64 of file parabolic_solver_gmg_operators.h.
Referenced by ryujin::NavierStokes::ParabolicSolver< Description, dim, Number >::backward_euler_step().
|
inline |
Get access to the internal vector to be externally filled.
Definition at line 89 of file parabolic_solver_gmg_operators.h.
|
inline |
Get access to the internal vector to be externally filled.
Definition at line 97 of file parabolic_solver_gmg_operators.h.
|
inline |
Apply on a vector.
Definition at line 105 of file parabolic_solver_gmg_operators.h.
|
inline |
Apply on a block vector.
Definition at line 119 of file parabolic_solver_gmg_operators.h.