case_tgv_t Derived Type

type, public, extends(base_case_t) :: case_tgv_t


Components

Type Visibility Attributes Name Initial
class(solver_t), public, allocatable :: solver

Constructor

public interface case_tgv_t

  • public function case_tgv_init(backend, mesh, host_allocator) result(flow_case)

    Arguments

    Type IntentOptional Attributes Name
    class(base_backend_t), intent(inout), target :: backend
    type(mesh_t), intent(inout), target :: mesh
    type(allocator_t), intent(inout), target :: host_allocator

    Return Value type(case_tgv_t)


Type-Bound Procedures

procedure, public :: case_init

  • public subroutine case_init(self, backend, mesh, host_allocator)

    Arguments

    Type IntentOptional Attributes Name
    class(base_case_t) :: self
    class(base_backend_t), intent(inout), target :: backend
    type(mesh_t), intent(inout), target :: mesh
    type(allocator_t), intent(inout), target :: host_allocator

procedure, public :: set_init

  • public subroutine set_init(self, field, field_func)

    Arguments

    Type IntentOptional Attributes Name
    class(base_case_t) :: self
    class(field_t), intent(inout) :: field
    public pure function field_func(coords) result(r)
    Arguments
    Type IntentOptional Attributes Name
    real(kind=dp), intent(in) :: coords(3)
    Return Value real(kind=dp)

procedure, public :: run

  • public subroutine run(self)

    Runs the solver forwards in time from t=t_0 to t=T, performing postprocessing/IO and reporting diagnostics.

    Arguments

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

procedure, public :: print_enstrophy

  • public subroutine print_enstrophy(self, u, v, w)

    Reports the enstrophy

    Arguments

    Type IntentOptional Attributes Name
    class(base_case_t), intent(in) :: self
    class(field_t), intent(in) :: u
    class(field_t), intent(in) :: v
    class(field_t), intent(in) :: w

procedure, public :: print_div_max_mean

  • public subroutine print_div_max_mean(self, u, v, w)

    Reports the div(u) at cell centres

    Arguments

    Type IntentOptional Attributes Name
    class(base_case_t), intent(in) :: self
    class(field_t), intent(in) :: u
    class(field_t), intent(in) :: v
    class(field_t), intent(in) :: w

procedure, public :: boundary_conditions => boundary_conditions_tgv

procedure, public :: initial_conditions => initial_conditions_tgv

procedure, public :: forcings => forcings_tgv

  • public subroutine forcings_tgv(self, du, dv, dw)

    Arguments

    Type IntentOptional Attributes Name
    class(case_tgv_t) :: self
    class(field_t), intent(inout) :: du
    class(field_t), intent(inout) :: dv
    class(field_t), intent(inout) :: dw

procedure, public :: postprocess => postprocess_tgv

  • public subroutine postprocess_tgv(self, i, t)

    Arguments

    Type IntentOptional Attributes Name
    class(case_tgv_t) :: self
    integer, intent(in) :: i
    real(kind=dp), intent(in) :: t