ryujin 2.5.0 revision c64172211cf21344cb9b9b0f3a1266aa6400d392
Loading...
Searching...
No Matches
Classes | Typedefs | Enumerations
The Euler-Poisson Equations
Collaboration diagram for The Euler-Poisson Equations:

Classes

class  ryujin::ElectrostaticConfiguration< dim, Number >
 
class  ryujin::ElectrostaticConfigurations::Constant< dim, Number >
 
class  ryujin::ElectrostaticConfigurations::Function< dim, Number >
 
class  ryujin::LaplaceOperator< dim, Number >
 
class  ryujin::UpdateOperator< dim, Number >
 
class  ryujin::MGTransfer< dim, Number >
 
class  ryujin::MGSmoother< dim, Number >
 
struct  ryujin::EulerPoisson::ParabolicDescription
 
class  ryujin::EulerPoisson::ParabolicModule< HyperbolicDescription, dim, Number >
 
class  ryujin::EulerPoisson::ParabolicSystem
 

Typedefs

template<int dim, typename Number = double>
using ryujin::ElectrostaticConfigurationLibrary = Library< ElectrostaticConfiguration< dim, Number >, const std::string & >
 

Enumerations

enum  ryujin::EulerPoisson::GaussLawRestartStrategy : dealii::types::boundary_id {
  ryujin::EulerPoisson::no_restart , ryujin::EulerPoisson::full_restart , ryujin::EulerPoisson::correction , ryujin::EulerPoisson::static_no_restart ,
  ryujin::EulerPoisson::static_full_restart
}
 

Detailed Description

This module contains classes and functions related to solving the compressible Euler equations coupled to a Poisson problem for the electrostatic potential (include/ryujin/euler_poisson).

Typedef Documentation

◆ ElectrostaticConfigurationLibrary

template<int dim, typename Number = double>
using ryujin::ElectrostaticConfigurationLibrary = typedef Library<ElectrostaticConfiguration<dim, Number>, const std::string &>

The library of electrostatic configurations: a registry of all electrostatic configurations that the EulerPoisson::ParabolicModule can select by name. The built-in configurations of the namespace ElectrostaticConfigurations are registered by default.

Definition at line 26 of file electrostatic_configuration_library.h.

Enumeration Type Documentation

◆ GaussLawRestartStrategy

enum ryujin::EulerPoisson::GaussLawRestartStrategy : dealii::types::boundary_id

Controls the chosen Gauss law restart strategy.

Enumerator
no_restart 

Initialize the potential by solving

\[ -\Delta \varphi = \alpha (\rho + \rho_b) \]

once at the first timestep. Then, solve

\[ -\partial_t \Delta \varphi = - \alpha \nabla \cdot \boldsymbol m + \partial_t \rho_b \]

at each parabolic substep. Do not restart the Gauss law. This is the default strategy.

full_restart 

Initialize the potential by solving

\[ -\Delta \varphi = \alpha (\rho + \rho_b) \]

once at the first timestep. Then, solve

\[ -\partial_t \Delta \varphi = - \alpha \nabla \cdot \boldsymbol m + \partial_t \rho_b \]

at each parabolic substep. Finally, at the beginning of each subsequent time step, restart the Gauss law at the beginning of each time step by solving again

\[ -\Delta \varphi = \alpha (\rho + \rho_b). \]

correction 

Solve

\[ -\partial_t \Delta \varphi = -\alpha \nabla \cdot \boldsymbol m + \partial_t \rho_b \]

at each parabolic substep. Then, correct the Gauss law violation by artificially relaxing the kinetic energy.

FIXME documentation

static_no_restart 

Initialize the potential by solving

\[ -\Delta \varphi = \alpha (\rho + \rho_b) \]

once at the first timestep. Afterwards, do not update the potential any more.

static_full_restart 

Solve

\[ -\Delta \varphi = \alpha (\rho + \rho_b) \]

at the beginning of each timestep. Do not update the potential during a parabolic substep.

Definition at line 35 of file parabolic_module.h.