Peano
Loading...
Searching...
No Matches
_higher Namespace Reference

-order-fd More...

Detailed Description

-order-fd

-order-solvers

Create the PNG illustrations of the tutorial 523_higher-order-fd.ipynb

The script builds the single black hole setup of the tutorial with several numerical schemes, runs them one after the other, extracts the lapse and the conformal factor along the x-axis with Peano's PointProbe, and writes all pictures into the directory of this script. All runs use Sommerfeld boundary conditions, a domain decomposition and four OpenMP threads, i.e. the final setup of 522_single-black-hole.ipynb, over 9x9x9 mesh cells with 10x10x10 volumes or grid cells each:

  • fv: exahype2.api.fv.RusanovWithExplicitEuler;
  • fd4: exahype2.api.rkfd4.CentralDifferencesWithRungeKutta with the classic fourth-order Runge-Kutta scheme and without dissipation;
  • fd4-ko-{sigma}: exagrype.api.FD4WithKODissipation with the Kreiss-Oliger dissipation scaled by sigma, for sigma 0.3, 1 and 8;
  • fd4-lop: the fourth-order Finite Differences with the kernel CentralDifferencesWithLopsidedAdvection, i.e. with the advection terms which exagrype::ccz4::ncp() omits;
  • fd4-lop-ko-8.0: the same with the Kreiss-Oliger dissipation (sigma=8) on all unknowns;
  • fd4-lop-ko-8.0-subset: the same with the dissipation on Q0-Q22 and Q53-Q54 only (DissipationSubset).

The dictionary Runs holds the configurations.

Call it from anywhere:

 python3 tutorials/exahype2/exagrype/illustrations/523_higher-order-fd.py

Peano has to be configured with –with-gsl, as the initial data stems from TwoPunctures. All builds and outputs go into a temporary directory (or –work-directory). If you pass a work directory, a run which has completed before is reused, i.e. you can rerun the script to redraw the pictures without recomputing. A run which crashes or produces NaNs is reported, and its output up to that point is used.

Create the PNG illustrations of the tutorial 12_higher-order-solvers.ipynb

The script builds the Euler setup of the tutorials 10_euler and 12_higher-order-solvers with the first-order Finite Volumes and with the fourth-order Finite Differences plus Runge-Kutta schemes of order one to four, runs them on three meshes, and writes the following pictures into the directory of this script:

  • 12_higher-order-solvers-convergence.png: error over mesh width;
  • 12_higher-order-solvers-profile.png: density along y=0 after one period;
  • 12_higher-order-solvers-instability.png: the error over time of the explicit Euler time stepping (Runge-Kutta of order one).

The PDE terms are injected from Python, i.e. we do not need any hand-written C++ file. Call it from anywhere:

 python3 tutorials/exahype2/illustrations/12_higher-order-solvers.py

All builds and outputs go into a temporary directory (or –work-directory). A run whose directory already holds the output is not repeated, so you can rerun the script with the same –work-directory after you have changed a plot. The script builds 20 executables, i.e. it runs for roughly 40 minutes.