ryujin 2.1.1 revision fd1a8e8ebb4535655802e400781bce67403e1e49
Classes | Enumerations
Hyperbolic Module


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


enum class  ryujin::IDViolationStrategy { 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

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. We further do a quick sanity check whether the computed step size tau_max and the prescribed step size tau are within an acceptable tolerance of about 10%.


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


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 39 of file hyperbolic_module.h.