adm_t Derived Type

type, public, extends(turbine_model_t) :: adm_t


Inherits

type~~adm_t~~InheritsGraph type~adm_t adm_t type~actuator_disc_t actuator_disc_t type~adm_t->type~actuator_disc_t disc type~allocator_t allocator_t type~adm_t->type~allocator_t host_allocator type~base_backend_t base_backend_t type~adm_t->type~base_backend_t backend type~field_t field_t type~adm_t->type~field_t gamma, disc_id type~mesh_t mesh_t type~adm_t->type~mesh_t mesh type~scalar_series_t scalar_series_t type~adm_t->type~scalar_series_t output type~turbine_model_t turbine_model_t type~adm_t->type~turbine_model_t type~allocator_t->type~field_t first type~base_backend_t->type~allocator_t allocator type~base_backend_t->type~mesh_t mesh type~poisson_fft_t poisson_fft_t type~base_backend_t->type~poisson_fft_t poisson_fft type~field_t->type~field_t next 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~checkpoint_state_t checkpoint_state_t type~turbine_model_t->type~checkpoint_state_t type~poisson_fft_t->type~mesh_t mesh

Components

Type Visibility Attributes Name Initial
integer, public :: n_turb = 0
real(kind=dp), public :: rho_air = 1._dp
real(kind=dp), public :: T_relax = -1._dp
real(kind=dp), public :: cell_vol
real(kind=dp), public :: dt
real(kind=dp), public :: last_update_time = -huge(1._dp)
integer, public :: current_iter = 0
integer, public :: stats_start = 1
integer, public :: stats_freq = 1
integer, public :: sample_count = 0
logical, public :: filter_initialized = .false.
logical, public :: recompute_forces = .true.
character(len=256), public :: coords_file = ''
type(actuator_disc_t), public, allocatable :: disc(:)
class(field_t), public, pointer :: gamma => null()

smearing kernels (DIR_X)

class(field_t), public, pointer :: disc_id => null()

disc label (DIR_X)

type(scalar_series_t), public, allocatable :: output(:)
class(base_backend_t), public, pointer :: backend => null()
type(mesh_t), public, pointer :: mesh => null()
type(allocator_t), public, pointer :: host_allocator => null()

Type-Bound Procedures

procedure, public :: init => init_adm

  • public subroutine init_adm(self, backend, mesh, host_allocator, dt)

    Arguments

    Type IntentOptional Attributes Name
    class(adm_t), intent(inout) :: self
    class(base_backend_t), intent(in), target :: backend
    type(mesh_t), intent(in), target :: mesh
    type(allocator_t), intent(in), target :: host_allocator
    real(kind=dp), intent(in) :: dt

procedure, public :: update => update_adm

  • public subroutine update_adm(self, t, dt)

    Arguments

    Type IntentOptional Attributes Name
    class(adm_t), intent(inout) :: self
    real(kind=dp), intent(in) :: t
    real(kind=dp), intent(in) :: dt

procedure, public :: project_forces => project_forces_adm

  • public subroutine project_forces_adm(self, du, dv, dw, u, v, w)

    Arguments

    Type IntentOptional Attributes Name
    class(adm_t), intent(inout) :: self
    class(field_t), intent(inout) :: du
    class(field_t), intent(inout) :: dv
    class(field_t), intent(inout) :: dw
    class(field_t), intent(in) :: u
    class(field_t), intent(in) :: v
    class(field_t), intent(in) :: w

procedure, public :: write_output => write_output_adm

  • public subroutine write_output_adm(self, iter, is_root)

    Arguments

    Type IntentOptional Attributes Name
    class(adm_t), intent(inout) :: self
    integer, intent(in) :: iter
    logical, intent(in) :: is_root

procedure, public :: setup_output => setup_output_adm

  • public subroutine setup_output_adm(self, is_root, append)

    Arguments

    Type IntentOptional Attributes Name
    class(adm_t), intent(inout) :: self
    logical, intent(in) :: is_root
    logical, intent(in) :: append

procedure, public :: write_checkpoint => write_checkpoint_adm

procedure, public :: read_checkpoint => read_checkpoint_adm

procedure, public :: finalise => finalise_adm

  • public subroutine finalise_adm(self)

    Arguments

    Type IntentOptional Attributes Name
    class(adm_t), intent(inout) :: self