13 solver, patch_size=7, rk_order=4
21 body = action_set.get_body_of_operation(
22 peano4.api.solversteps.ActionSet.OPERATION_TOUCH_CELL_FIRST_TIME
24 assert "parallelDfor( gridCell, 7 )" in body
26 "::exahype2::fd::getGridCellCentre( marker.x(), marker.h(), 7, gridCell)"
29 assert "* (3 + 1)" in body
30 assert '#include "exahype2/fd/PatchUtils.h"' in action_set.get_includes()
36 solver, solver._patch_overlap_current_time_step, guard=
"true"
38 body = action_set.get_body_of_operation(
39 peano4.api.solversteps.ActionSet.OPERATION_TOUCH_FACE_FIRST_TIME
41 assert "::exahype2::blockstructured::applyDirichletBoundaryConditions(" in body
43 assert " 7,\n 2,\n 3 + 1,\n" in body
44 assert "fineGridFaceProbeQCurrentTimeStep.value" in body
46 '#include "exahype2/blockstructured/DirichletBoundaryConditions.h"'
47 in action_set.get_includes()
54 solver._patch_overlap_current_time_step,
55 solver._patch_overlap_update,
59 body = action_set.get_body_of_operation(
60 peano4.api.solversteps.ActionSet.OPERATION_TOUCH_FACE_LAST_TIME
62 assert body.count(
"::exahype2::fv::copyHalfOfHalo(") == 2
63 assert " 4,\n 7,\n 2," in body
67 package = pathlib.Path(exahype2.api.rkfd4.__file__).parent
68 for source
in package.rglob(
"*.py"):
69 code = source.read_text()
70 assert "from ..fv" not in code
and "import exahype2.api.fv" not in code, source
Point-wise initial condition: given the physical position of a single degree of freedom,...
Abstract base class for all ExaHyPE 2 solvers.
Fourth-order central Finite Differences with explicit Runge-Kutta time stepping, realised over a bloc...
Set the ghost grid cells along the domain boundary through the solver's exahype2.api....
Fill a patch's initial condition, one grid cell at a time, by calling the solver's exahype2....
Copy patch_overlap_update - the face overlap exahype2.api.rkfd4.actionsets.ProjectPatchOntoFaces has ...
The Python-side model of "what happens during one mesh sweep".
test_roll_over_copies_both_halves_of_the_overlap()
test_dirichlet_boundary_conditions_fill_all_halo_layers()
test_rkfd4_does_not_import_the_finite_volume_package()
test_initial_condition_loops_over_grid_cells()