mus_hvs_construct Subroutine

public subroutine mus_hvs_construct(scheme, geometry, params)

Initialize Musubi data strucutres based on data provided by Treelm

Load the mesh and boundary conditions for this process from disk. Get the level-wise treeID lists and create the required ghost and halo elements.

This is achieved by a two-folded identification of elements.

-# the theoretically required elements are collected based on mus_scheme_layout_type "stencil information" The tem_construction_module "find neighbor routine" performs this task for compute fluid elements. For boundaries which require information from neighbor elements, these required tem_topology_module "treeIDs" are collected into the mus_bc_header_module "boundary element type" -# All required elements are created in the tem_construction_module "Level Descriptor creation routine"

Additional Tasks

Result

After this routine, all data structures for starting the main loop of the solver are allocated and ready.

Only difference between this routine and mus_construct is then creating of boundary elements and its stencil are omitted for harvesting

Arguments

TypeIntentOptionalAttributesName
type(mus_scheme_type), intent(inout) :: scheme

scheme information including fluid, boundary and flow information

type(mus_geom_type), intent(inout) :: geometry

geometric information

type(mus_param_type), intent(inout) :: params

run-time Parameters


Calls

proc~~mus_hvs_construct~~CallsGraph proc~mus_hvs_construct mus_hvs_construct proc~tem_horizontalspacer tem_horizontalSpacer proc~mus_hvs_construct->proc~tem_horizontalspacer proc~tem_dumptreeidlists tem_dumpTreeIDlists proc~mus_hvs_construct->proc~tem_dumptreeidlists proc~mus_pdf_allocate mus_pdf_allocate proc~mus_hvs_construct->proc~mus_pdf_allocate proc~mus_calc_nelems mus_calc_nElems proc~mus_hvs_construct->proc~mus_calc_nelems proc~tem_find_allelements tem_find_allElements proc~mus_hvs_construct->proc~tem_find_allelements interface~destroy~4 destroy proc~mus_hvs_construct->interface~destroy~4 proc~tem_starttimer tem_startTimer proc~mus_hvs_construct->proc~tem_starttimer proc~my_status_int my_status_int proc~mus_hvs_construct->proc~my_status_int proc~mus_finalize_layout mus_finalize_layout proc~mus_hvs_construct->proc~mus_finalize_layout proc~tem_init_elemlevels tem_init_elemLevels proc~mus_hvs_construct->proc~tem_init_elemlevels proc~tem_stoptimer tem_stopTimer proc~mus_hvs_construct->proc~tem_stoptimer proc~tem_gettimerval tem_getTimerVal proc~mus_hvs_construct->proc~tem_gettimerval proc~calculate_nelems calculate_nElems proc~mus_hvs_construct->proc~calculate_nelems proc~tem_debug_horizontaldependencies tem_debug_HorizontalDependencies proc~mus_hvs_construct->proc~tem_debug_horizontaldependencies proc~tem_build_horizontaldependencies~2 tem_build_horizontalDependencies proc~mus_hvs_construct->proc~tem_build_horizontaldependencies~2 mpi_gatherv mpi_gatherv proc~mus_finalize_layout->mpi_gatherv mpi_type_commit mpi_type_commit proc~mus_finalize_layout->mpi_type_commit interface~destroy~2 destroy proc~mus_finalize_layout->interface~destroy~2 interface~truncate truncate proc~mus_finalize_layout->interface~truncate mpi_gather mpi_gather proc~mus_finalize_layout->mpi_gather mpi_type_contiguous mpi_type_contiguous proc~mus_finalize_layout->mpi_type_contiguous interface~append append proc~mus_finalize_layout->interface~append proc~calculate_nelems->proc~tem_horizontalspacer mpi_allreduce mpi_allreduce proc~calculate_nelems->mpi_allreduce

Called by

proc~~mus_hvs_construct~~CalledByGraph proc~mus_hvs_construct mus_hvs_construct program~mus_harvesting mus_harvesting program~mus_harvesting->proc~mus_hvs_construct

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iLevel
integer, private :: minLevel
integer, private :: maxLevel
integer, private :: hwmVal
integer, private :: ii