ryujin 2.1.1 revision c38afcfdec63b34961924f05408760247496a1f0
Classes | Enumerations
Hyperbolic Module

Classes

class  ryujin::HyperbolicModule< Description, dim, Number >
 

Enumerations

enum class  ryujin::IDViolationStrategy : std::uint8_t { ryujin::IDViolationStrategy::warn , ryujin::IDViolationStrategy::raise_exception }
 

Detailed Description

This module contains classes and functions used during different stages of the explicit hyperbolic update performed in HyperbolicModule::step().

Enumeration Type Documentation

◆ IDViolationStrategy

enum class ryujin::IDViolationStrategy : std::uint8_t
strong

An enum controlling the behavior on detection of an invariant domain or CFL violation. Such a case might occur for either aggressive CFL numbers > 1, and/or later stages in the Runge Kutta scheme when the time step tau is prescribed.

The invariant domain violation is detected in the limiter and typically implies that the low-order update is already out of bounds.

Note
Data structures in HyperbolicModule are initialized with the ensemble subrange communicator stored in MPIEnsemble. However, the time step size constraint (i.e. tau_max) is synchronized over the entire global communicator.
Enumerator
warn 

Warn about an invariant domain violation but take no further action.

raise_exception 

Raise a Restart exception on domain violation. This exception can be caught in TimeIntegrator and various different actions (adapt CFL and retry) can be taken depending on chosen strategy.

Definition at line 43 of file hyperbolic_module.h.