It should be possible to force an apparent circularity to be ignored if analyses are scheduled and not triggered.

A thermal efficiency application I have coded as AF Analyses has the following two analyses A and B, such that each is expressed in terms of the other. This is not really a circularity since the logic flow is dynamically switched by a third input X, so that one of these is calculated from independent inputs Y and Z, viz:

A: if X > 0 then f(B) else f(Y)

B: if X <= 0 then f(A) else f(Z)

Clearly if triggered, this would cause an infinite triggering loop since all inputs are signed up as triggers irrespective of whether the current dynamic conditions require them to be used. This is not the case for scheduled analyses, but at the moment (2018) these two periodic analyses are still disabled due to the circularity detection, so there is no way to implement this kind of switching calculation.

This suggestion is also posted on UserVoice:

Allow scheduled analyses to ignore circularity