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
Type | Intent | Optional | 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 |
Type | Visibility | Attributes | Name | Initial | |||
---|---|---|---|---|---|---|---|
character(len=PathLen), | private | :: | basename | ||||
character(len=labelLen), | private | :: | timestamp | ||||
real(kind=rk), | private, | allocatable | :: | weights(:) |