Replays the planes of ninflows files as a time-varying inflow.
Plane n (1-based, counted across the files) is the inflow at time
n*plane_dt; between planes it is interpolated linearly, and after
the last plane the series repeats from the first.
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| type(mesh_t), | public, | pointer | :: | mesh | => | null() | |
| type(inflow_config_t), | public | :: | cfg | ||||
| integer, | public | :: | ntimesteps | = | 0 |
planes per file |
|
| real(kind=dp), | public | :: | plane_dt | = | 0._dp |
time between planes |
|
| type(plane_block_t), | public | :: | blocks(2) |
Two files are enough to interpolate across a file boundary |
Opens the first file to learn the plane count and spacing
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(mesh_t), | intent(inout), | target | :: | mesh | ||
| type(inflow_config_t), | intent(in) | :: | cfg |
Inflow plane at time t on this rank's local (ny, nz)
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(inflow_plane_reader_t), | intent(inout) | :: | self | |||
| real(kind=dp), | intent(in) | :: | t | |||
| real(kind=dp), | intent(out) | :: | u(:,:) | |||
| real(kind=dp), | intent(out) | :: | v(:,:) | |||
| real(kind=dp), | intent(out) | :: | w(:,:) |