tem_coupling_module Module

Contains data types and routines needed for coupling via apesmate



Derived Types

type, public ::  tem_aps_coupling_type

Coupling description defined in config file from load space time function which is called from load boundary condition or load sources

Components

Type Visibility Attributes Name Initial
character(len=labelLen), public :: rem_domLabel

Remote domain label to get data from

integer, public :: rem_domID

Domain ID of remote domain label

integer, public :: nVars

Number of variables to get from remote domain

character(len=labelLen), public, allocatable :: varNames(:)

List of variables to get from domain

integer, public :: nScalars

nScalars of varNames Must be same as nComps in stFun

integer, public :: isSurface = -1

Used to decided whether this spacetime functions are used for surface or volume i.e boundary or source. Boundary is treated as surface and source as volume coupling type can be rather surface or volume. For boundary. isSurface = 0 For volume, isSurface = 1

type(cpl_value_type), public :: valOnLvl(globalMaxLevels)

store value on each level

type, private ::  cpl_value_type

Components

Type Visibility Attributes Name Initial
integer, public :: nPnts = 0

number of points per level

integer, public, allocatable :: pntRanks(:)

Global process ids to evaluate the points It is deallocated after recvBuffer is filled

real(kind=rk), public, allocatable :: evalVal(:)

Evaluated variable value on each point. If variable is time-independent then values are evaluated and stored at initialization stage, in this case point arrays are not stored. nComp = nScalars in the tem_coupling_type%varnames Access: (iVal-1)*nComp + iComp

type(tem_communication_type), public :: recvBuffer

Receive communication buffer to fill evalVal


Subroutines

public subroutine tem_aps_load_coupling(me, thandle, conf)

This routine loads coupling defintion from boundary condition table

Arguments

Type IntentOptional Attributes Name
type(tem_aps_coupling_type), intent(out) :: me

Coupling description to be filled from config file

integer, intent(in) :: thandle

Boundary condition sub table

type(flu_State), intent(in) :: conf

Lua script to obtain the configuration data from.