immersed_t Derived Type

type, public, abstract :: immersed_t

Abstract immersed boundary type


Inherited by

type~~immersed_t~~InheritedByGraph type~immersed_t immersed_t type~immersed_rho_t immersed_rho_t type~immersed_rho_t->type~immersed_t type~immersed_trace_t immersed_trace_t type~immersed_trace_t->type~immersed_t type~immersed_vessel_t immersed_vessel_t type~immersed_vessel_t->type~immersed_t

Components

Type Visibility Attributes Name Initial
real(kind=FP), public, allocatable, dimension(:) :: charfun

Characteristic function of immersed boundary, commonly referred chi

real(kind=FP), public, allocatable, dimension(:) :: dirindfun

Function indicating direction of magnetic field (towards/away from target), commonly referred xi

integer, public, allocatable, dimension(:) :: inds

Mesh indices which lie in immersed boundary region

integer, public :: n_inds

Size of inds

integer, public, allocatable, dimension(:) :: adj_inds

Mesh indices, which are adjacent to the immersed boundary region

integer, public :: n_adj_inds

Size of adj_inds


Type-Bound Procedures

procedure(init), public, deferred :: init

  • subroutine init(self, equi, mesh, filename) Prototype

    Initialises the immersed boundary fields charfun and dirind, depending on specialised implementation

    Arguments

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

    Instance of type

    class(equilibrium_t), intent(inout) :: equi

    Equilibrium

    type(mesh_cart_t), intent(in) :: mesh

    Mesh

    character(len=*), intent(in), optional :: filename

    Filename, where to read parameters from, if not provided default parameters will be used

procedure(display), public, deferred :: display

  • subroutine display(self) Prototype

    Writes basic information of immersed boundary to stdout

    Arguments

    Type IntentOptional Attributes Name
    class(immersed_t), intent(in) :: self

    Instance of type

procedure, public :: build_inds

  • public subroutine build_inds(self, mesh)

    Computes inds. The construction is common to all derived immersed types

    Arguments

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

    Instance of type

    type(mesh_cart_t), intent(in) :: mesh

    Mesh

procedure, public :: build_adj_inds

  • public subroutine build_adj_inds(self, mesh)

    Computes adj_inds. The construction is common to all derived immersed types

    Arguments

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

    Instance of type

    type(mesh_cart_t), intent(in) :: mesh

    Mesh

procedure, public :: write_netcdf => write_netcdf_immersed

  • interface

    public module subroutine write_netcdf_immersed(self, fgid)

    Writes immersed boundary data to NetCDF id

    Arguments

    Type IntentOptional Attributes Name
    class(immersed_t), intent(in) :: self

    Instance of class

    integer, intent(in) :: fgid

    NetCDF file or group id

procedure, public :: read_netcdf => read_netcdf_immersed

  • interface

    public module subroutine read_netcdf_immersed(self, fgid)

    Reads immersed boundary data from NetCDF id

    Arguments

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

    Instance of class

    integer, intent(in) :: fgid

    NetCDF file or group id