find_possIntpOrderAndUpdateMySources Subroutine

private subroutine find_possIntpOrderAndUpdateMySources(intp, mySources, neighDir, nFoundSources, childNum, intpOrder)

Find maximum possible interpolation order which can be used for fillFinerFromMe by comparing nFoundSources with nMaxSources of different interpolation order starting from interpolation order defined by user

Arguments

TypeIntentOptionalAttributesName
type(mus_interpolation_type), intent(in) :: intp

interpolation type

integer, intent(inout) :: mySources(:)

position of found source elements in total list Update this list if intpStencil%isActive

integer, intent(inout) :: neighDir(:)

cxDir for found sounce elements

integer, intent(inout) :: nFoundSources

Number of source elements found

integer, intent(in) :: childNum

Curent finer ghost child number

integer, intent(out) :: intpOrder

interpolation order


Calls

proc~~find_possintporderandupdatemysources~~CallsGraph proc~find_possintporderandupdatemysources find_possIntpOrderAndUpdateMySources none~updatemysources updateMySources proc~find_possintporderandupdatemysources->none~updatemysources

Called by

proc~~find_possintporderandupdatemysources~~CalledByGraph proc~find_possintporderandupdatemysources find_possIntpOrderAndUpdateMySources proc~mus_intp_update_depfromcoarser mus_intp_update_depFromCoarser proc~mus_intp_update_depfromcoarser->proc~find_possintporderandupdatemysources proc~mus_construct mus_construct proc~mus_construct->proc~mus_intp_update_depfromcoarser proc~mus_initialize mus_initialize proc~mus_initialize->proc~mus_construct program~mus_harvesting mus_harvesting program~mus_harvesting->proc~mus_construct proc~mus_perform_dynloadbal mus_perform_dynLoadBal proc~mus_perform_dynloadbal->proc~mus_construct none~do_balance do_balance none~do_balance->proc~mus_perform_dynloadbal program~musubi musubi program~musubi->proc~mus_initialize

Contents


Variables

TypeVisibilityAttributesNameInitial
integer, private :: iOrder
integer, private :: intpOrder_tmp
logical, private :: allSrcFound

Subroutines

subroutine updateMySources(mySources, neighDir, nFoundSources, childNum, nMaxSources, intpStencil, allSrcFound)

Update mySources if all sources in required by the stencil are found

Arguments

TypeIntentOptionalAttributesName
integer, intent(inout) :: mySources(:)

position of found source elements in total list Update this list if intpStencil%isActive

integer, intent(inout) :: neighDir(:)

cxDir for found sounce elements

integer, intent(inout) :: nFoundSources

Number of source elements found

integer, intent(in) :: childNum

ChildNum of current target fine element

integer, intent(in) :: nMaxSources

Maximum number of sources required for this intpStencil

type(mus_interpolation_stencil_type), intent(in) :: intpStencil

Interpolation stencil

logical, intent(out) :: allSrcFound

is true if all sources required by the stencil are found