m_ibm Module

This module implements the IBM capabilities.

When iibm = 0, the IBM object is never used.

When iibm = 1, the basic IBM capability is used. It only requires ep1, a 3D field, as input. This field should be one (zero) in the fluid (solid) domain.


Uses

  • module~~m_ibm~~UsesGraph module~m_ibm m_ibm iso_fortran_env iso_fortran_env module~m_ibm->iso_fortran_env module~m_adios2_io m_adios2_io module~m_ibm->module~m_adios2_io module~m_allocator m_allocator module~m_ibm->module~m_allocator module~m_base_backend m_base_backend module~m_ibm->module~m_base_backend module~m_common m_common module~m_ibm->module~m_common module~m_field m_field module~m_ibm->module~m_field module~m_mesh m_mesh module~m_ibm->module~m_mesh mpi mpi module~m_ibm->mpi module~m_adios2_io->module~m_common module~m_adios2_io->mpi adios2 adios2 module~m_adios2_io->adios2 module~m_allocator->iso_fortran_env module~m_allocator->module~m_common module~m_allocator->module~m_field 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_base_backend->mpi 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 module~m_common->mpi 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->mpi module~m_mesh_content m_mesh_content module~m_mesh->module~m_mesh_content 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

Used by

  • module~~m_ibm~~UsedByGraph module~m_ibm m_ibm module~m_solver m_solver module~m_solver->module~m_ibm module~m_base_case m_base_case module~m_base_case->module~m_solver module~m_checkpoint_manager~2 m_checkpoint_manager module~m_base_case->module~m_checkpoint_manager~2 module~m_case_channel m_case_channel module~m_case_channel->module~m_solver module~m_case_channel->module~m_base_case module~m_case_generic m_case_generic module~m_case_generic->module~m_solver module~m_case_generic->module~m_base_case module~m_case_tgv m_case_tgv module~m_case_tgv->module~m_solver module~m_case_tgv->module~m_base_case module~m_checkpoint_manager m_checkpoint_manager module~m_checkpoint_manager->module~m_solver module~m_checkpoint_manager_base m_checkpoint_manager_base module~m_checkpoint_manager_base->module~m_solver module~m_checkpoint_manager_impl m_checkpoint_manager_impl module~m_checkpoint_manager_impl->module~m_solver module~m_checkpoint_manager_impl->module~m_checkpoint_manager_base module~m_checkpoint_manager~2->module~m_solver module~m_checkpoint_manager~2->module~m_checkpoint_manager_impl program~xcompact xcompact program~xcompact->module~m_base_case program~xcompact->module~m_case_channel program~xcompact->module~m_case_generic program~xcompact->module~m_case_tgv

Variables

Type Visibility Attributes Name Initial
integer, public, parameter :: iibm_basic = 1

Interfaces

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)


Derived Types

type, public ::  ibm_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

private function init (backend, mesh, host_allocator)

Initialize the basic IBM

Type-Bound Procedures

procedure, public :: body