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 module~aotus_module aotus_module module~tem_coupling_module->module~aotus_module module~aot_table_module aot_table_module module~tem_coupling_module->module~aot_table_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_logging_module tem_logging_module module~tem_coupling_module->module~tem_logging_module module~tem_grow_array_module tem_grow_array_module module~tem_coupling_module->module~tem_grow_array_module module~env_module->module~aotus_module module~flu_binding flu_binding module~env_module->module~flu_binding mpi mpi module~env_module->mpi iso_fortran_env iso_fortran_env module~env_module->iso_fortran_env module~tem_aux_module->module~aotus_module module~tem_aux_module->module~aot_table_module module~tem_aux_module->module~env_module module~tem_aux_module->module~tem_logging_module module~tem_revision_module tem_revision_module module~tem_aux_module->module~tem_revision_module module~tem_tools_module tem_tools_module module~tem_aux_module->module~tem_tools_module module~tem_aux_module->module~flu_binding module~tem_lua_requires_module tem_lua_requires_module module~tem_aux_module->module~tem_lua_requires_module module~tem_aux_module->mpi module~tem_comm_env_module tem_comm_env_module module~tem_aux_module->module~tem_comm_env_module module~tem_comm_module->module~aotus_module module~tem_comm_module->module~env_module module~tem_comm_module->module~tem_aux_module module~tem_comm_module->module~tem_logging_module module~tem_comm_module->module~tem_grow_array_module iso_c_binding iso_c_binding module~tem_comm_module->iso_c_binding tem_sparse_comm_module tem_sparse_comm_module module~tem_comm_module->tem_sparse_comm_module module~tem_comm_module->module~flu_binding hvs_sizeof_module hvs_sizeof_module module~tem_comm_module->hvs_sizeof_module 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 module~tem_logging_module->module~aotus_module module~tem_logging_module->module~aot_table_module module~tem_logging_module->module~env_module module~tem_grow_array_module->module~env_module module~tem_tools_module->module~env_module module~tem_lua_requires_module->module~aotus_module module~tem_lua_requires_module->module~aot_table_module module~tem_lua_requires_module->module~env_module module~tem_lua_requires_module->iso_c_binding module~tem_lua_requires_module->module~flu_binding module~tem_dyn_array_module->module~env_module module~tem_comm_env_module->mpi

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 program~tem_varsys_stfunvar_test tem_varSys_stfunVar_test program~tem_varsys_stfunvar_test->module~tem_spacetime_fun_module module~tem_derived_module tem_derived_module program~tem_varsys_stfunvar_test->module~tem_derived_module module~tem_variable_module tem_variable_module program~tem_varsys_stfunvar_test->module~tem_variable_module module~tem_surfacedata_module tem_surfaceData_module module~tem_surfacedata_module->module~tem_spacetime_fun_module module~tem_derived_module->module~tem_spacetime_fun_module module~tem_derived_module->module~tem_variable_module module~tem_spacetime_var_module tem_spacetime_var_module module~tem_derived_module->module~tem_spacetime_var_module module~tem_operation_var_module tem_operation_var_module module~tem_derived_module->module~tem_operation_var_module program~tem_logical_opertor_test tem_logical_opertor_test program~tem_logical_opertor_test->module~tem_spacetime_fun_module program~tem_logical_opertor_test->module~tem_derived_module program~tem_logical_opertor_test->module~tem_variable_module program~tem_variable_combine_test tem_variable_combine_Test program~tem_variable_combine_test->module~tem_spacetime_fun_module program~tem_variable_combine_test->module~tem_derived_module program~tem_variable_combine_test->module~tem_variable_module program~tem_variable_extract_test tem_variable_extract_test program~tem_variable_extract_test->module~tem_spacetime_fun_module program~tem_variable_extract_test->module~tem_derived_module program~tem_variable_extract_test->module~tem_variable_module program~tem_spacetime_fun_test tem_spacetime_fun_test program~tem_spacetime_fun_test->module~tem_spacetime_fun_module module~tem_variable_module->module~tem_spacetime_fun_module program~tem_varsys_opvar_test tem_varSys_opVar_test program~tem_varsys_opvar_test->module~tem_spacetime_fun_module program~tem_varsys_opvar_test->module~tem_derived_module program~tem_varsys_opvar_test->module~tem_variable_module program~tem_variable_evaltype_test tem_variable_evaltype_test program~tem_variable_evaltype_test->module~tem_spacetime_fun_module program~tem_variable_evaltype_test->module~tem_derived_module program~tem_variable_evaltype_test->module~tem_variable_module module~tem_spacetime_var_module->module~tem_spacetime_fun_module module~tem_spacetime_var_module->module~tem_variable_module module~tem_varmap_module->module~tem_spacetime_fun_module module~tem_varmap_module->module~tem_spacetime_var_module program~tem_varsys_derivevar_test tem_varSys_deriveVar_test program~tem_varsys_derivevar_test->module~tem_spacetime_fun_module module~tem_face_module tem_face_module module~tem_face_module->module~tem_spacetime_fun_module program~tem_varsys_test tem_varSys_test program~tem_varsys_test->module~tem_spacetime_fun_module program~tem_varsys_test->module~tem_variable_module program~tem_varsys_test->module~tem_spacetime_var_module module~tem_operation_var_module->module~tem_variable_module module~tem_operation_var_module->module~tem_varmap_module program~tem_face_test~2 tem_face_test program~tem_face_test~2->module~tem_face_module module~tem_depend_module tem_depend_module module~tem_depend_module->module~tem_varmap_module program~tem_face_test tem_face_test program~tem_face_test->module~tem_face_module module~tem_tracking_module tem_tracking_module module~tem_tracking_module->module~tem_varmap_module module~hvs_output_module hvs_output_module module~tem_tracking_module->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_restart_module->module~tem_varmap_module program~tem_face_test~3 tem_face_test program~tem_face_test~3->module~tem_face_module module~tem_convergence_module tem_convergence_module module~tem_convergence_module->module~tem_varmap_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 program~tem_tracking_test tem_tracking_test program~tem_tracking_test->module~tem_tracking_module module~tem_simcontrol_module tem_simControl_module module~tem_simcontrol_module->module~tem_convergence_module

Contents


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

TypeVisibilityAttributesNameInitial
character(len=labelLen), private :: rem_domLabel

Remote domain label to get data from

integer, private :: rem_domID

Domain ID of remote domain label

integer, private :: nVars

Number of variables to get from remote domain

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

List of variables to get from domain

integer, private :: nScalars

nScalars of varNames Must be same as nComps in stFun

integer, private :: 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), private :: valOnLvl(globalMaxLevels)

store value on each level

type, private :: cpl_value_type

Components

TypeVisibilityAttributesNameInitial
integer, private :: nPnts =0

number of points per level

integer, private, allocatable:: pntRanks(:)

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

real(kind=rk), private, 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), private :: 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

TypeIntentOptionalAttributesName
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.