Compute one boundary ghost-state vector from a boundary cell. Caller decides whether to broadcast the value across all halo cells or to use the per-cell mirror pattern (signalled by @p per_cell_pattern).
per halo index.
(dirichlet/inflow/supersonic_inlet, or
supersonic-inflow guards in nrbc paths).
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(solver_state_t), | intent(inout) | :: | state |
Solver instance (reads gam, BC config, etc.) |
||
| character(len=*), | intent(in) | :: | bc_type |
Boundary condition type string. |
||
| character(len=1), | intent(in) | :: | side |
Which boundary: 'L' (left) or 'R' (right). |
||
| real(kind=wp), | intent(in) | :: | q_wall(3) | |||
| real(kind=wp), | intent(in) | :: | q_penult(3) | |||
| real(kind=wp), | intent(out) | :: | q_ghost(3) | |||
| logical, | intent(out) | :: | per_cell_pattern |
.true. for 'reflecting': caller must mirror |
||
| logical, | intent(out) | :: | no_write |
.true. for 'reflecting': caller must mirror .true. when the halo should not be touched |