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

Boundary condition terms of exahype2.api and how the numerical schemes realise them (exahype2.api.blockstructured.BoundaryConditions). More...

Functions

 _project (periodic_BC)
 
 _solver (*boundary_terms, max_eigenvalue=True)
 
 _sommerfeld (**kwargs)
 
 _dirichlet ()
 
 test_has_domain_boundary ()
 
 test_get_boundary_conditions_returns_the_one_term ()
 
 test_get_boundary_conditions_rejects_inconsistent_terms (solver, periodic_BC, message)
 
 test_sommerfeld_term_generates_far_field_solution ()
 
 _realisation (scheme_factory, grid_construction_factory, solver, periodic_BC, tmp_path)
 Setup and time step task graphs of solver over the unit cube.
 
 _roll_over_bodies (tasks, actionsets)
 
 test_sommerfeld_replaces_roll_over_of_setup_and_time_step (scheme, tmp_path)
 
 _accesses_to_persistent_face_data (solver, tasks)
 
 test_sommerfeld_keeps_old_face_data_alive (scheme, tmp_path)
 The roll over reads the old face data, so no task may discard it, and the projection has to load it.
 
 test_dirichlet_discards_face_data_after_reconstruction (scheme, tmp_path)
 
 test_dirichlet_keeps_boundary_task_and_plain_roll_over (scheme, tmp_path)
 
 test_periodic_domain_has_no_boundary_treatment (scheme, tmp_path)
 
 test_periodic_domain_rejects_boundary_condition_term (scheme, tmp_path)
 

Variables

 TOUCH_FACE_LAST_TIME = peano4.api.solversteps.ActionSet.OPERATION_TOUCH_FACE_LAST_TIME
 
dict SCHEMES
 

Detailed Description

Boundary condition terms of exahype2.api and how the numerical schemes realise them (exahype2.api.blockstructured.BoundaryConditions).

Function Documentation

◆ _accesses_to_persistent_face_data()

test_boundary_conditions._accesses_to_persistent_face_data (   solver,
  tasks 
)
protected

Definition at line 200 of file test_boundary_conditions.py.

Referenced by test_dirichlet_discards_face_data_after_reconstruction(), and test_sommerfeld_keeps_old_face_data_alive().

Here is the caller graph for this function:

◆ _dirichlet()

test_boundary_conditions._dirichlet ( )
protected

◆ _project()

test_boundary_conditions._project (   periodic_BC)
protected

◆ _realisation()

test_boundary_conditions._realisation (   scheme_factory,
  grid_construction_factory,
  solver,
  periodic_BC,
  tmp_path 
)
protected

◆ _roll_over_bodies()

test_boundary_conditions._roll_over_bodies (   tasks,
  actionsets 
)
protected

◆ _solver()

◆ _sommerfeld()

◆ test_dirichlet_discards_face_data_after_reconstruction()

test_boundary_conditions.test_dirichlet_discards_face_data_after_reconstruction (   scheme,
  tmp_path 
)

Definition at line 223 of file test_boundary_conditions.py.

References _accesses_to_persistent_face_data(), _dirichlet(), _realisation(), and _solver().

Here is the call graph for this function:

◆ test_dirichlet_keeps_boundary_task_and_plain_roll_over()

test_boundary_conditions.test_dirichlet_keeps_boundary_task_and_plain_roll_over (   scheme,
  tmp_path 
)

Definition at line 236 of file test_boundary_conditions.py.

References _dirichlet(), _realisation(), _roll_over_bodies(), and _solver().

Here is the call graph for this function:

◆ test_get_boundary_conditions_rejects_inconsistent_terms()

test_boundary_conditions.test_get_boundary_conditions_rejects_inconsistent_terms (   solver,
  periodic_BC,
  message 
)

Definition at line 92 of file test_boundary_conditions.py.

References _project(), and exahype2.api.blockstructured.BoundaryConditions.get_boundary_conditions().

Here is the call graph for this function:

◆ test_get_boundary_conditions_returns_the_one_term()

test_boundary_conditions.test_get_boundary_conditions_returns_the_one_term ( )

Definition at line 55 of file test_boundary_conditions.py.

References _dirichlet(), _project(), _solver(), and _sommerfeld().

Here is the call graph for this function:

◆ test_has_domain_boundary()

test_boundary_conditions.test_has_domain_boundary ( )

Definition at line 48 of file test_boundary_conditions.py.

References _project().

Here is the call graph for this function:

◆ test_periodic_domain_has_no_boundary_treatment()

test_boundary_conditions.test_periodic_domain_has_no_boundary_treatment (   scheme,
  tmp_path 
)

Definition at line 253 of file test_boundary_conditions.py.

References _realisation(), _roll_over_bodies(), and _solver().

Here is the call graph for this function:

◆ test_periodic_domain_rejects_boundary_condition_term()

test_boundary_conditions.test_periodic_domain_rejects_boundary_condition_term (   scheme,
  tmp_path 
)

Definition at line 270 of file test_boundary_conditions.py.

References _realisation(), _solver(), and _sommerfeld().

Here is the call graph for this function:

◆ test_sommerfeld_keeps_old_face_data_alive()

test_boundary_conditions.test_sommerfeld_keeps_old_face_data_alive (   scheme,
  tmp_path 
)

The roll over reads the old face data, so no task may discard it, and the projection has to load it.

Definition at line 209 of file test_boundary_conditions.py.

References _accesses_to_persistent_face_data(), _realisation(), _solver(), and _sommerfeld().

Here is the call graph for this function:

◆ test_sommerfeld_replaces_roll_over_of_setup_and_time_step()

test_boundary_conditions.test_sommerfeld_replaces_roll_over_of_setup_and_time_step (   scheme,
  tmp_path 
)

Definition at line 170 of file test_boundary_conditions.py.

References _realisation(), _roll_over_bodies(), _solver(), and _sommerfeld().

Here is the call graph for this function:

◆ test_sommerfeld_term_generates_far_field_solution()

test_boundary_conditions.test_sommerfeld_term_generates_far_field_solution ( )

Definition at line 101 of file test_boundary_conditions.py.

References _sommerfeld().

Here is the call graph for this function:

Variable Documentation

◆ SCHEMES

dict test_boundary_conditions.SCHEMES
Initial value:
1= {
2 "fv": (
3 lambda solver: exahype2.api.fv.RusanovWithExplicitEuler(solver, 4),
5 solver, volume_size=0.1
6 ),
8 ),
9 "optimistic fv": (
12 solver, volume_size=0.1
13 ),
15 ),
16 "rkfd4": (
18 solver, patch_size=4, rk_order=2
19 ),
21 solver, volume_size=0.1
22 ),
24 ),
25}
Finite Volumes with a Rusanov Riemann solver and explicit Euler time stepping, realised over a block-...
Finite Volumes with a Rusanov Riemann solver and optimistic explicit Euler time stepping,...
Setup phase counterpart to RusanovWithExplicitEuler: sets the initial condition for a Finite Volume s...
Fourth-order central Finite Differences with explicit Runge-Kutta time stepping, realised over a bloc...
Setup phase of the fourth-order Finite Differences with Runge-Kutta time stepping (exahype2....

Definition at line 133 of file test_boundary_conditions.py.

◆ TOUCH_FACE_LAST_TIME

test_boundary_conditions.TOUCH_FACE_LAST_TIME = peano4.api.solversteps.ActionSet.OPERATION_TOUCH_FACE_LAST_TIME

Definition at line 14 of file test_boundary_conditions.py.