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_find_allElements 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"

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

Type IntentOptional Attributes Name
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 destroy destroy proc~mus_hvs_construct->destroy my_status_int my_status_int proc~mus_hvs_construct->my_status_int nelems nelems proc~mus_hvs_construct->nelems proc~calculate_nelems calculate_nElems proc~mus_hvs_construct->proc~calculate_nelems proc~mus_calc_nelems mus_calc_nElems proc~mus_hvs_construct->proc~mus_calc_nelems proc~mus_finalize_layout mus_finalize_layout proc~mus_hvs_construct->proc~mus_finalize_layout proc~mus_pdf_allocate mus_pdf_allocate proc~mus_hvs_construct->proc~mus_pdf_allocate tem_build_horizontalDependencies tem_build_horizontalDependencies proc~mus_hvs_construct->tem_build_horizontalDependencies tem_debug_HorizontalDependencies tem_debug_HorizontalDependencies proc~mus_hvs_construct->tem_debug_HorizontalDependencies tem_dumpTreeIDlists tem_dumpTreeIDlists proc~mus_hvs_construct->tem_dumpTreeIDlists tem_find_allElements tem_find_allElements proc~mus_hvs_construct->tem_find_allElements tem_getTimerVal tem_getTimerVal proc~mus_hvs_construct->tem_getTimerVal tem_horizontalSpacer tem_horizontalSpacer proc~mus_hvs_construct->tem_horizontalSpacer tem_init_elemLevels tem_init_elemLevels proc~mus_hvs_construct->tem_init_elemLevels tem_startTimer tem_startTimer proc~mus_hvs_construct->tem_startTimer tem_stopTimer tem_stopTimer proc~mus_hvs_construct->tem_stopTimer proc~calculate_nelems->nelems proc~calculate_nelems->tem_horizontalSpacer mpi_allreduce mpi_allreduce proc~calculate_nelems->mpi_allreduce proc~mus_finalize_layout->destroy append append proc~mus_finalize_layout->append elemlvl elemlvl proc~mus_finalize_layout->elemlvl mpi_gather mpi_gather proc~mus_finalize_layout->mpi_gather mpi_gatherv mpi_gatherv proc~mus_finalize_layout->mpi_gatherv mpi_type_commit mpi_type_commit proc~mus_finalize_layout->mpi_type_commit mpi_type_contiguous mpi_type_contiguous proc~mus_finalize_layout->mpi_type_contiguous truncate truncate proc~mus_finalize_layout->truncate val val proc~mus_finalize_layout->val

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