|
Peano
|
Data Structures | |
| class | RusanovWithOptimisticExplicitEuler |
| Finite Volumes with a Rusanov Riemann solver and optimistic explicit Euler time stepping, realised over a block-structured mesh. More... | |
Functions | |
| "void" | timeStepWithRusanov2DOnPatchInterior ("::exahype2::CellData<double, double>&" patchData) |
| DSLHyPE time step kernels on the patch interior and on the shell of a patch. | |
| "void" | timeStepWithRusanov2DOnShell ("::exahype2::CellData<double, double>&" patchData) |
| Rusanov update of the shell of a 2d patch. | |
| "void" | timeStepWithRusanov3DOnPatchInterior ("::exahype2::CellData<double, double>&" patchData) |
| Rusanov update of the interior of a 3d patch. | |
| "void" | timeStepWithRusanov3DOnShell ("::exahype2::CellData<double, double>&" patchData) |
| Rusanov update of the shell of a 3d patch. | |
| "void" exahype2.api.fv.RusanovWithOptimisticExplicitEuler.timeStepWithRusanov2DOnPatchInterior | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
DSLHyPE time step kernels on the patch interior and on the shell of a patch.
Variants of exahype2.api.fv.timeStepWithRusanov2D/3D that update only the patch interior or only the shell of the patch (exahype2.api.fv.RusanovWithOptimisticExplicitEuler.RusanovWithOptimisticExplicitEuler). They are never executed as Python, but parsed by DSLHyPE and hence follow the conventions documented with timeStepWithRusanov2D in RusanovWithExplicitEuler.py. Like the original kernels, they assume that the Rusanov stencil reaches one volume in each direction. All volumes between H and NV-H along each axis form the patch interior, so the shell is H volumes thick.
The 3d kernels test for the PDE terms by the same names as timeStepWithRusanov2D, i.e. volumetricSource, flux, nonconservativeProduct and maxEigenvalue.
The DataBlocks holding the eigenvalues per volume are declared over zero-based ranges, e.g. [0, NV-H-(H)] instead of [H, NV-H]. DSLHyPE's unary max() iterates over the declared range of its argument, but indexes the argument's compact storage as if this range started at zero. A range that does not start at zero hence makes max() read past the end of the storage.
Rusanov update of the interior of a 2d patch.
Definition at line 69 of file RusanovWithOptimisticExplicitEuler.py.
| "void" exahype2.api.fv.RusanovWithOptimisticExplicitEuler.timeStepWithRusanov2DOnShell | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
Rusanov update of the shell of a 2d patch.
Definition at line 126 of file RusanovWithOptimisticExplicitEuler.py.
| "void" exahype2.api.fv.RusanovWithOptimisticExplicitEuler.timeStepWithRusanov3DOnPatchInterior | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
Rusanov update of the interior of a 3d patch.
Definition at line 324 of file RusanovWithOptimisticExplicitEuler.py.
| "void" exahype2.api.fv.RusanovWithOptimisticExplicitEuler.timeStepWithRusanov3DOnShell | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
Rusanov update of the shell of a 3d patch.
Definition at line 397 of file RusanovWithOptimisticExplicitEuler.py.