B31.3 evaluates a Primary (Sustained) stress state and a Secondary (Expansion) stress state. Primary is forced based while Secondary is strain based. B31.3 does not discuss limits on the Operating condition.

According to the B31.3 philosophy, if your system is within the limits of the Sustained and Expansion load cases allowable stresses, then it meets the (stress) requirements of the Code. You are correct in that this is a minimum requirement and further analysis and considerations may be necessary to ensure a good design.

The Expansion allowable stress (going back to Markl's works from the 1950s) is roughly 2*Ys, since this is a stress range, not an actual stress (see paragraph 319.2.3). The Operating case is sort of a combination of Primary and Secondary conditions, so you're looking at a combination of force based and strain based loads.

Most piping codes evaluate pipe stress in two separate categories – the state of sustained stress (the system must have sufficient strength to carry the force-based load) and the expansion stress range (the system must have sufficient flexibility to absorb strain-based loads to avoid fatigue failure). Some yield is acceptable for strain-based loads as local yielding (due to displacement) will allow redistribution of these strain-based loads. As mentioned above, the calculated stress for the operating condition mixes these two load categories (force-based versus strain-based) and the Code does not have a criterion to evaluate such a combination.
_________________________
Regards,
Richard Ay - Consultant