proximity Subroutine

public subroutine proximity(scheme, geometry, iGInc, pot_nElems, pot_lp, pot_lp_tree)

A subroutine which checks the proximity condition and generates a new treeID list of potential target elements which can then be checked against various thresholds as defined in the lua configuration file.

Proximity condition means that an element can be solidified only if it has at least one wall as a neighboring element. In biological clotting models it ensures that no isolated clot is produced in the fluid domain. Furthermore the noSolidification property is checked for every element. It is used to define spaces where solidification is not allowed.

Acc the proximity condition, as soon as its found that any of the neighbors of current element is solid, that element is stored in the new list of potential elements. Loop is terminated for this element and check is performed for other element.


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

scheme information

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

scheme information

integer, intent(in) :: iGInc

Geomtry icrement

integer, intent(inout) :: pot_nElems

number of potential elements found

integer, intent(inout) :: pot_lp(:)

level pointer of potential elements

integer, intent(inout) :: pot_lp_tree(:)

position of potential elements in the treeID list


proc~~proximity~~CallsGraph proc~proximity proximity proc~tem_levelof tem_LevelOf proc~proximity->proc~tem_levelof

Called by

proc~~proximity~~CalledByGraph proc~proximity proximity proc~mus_geomincr mus_geomIncr proc~mus_geomincr->proc~proximity proc~check_flow_status check_flow_status proc~check_flow_status->proc~mus_geomincr proc~mus_solve mus_solve proc~mus_solve->proc~check_flow_status program~musubi musubi program~musubi->proc~mus_solve



integer, private :: iElem
integer, private :: iLevel
integer, private :: iField
integer, private :: iDir
integer, private :: neighPos
integer, private :: elemPos
integer, private :: QQN
integer, private :: QQ
integer, private :: neighbor
integer, private :: nScalars
integer(kind=long_k), private :: elemProp