mus_balance Subroutine

private subroutine mus_balance(tree, minLevel, maxLevel, levelDesc, nBCs, globBC, general, sparta)

This routine performs the load balancing for multilevel simulations. The weights are calculated on the basis of levelwise run time, which are then fed to sparta for calculation of splitting positions. Restart files are saved and the simulation is restarted with the newly distributed mesh

Arguments

Type IntentOptional Attributes Name
type(treelmesh_type), intent(inout) :: tree

geometry infomation

integer, intent(in) :: minLevel

min level and max level

integer, intent(in) :: maxLevel

min level and max level

type(tem_levelDesc_type), intent(in) :: levelDesc(minLevel:maxLevel)

Level descriptor

integer, intent(in) :: nBCs

global IBM type Number of boundary conditions

type(glob_boundary_type), intent(in) :: globBC(nBCs)

BC elements information

type(tem_general_type), intent(in) :: general

global parameters

type(tem_sparta_type), intent(inout) :: sparta

Sparta data type


Calls

proc~~mus_balance~~CallsGraph proc~mus_balance mus_balance proc~mus_dumpweights mus_dumpWeights proc~mus_balance->proc~mus_dumpweights proc~mus_getweights mus_getWeights proc~mus_balance->proc~mus_getweights tem_balance_sparta tem_balance_sparta proc~mus_balance->tem_balance_sparta tem_time_sim_stamp tem_time_sim_stamp proc~mus_balance->tem_time_sim_stamp tem_create_EndianSuffix tem_create_EndianSuffix proc~mus_dumpweights->tem_create_EndianSuffix tem_dump_weights tem_dump_weights proc~mus_dumpweights->tem_dump_weights interface~get_bcbuffertime get_bcBufferTime proc~mus_getweights->interface~get_bcbuffertime interface~get_boundarytime get_boundaryTime proc~mus_getweights->interface~get_boundarytime interface~get_computetime get_computeTime proc~mus_getweights->interface~get_computetime interface~get_intpfromcoarsertime get_intpFromCoarserTime proc~mus_getweights->interface~get_intpfromcoarsertime interface~get_intpfromfinertime get_intpFromFinerTime proc~mus_getweights->interface~get_intpfromfinertime nelems nelems proc~mus_getweights->nelems tem_LevelOf tem_LevelOf proc~mus_getweights->tem_LevelOf val val proc~mus_getweights->val proc~get_bcbuffertime_atlevel get_bcBufferTime_atLevel interface~get_bcbuffertime->proc~get_bcbuffertime_atlevel proc~get_bcbuffertime_total get_bcBufferTime_total interface~get_bcbuffertime->proc~get_bcbuffertime_total proc~get_boundarytime_byid get_boundaryTime_byID interface~get_boundarytime->proc~get_boundarytime_byid proc~get_boundarytime_total get_boundaryTime_total interface~get_boundarytime->proc~get_boundarytime_total proc~get_computetime_atlevel get_computeTime_atLevel interface~get_computetime->proc~get_computetime_atlevel proc~get_computetime_total get_computeTime_total interface~get_computetime->proc~get_computetime_total proc~get_intpfromcoarsertime_atlevel get_intpFromCoarserTime_atLevel interface~get_intpfromcoarsertime->proc~get_intpfromcoarsertime_atlevel proc~get_intpfromcoarsertime_total get_intpFromCoarserTime_total interface~get_intpfromcoarsertime->proc~get_intpfromcoarsertime_total proc~get_intpfromfinertime_atlevel get_intpFromFinerTime_atLevel interface~get_intpfromfinertime->proc~get_intpfromfinertime_atlevel proc~get_intpfromfinertime_total get_intpFromFinerTime_total interface~get_intpfromfinertime->proc~get_intpfromfinertime_total tem_getTimerVal tem_getTimerVal proc~get_bcbuffertime_atlevel->tem_getTimerVal proc~get_bcbuffertime_total->interface~get_bcbuffertime proc~get_boundarytime_byid->tem_getTimerVal proc~get_boundarytime_total->interface~get_boundarytime proc~get_computetime_atlevel->tem_getTimerVal proc~get_computetime_total->interface~get_computetime proc~get_intpfromcoarsertime_atlevel->tem_getTimerVal proc~get_intpfromcoarsertime_total->interface~get_intpfromcoarsertime proc~get_intpfromfinertime_atlevel->tem_getTimerVal proc~get_intpfromfinertime_total->tem_getTimerVal

Called by

proc~~mus_balance~~CalledByGraph proc~mus_balance mus_balance proc~mus_perform_dynloadbal mus_perform_dynLoadBal proc~mus_perform_dynloadbal->proc~mus_balance proc~mus_solve mus_solve proc~mus_solve->proc~mus_perform_dynloadbal program~musubi musubi program~musubi->proc~mus_solve