inflow_plane_writer_t Derived Type

type, public :: inflow_plane_writer_t


Inherits

type~~inflow_plane_writer_t~~InheritsGraph type~inflow_plane_writer_t inflow_plane_writer_t type~base_backend_t base_backend_t type~inflow_plane_writer_t->type~base_backend_t backend type~inflow_config_t inflow_config_t type~inflow_plane_writer_t->type~inflow_config_t cfg type~mesh_t mesh_t type~inflow_plane_writer_t->type~mesh_t mesh type~base_backend_t->type~mesh_t mesh type~allocator_t allocator_t type~base_backend_t->type~allocator_t allocator type~poisson_fft_t poisson_fft_t type~base_backend_t->type~poisson_fft_t poisson_fft type~base_config_t base_config_t type~inflow_config_t->type~base_config_t type~geo_t geo_t type~mesh_t->type~geo_t geo type~grid_t grid_t type~mesh_t->type~grid_t grid type~par_t par_t type~mesh_t->type~par_t par type~field_t field_t type~allocator_t->type~field_t first type~poisson_fft_t->type~mesh_t mesh type~field_t->type~field_t next

Inherited by

type~~inflow_plane_writer_t~~InheritedByGraph type~inflow_plane_writer_t inflow_plane_writer_t type~case_abl_t case_abl_t type~case_abl_t->type~inflow_plane_writer_t inflow_writer

Components

Type Visibility Attributes Name Initial
class(base_backend_t), public, pointer :: backend => null()
type(mesh_t), public, pointer :: mesh => null()
type(inflow_config_t), public :: cfg
real(kind=dp), public, allocatable :: u(:,:,:)

Buffered planes, (ntimesteps, ny, nz) per component on local y-z

real(kind=dp), public, allocatable :: v(:,:,:)

Buffered planes, (ntimesteps, ny, nz) per component on local y-z

real(kind=dp), public, allocatable :: w(:,:,:)

Buffered planes, (ntimesteps, ny, nz) per component on local y-z

real(kind=dp), public, allocatable :: times(:,:,:)

Simulation time of each plane; 3D only to fit the array writer

real(kind=dp), public, allocatable :: host(:,:,:)

Padded Cartesian scratch for the field-to-host copy

real(kind=dp), public :: dt = 0._dp

solver time step

integer, public :: x_index = 0

global x vertex index of the plane

integer, public :: i_local = 0

local x index, 0 if not on this rank

integer, public :: n_filled = 0

planes sampled into the current block


Constructor

public interface inflow_plane_writer_t

  • private function init(backend, mesh, cfg, dt) result(writer)

    Arguments

    Type IntentOptional Attributes Name
    class(base_backend_t), intent(inout), target :: backend
    type(mesh_t), intent(inout), target :: mesh
    type(inflow_config_t), intent(in) :: cfg
    real(kind=dp), intent(in) :: dt

    Return Value type(inflow_plane_writer_t)


Type-Bound Procedures

procedure, public :: sample

  • private subroutine sample(self, iter, t, u, v, w)

    Record the plane at iteration iter if it is a sampling step, and write the block once its last plane is in. A block only partly sampled by this run (a restart inside it) is skipped rather than written with stale planes.

    Arguments

    Type IntentOptional Attributes Name
    class(inflow_plane_writer_t), intent(inout) :: self
    integer, intent(in) :: iter
    real(kind=dp), intent(in) :: t
    class(field_t), intent(in) :: u
    class(field_t), intent(in) :: v
    class(field_t), intent(in) :: w