Candidate interval [lower, upper] of the automatic upper Fourier switch height. Shared by the preflight and the snapshot's candidate planes. lower keeps the 0.25 min(Lx,Ly) clearance above the mesh top; upper sits 1e-9 of the box height below H, and at least one float below H when that margin is under H's ULP, so the interval depends on the box geometry and not on the sign or magnitude of the absolute z coordinate.
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(sim_config), | intent(in) | :: | sim | |||
| real(kind=dp), | intent(in) | :: | z_top | |||
| real(kind=dp), | intent(out) | :: | lower | |||
| real(kind=dp), | intent(out) | :: | upper |
pure subroutine upper_fourier_auto_height_range(sim, z_top, lower, upper) type(sim_config), intent(in) :: sim real(dp), intent(in) :: z_top real(dp), intent(out) :: lower, upper lower = z_top + 0.25_dp*minval(sim%box_max(1:2) - sim%box_min(1:2)) upper = min(sim%box_max(3) - 1.0e-9_dp*(sim%box_max(3) - sim%box_min(3)), nearest(sim%box_max(3), -1.0_dp)) end subroutine upper_fourier_auto_height_range