perp_bnd_flux_t Derived Type

type, public :: perp_bnd_flux_t

Wrapper type for managing perpendicular fluxes


Contents


Components

Type Visibility Attributes Name Initial
type(polygon_in_mesh_t), public :: core

Polygon for core boundary

type(csrmat_t), public :: conn_core

Connectivity matrix for core polygon

type(polygon_in_mesh_t), public :: outer

Polygon for outer boundary This consists of the wall and dome excluding the part within the penalisation and the target

type(csrmat_t), public :: conn_outer

Connectivity matrix for outer polygon

type(polygon_in_mesh_t), public :: target

Polygon for target boundary

type(csrmat_t), public :: conn_target

Connectivity matrix for target polygon

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

Index map of full mesh indices to corresponding inner mesh index (if it exists) Full indices without associated inner index have value 0


Finalization Procedures

final :: destructor


Type-Bound Procedures

procedure, public :: init => init_perp_bnd_flux

  • interface

    public module subroutine init_perp_bnd_flux(self, equi, mesh, penalisation, dbgout)

    Creates perpendicular boundary polygons and conectivity matrices

    Arguments

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

    Instance of class

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

    Equilibrium

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

    Mesh

    type(penalisation_t), intent(in) :: penalisation

    Penalisation

    integer, intent(in), optional :: dbgout

    Debug output level

procedure, public :: write_netcdf => write_netcdf_perp_bnd_flux

  • interface

    public module subroutine write_netcdf_perp_bnd_flux(self, fgid)

    Writes boundary polygons to netcdf file

    Arguments

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

    Instance of class

    integer, intent(in) :: fgid

    File or group id

procedure, public :: read_netcdf => read_netcdf_perp_bnd_flux

  • interface

    public module subroutine read_netcdf_perp_bnd_flux(self, fgid)

    Reads boundary polygon information from netcdf file

    Arguments

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

    Instance of class

    integer, intent(in) :: fgid

    File or group id