|
Peano
|
Functions | |
| "void" | rightHandSideWithFD42D ("::exahype2::CellData<double, double>&" patchData) |
| DSLHyPE kernels of the fourth-order Finite Differences. | |
| "void" | rightHandSideWithFD43D ("::exahype2::CellData<double, double>&" patchData) |
| "void" | maxEigenvalueOverPatch2D ("::exahype2::CellData<double, double>&" patchData) |
| "void" | maxEigenvalueOverPatch3D ("::exahype2::CellData<double, double>&" patchData) |
| "void" exahype2.api.rkfd4.FD4Kernels.maxEigenvalueOverPatch2D | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
Definition at line 131 of file FD4Kernels.py.
| "void" exahype2.api.rkfd4.FD4Kernels.maxEigenvalueOverPatch3D | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
Definition at line 144 of file FD4Kernels.py.
| "void" exahype2.api.rkfd4.FD4Kernels.rightHandSideWithFD42D | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
DSLHyPE kernels of the fourth-order Finite Differences.
The functions below are never executed as Python. DSLHyPE parses their source (exahype2.api.dslhype.Parser) and translates them into C++ (exahype2.api.rkfd4.CentralDifferencesWithRungeKutta). They hence refer to symbols the parser sets rather than Python imports:
Do not add comments within the functions: DSLHyPE parses the comments, too, and gets confused by comments which mention the names of variables.
rightHandSideWithFD42D() and rightHandSideWithFD43D() evaluate the right-hand side
\( \partial _t Q = - \nabla \cdot F(Q) - \sum _d B_d(Q) \partial _d Q + S(Q) \)
over a patch with a halo of H grid cells (patchData.QIn) and write it into patchData.QOut, which holds the unknowns only. They do not scale with the time step size nor add the old solution, as the outcome is one estimate of a Runge-Kutta scheme.
The functions replace the legacy timeStepWithFD4() of exahype2.solvers.rkfd.fd4, which was three-dimensional only, passed deltaQ instead of the non-conservative product along x into the update, and had a (commented out) Kreiss-Oliger dissipation built in. There is no dissipation in these kernels anymore: exagrype.api.FD4WithKODissipation adds it as a separate kernel on top.
maxEigenvalueOverPatch2D() and maxEigenvalueOverPatch3D() reduce the maximum eigenvalue over all grid cells of a patch without halo (patchData.QIn) into patchData.maxEigenvalue. The adaptive time stepping derives the next time step size from it.
Definition at line 63 of file FD4Kernels.py.
| "void" exahype2.api.rkfd4.FD4Kernels.rightHandSideWithFD43D | ( | "::exahype2::CellData<double, double>&" | patchData | ) |
Definition at line 94 of file FD4Kernels.py.