m_case_tgv Module


Uses

  • module~~m_case_tgv~~UsesGraph module~m_case_tgv m_case_tgv iso_fortran_env iso_fortran_env module~m_case_tgv->iso_fortran_env module~m_allocator m_allocator module~m_case_tgv->module~m_allocator module~m_base_backend m_base_backend module~m_case_tgv->module~m_base_backend module~m_base_case m_base_case module~m_case_tgv->module~m_base_case module~m_common m_common module~m_case_tgv->module~m_common module~m_field m_field module~m_case_tgv->module~m_field module~m_mesh m_mesh module~m_case_tgv->module~m_mesh module~m_solver m_solver module~m_case_tgv->module~m_solver module~m_allocator->iso_fortran_env module~m_allocator->module~m_common module~m_allocator->module~m_field module~m_allocator->module~m_mesh module~m_base_backend->module~m_allocator module~m_base_backend->module~m_common module~m_base_backend->module~m_field module~m_base_backend->module~m_mesh module~m_poisson_fft m_poisson_fft module~m_base_backend->module~m_poisson_fft module~m_tdsops m_tdsops module~m_base_backend->module~m_tdsops mpi mpi module~m_base_backend->mpi module~m_base_case->module~m_allocator module~m_base_case->module~m_base_backend module~m_base_case->module~m_common module~m_base_case->module~m_field module~m_base_case->module~m_mesh module~m_base_case->module~m_solver module~m_field->module~m_common module~m_mesh->iso_fortran_env module~m_mesh->module~m_common module~m_mesh->module~m_field module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content module~m_mesh->mpi module~m_solver->iso_fortran_env module~m_solver->module~m_allocator module~m_solver->module~m_base_backend module~m_solver->module~m_common module~m_solver->module~m_field module~m_solver->module~m_mesh module~m_config m_config module~m_solver->module~m_config module~m_solver->module~m_tdsops module~m_time_integrator m_time_integrator module~m_solver->module~m_time_integrator module~m_vector_calculus m_vector_calculus module~m_solver->module~m_vector_calculus module~m_solver->mpi module~m_config->iso_fortran_env module~m_config->module~m_common module~m_mesh_content->module~m_common module~m_poisson_fft->module~m_common module~m_poisson_fft->module~m_field module~m_poisson_fft->module~m_mesh module~m_poisson_fft->module~m_tdsops module~m_tdsops->iso_fortran_env module~m_tdsops->module~m_common module~m_time_integrator->module~m_allocator module~m_time_integrator->module~m_base_backend module~m_time_integrator->module~m_common module~m_time_integrator->module~m_field module~m_vector_calculus->iso_fortran_env module~m_vector_calculus->module~m_allocator module~m_vector_calculus->module~m_base_backend module~m_vector_calculus->module~m_common module~m_vector_calculus->module~m_field module~m_vector_calculus->module~m_tdsops

Used by

  • module~~m_case_tgv~~UsedByGraph module~m_case_tgv m_case_tgv program~xcompact xcompact program~xcompact->module~m_case_tgv

Interfaces

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)


Derived Types

type, public, extends(base_case_t) ::  case_tgv_t

Components

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

Constructor

public function case_tgv_init (backend, mesh, host_allocator)

Type-Bound Procedures

procedure, public :: case_init
procedure, public :: set_init
procedure, public :: run
procedure, public :: print_enstrophy
procedure, public :: print_div_max_mean
procedure, public :: boundary_conditions => boundary_conditions_tgv
procedure, public :: initial_conditions => initial_conditions_tgv
procedure, public :: forcings => forcings_tgv
procedure, public :: pre_correction => pre_correction_tgv
procedure, public :: postprocess => postprocess_tgv

Functions

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)

public pure function u_func(coords) result(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: coords(3)

Return Value real(kind=dp)

public pure function v_func(coords) result(r)

Arguments

Type IntentOptional Attributes Name
real(kind=dp), intent(in) :: coords(3)

Return Value real(kind=dp)


Subroutines

public subroutine initial_conditions_tgv(self)

Arguments

Type IntentOptional Attributes Name
class(case_tgv_t) :: self

public subroutine boundary_conditions_tgv(self)

Arguments

Type IntentOptional Attributes Name
class(case_tgv_t) :: self

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

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
integer, intent(in) :: iter

public subroutine pre_correction_tgv(self, u, v, w)

Arguments

Type IntentOptional Attributes Name
class(case_tgv_t) :: self
class(field_t), intent(inout) :: u
class(field_t), intent(inout) :: v
class(field_t), intent(inout) :: w

public subroutine postprocess_tgv(self, iter, t)

Arguments

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