The engine covers ASME VIII-1 (2023) Mandatory Appendix 13 sketches (1) to (4) and the stayed sketches (7) to (10) of 13-9. Each plate is a straight member between two corners. Its membrane force comes from 13-7, 13-8(e) or 13-9, and the moment at any point follows from the corner moments by the statics formula of article 1. Every location gives a membrane row and one bending row per fibre; each is compared with its own allowable.
- Sketch (1), 13-7(a): opposite sides equal (t1 pair, t2 pair). Locations N, Q, M. The usual plug header with tubesheet and plugsheet of equal thickness.
- Sketch (2), 13-7(b): one pair unequal (t2 and t22), for a tubesheet and plugsheet of different thickness. Locations Q, Q1, M, M1, and a derived pair A extreme A.Xmin.
- Sketch (3), 13-7(c): rounded corners, one thickness, radius R. Locations A, B, C, D and the corner arc B-C at θ* = atan(L1/L2).
- Sketch (4), 13-8: welded-on reinforcing frames, per member pitch p, on the composite section of member plus effective plate width.
- Sketches (7), (8), (9)/(10), 13-9: stay plates and stay bars, article 4.
Sketch (1) and (4): the same frame
Sketch (1) is the frame of article 1. Sketch (4) is the same frame per member pitch, with the section properties of the composite (member plus effective plate width) in place of t³/12, centroidal lengths H1 and h1, and a line load P·p.
Sketch (2) and (3)
Sketch (2) has one frame solution with k1 = I22/I2, k2 = I22·α/I1, K1 = 2·k2 + 3, K2 = 3·k1 + 2·k2, N = K1·K2 − k2², X = (K2 − k1·k2) + α²·k2·(K2 − k2). The printed equations contain two points the engine corrects, both confirmed against an independent frame solver: K1 is printed as 2k21 + 3 with k21 undefined, and the brackets of the t2 and t22 membrane equations are unbalanced. These are recorded as engine decisions for an engineer's sign-off, not as settled code readings.
Sketch (3) solves the rounded frame in closed form. With L1 = H/2 − R, L2 = h/2 − R, φ = R/L1, α3 = L2/L1:
Allowables
Short boxes
For r = min(Lv/H, Lv/h): above 4 is the basis of the equations; 2 to 4 the equations are conservative and the engine warns; 1 to 2 is a short vessel and, for sketches (1) and (2) only, midspan bending is multiplied by J2 and corner bending by J3 from Table 13-18(b), interpolated linearly; membrane is unchanged. Below 1 the engine refuses and asks for the largest dimension as Lv. Sketches (3) and (4) are used unmodified in the short range, with a warning.
Sketch (1) with t1 ≠ t2, COMPRESS job 50183 plug header, top and bottom plates (vector V-C1)
| Inputs (in, psi), hot and corroded | H = 4.125, h = 9.625, t1 = 0.9375, t2 = 0.5625, P = 150, S = 18100 |
| I1, I2 (in⁴ per in) | 0.068665, 0.014832 |
| α, K = (I2/I1)·α | 0.42857, 0.092571 |
| F | (1 + 0.18367 · 0.092571) / 1.092571 = 0.93083 |
| Sm(B) = P·H/(2·t2) | 150 · 4.125 / 1.125 = 550.0 psi |
| (Sb)M, pair B midspan | −12498.5 psi |
| (Sb)Q, pair B corner | 20440.4 psi |
| ST at Q, inner fibre | 550.0 + 20440.4 = 20990.4 psi |
| Allowable 1.5·S | 27150 psi, ratio 0.773 |
These agree with the full-precision values in compress50183.json (−12498.458, 20440.431, 20990.431 psi), which reproduce the COMPRESS printout to 1 psi.
Short-box factors (hypothetical ratio, interpolated from Table 13-18(b))
| Lv/span | 1.25 |
| J2 (midspan) | 0.73 + 0.5 · (0.79 − 0.73) = 0.76 |
| J3 (corner) | 0.77 + 0.5 · (0.82 − 0.77) = 0.795 |
| Corner bending of the example above, 19481.6 psi | 19481.6 · 0.795 = 15487.9 psi |
Illustration only. A row between the corner and midspan takes a parabolic blend of J2·M_mid and J3·M_end (policy shortVesselRows); the code gives no rule for it.
Not done: Fig 13-2(a) sketches (5) and (6) are not in the engine (the implemented set is 1, 2, 3, 4, 7, 8, 9/10). Obround and elliptical shells (13-10 to 13-12) are not covered: sketch (3) with L1 = 0 is refused as an obround. Hole rows on the reinforced plates of sketch (4) are refused.
[UNVERIFIED] No document in the FEA repo's files/ folder lists 13-13 or the other App 13 paragraphs by name as out of scope. The statements above are read from the code only.