find_flip_cumul Subroutine

private pure subroutine find_flip_cumul(GAS_spec, sg, src, tgt)

Find source and target to transfer particle

Find the largest src, and the smallest tgt, with src <= tgt, to transfer one particle from src -> tgt while adherring to GAS constraints. This is not yet the next supergroup, because one still has to move as many particles as possible from the right of tgt closer to tgt.

Arguments

Type IntentOptional Attributes Name
type(CumulGASSpec_t), intent(in) :: GAS_spec
integer, intent(in) :: sg(:)

A given supergroup

integer, intent(out) :: src

Source and target GAS space. If no possible movement with src <= tgt exists, then tgt == 0.

integer, intent(out) :: tgt

Source and target GAS space. If no possible movement with src <= tgt exists, then tgt == 0.


Contents