Currently job artifacts in CI/CD pipelines on LRZ GitLab never expire. Starting from Wed 26.1.2022 the default expiration time will be 30 days (GitLab default). Currently existing artifacts in already completed jobs will not be affected by the change. The latest artifacts for all jobs in the latest successful pipelines will be kept. More information: https://gitlab.lrz.de/help/user/admin_area/settings/continuous_integration.html#default-artifacts-expiration

Commit 02ece0bd authored by Dominic Etienne Charrier's avatar Dominic Etienne Charrier
Browse files

Add remark that you HAVE TO check for NaNs and +-Inf in the PAD, too.

parent 593f886c
......@@ -108,8 +108,9 @@ void MyProject::MySolver_ADERDG::mapDiscreteMaximumPrincipleObservables(
[..]
\end{code}
Often it is further important to test the numerical solution for
physical admissibility, e.g., if a density is positive.
Furthermore, it is important to test the numerical solution for
physical admissibility, e.g., if a density is positive or if it is an actual finite number,
e.g. not "NaN" or $\pm$ "Inf".
The troubled cell indicator of {ExaHyPE's} ADER-DG scheme with Finite Volumes
limiting thus does not only rely on the DMP but
makes use of an physical admissbility detection (PAD).
......@@ -144,6 +145,14 @@ bool MyProject::MySolver_ADERDG::isPhysicallyAdmissible(
const double t, const double dt) const {
// This is an example for the compressible Euler equations.
// Modify it according to your needs.
if( !std::isfinite(observablesMin[0] ) // always check for NaNs!
return false;
if( !std::isfinite(observablesMin[4] )
return false;
if( !std::isfinite(observablesMax[0] )
return false;
if( !std::isfinite(observablesMax[4] )
return false;
if (observablesMin[0] <= 0.0) return false; // (min) density should not be
// negative
if (observablesMin[4] < 0.0) return false; return true;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment