tem_coupling_module Module

Contains data types and routines needed for coupling via apesmate


Uses

  • module~~tem_coupling_module~~UsesGraph module~tem_coupling_module tem_coupling_module aot_table_module aot_table_module module~tem_coupling_module->aot_table_module aotus_module aotus_module module~tem_coupling_module->aotus_module module~env_module env_module module~tem_coupling_module->module~env_module module~tem_aux_module tem_aux_module module~tem_coupling_module->module~tem_aux_module module~tem_comm_module tem_comm_module module~tem_coupling_module->module~tem_comm_module module~tem_grow_array_module tem_grow_array_module module~tem_coupling_module->module~tem_grow_array_module module~tem_logging_module tem_logging_module module~tem_coupling_module->module~tem_logging_module module~env_module->aotus_module flu_binding flu_binding module~env_module->flu_binding iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env mpi mpi module~env_module->mpi module~tem_aux_module->aot_table_module module~tem_aux_module->aotus_module module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_aux_module->flu_binding module~soi_revision_module soi_revision_module module~tem_aux_module->module~soi_revision_module module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_tools_module tem_tools_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->mpi module~tem_comm_module->aotus_module module~tem_comm_module->module~env_module module~tem_comm_module->module~tem_aux_module module~tem_comm_module->module~tem_grow_array_module module~tem_comm_module->module~tem_logging_module module~tem_comm_module->flu_binding hvs_sizeof_module hvs_sizeof_module module~tem_comm_module->hvs_sizeof_module iso_c_binding iso_c_binding module~tem_comm_module->iso_c_binding mem_for_mpi_module mem_for_mpi_module module~tem_comm_module->mem_for_mpi_module module~tem_dyn_array_module tem_dyn_array_module module~tem_comm_module->module~tem_dyn_array_module module~tem_comm_module->mpi tem_sparse_comm_module tem_sparse_comm_module module~tem_comm_module->tem_sparse_comm_module module~tem_grow_array_module->module~env_module module~tem_logging_module->aot_table_module module~tem_logging_module->aotus_module module~tem_logging_module->module~env_module module~tem_comm_env_module->mpi module~tem_dyn_array_module->module~env_module module~tem_lua_requires_module->aot_table_module module~tem_lua_requires_module->aotus_module module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->flu_binding module~tem_lua_requires_module->iso_c_binding module~tem_tools_module->module~env_module

Used by

  • module~~tem_coupling_module~~UsedByGraph module~tem_coupling_module tem_coupling_module module~tem_spacetime_fun_module tem_spacetime_fun_module module~tem_spacetime_fun_module->module~tem_coupling_module module~tem_bc_module tem_bc_module module~tem_bc_module->module~tem_spacetime_fun_module module~tem_varmap_module tem_varMap_module module~tem_bc_module->module~tem_varmap_module module~tem_derived_module tem_derived_module module~tem_derived_module->module~tem_spacetime_fun_module module~tem_spacetime_var_module tem_spacetime_var_module module~tem_derived_module->module~tem_spacetime_var_module module~tem_variable_module tem_variable_module module~tem_derived_module->module~tem_variable_module module~tem_operation_var_module tem_operation_var_module module~tem_derived_module->module~tem_operation_var_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module module~tem_spacetime_var_module->module~tem_spacetime_fun_module module~tem_spacetime_var_module->module~tem_variable_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_spacetime_fun_module module~tem_variable_module->module~tem_spacetime_fun_module module~tem_varmap_module->module~tem_spacetime_fun_module module~tem_varmap_module->module~tem_spacetime_var_module module~hvs_output_module hvs_output_module module~hvs_output_module->module~tem_varmap_module module~tem_restart_module tem_restart_module module~hvs_output_module->module~tem_restart_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_varmap_module module~tem_depend_module tem_depend_module module~tem_depend_module->module~tem_varmap_module module~tem_operation_var_module->module~tem_variable_module module~tem_operation_var_module->module~tem_varmap_module module~tem_restart_module->module~tem_varmap_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_varmap_module module~tem_tracking_module->module~hvs_output_module module~tem_abortcriteria_module tem_abortCriteria_module module~tem_abortcriteria_module->module~tem_convergence_module module~tem_general_module tem_general_module module~tem_general_module->module~tem_restart_module module~tem_ini_condition_module tem_ini_condition_module module~tem_ini_condition_module->module~tem_depend_module module~tem_simcontrol_module tem_simControl_module module~tem_simcontrol_module->module~tem_convergence_module

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.