ibm_t Derived Type

type, public :: ibm_t


Inherits

type~~ibm_t~~InheritsGraph type~ibm_t ibm_t type~allocator_t allocator_t type~ibm_t->type~allocator_t host_allocator type~base_backend_t base_backend_t type~ibm_t->type~base_backend_t backend type~field_t field_t type~ibm_t->type~field_t ep1 type~mesh_t mesh_t type~ibm_t->type~mesh_t mesh 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

Inherited by

type~~ibm_t~~InheritedByGraph type~ibm_t ibm_t type~solver_t solver_t type~solver_t->type~ibm_t ibm type~base_case_t base_case_t type~base_case_t->type~solver_t solver type~case_channel_t case_channel_t type~case_channel_t->type~base_case_t type~case_generic_t case_generic_t type~case_generic_t->type~base_case_t type~case_tgv_t case_tgv_t type~case_tgv_t->type~base_case_t

Components

Type Visibility Attributes Name Initial
class(base_backend_t), public, pointer :: backend => null()
class(mesh_t), public, pointer :: mesh => null()
type(allocator_t), public, pointer :: host_allocator => null()
integer, public :: iibm = 0
type(field_t), public, pointer :: ep1 => null()

Constructor

public interface ibm_t

  • private function init(backend, mesh, host_allocator) result(ibm)

    Initialize the basic IBM

    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(ibm_t)


Type-Bound Procedures

procedure, public :: body

  • private subroutine body(self, u, v, w)

    Apply basic IBM before the pressure solver

    Arguments

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