Status of this Edition
Open the Development Atlas for the product scope, current paths and remaining work. Previous status updates ↗
This page and the refreshed chapters describe implemented routes and known limits
at revision 7a780551f0, checked on 22 October 2026.
The manual’s Today marks link here. The case records identify their own execution paths and source pins.
Historical records retain their earlier evidence, including revision 462f66975d.
Three pressure cases retain their numerical comparisons from 12 October 2026 at revision a72f994d89.
They have not been rerun for this edition.
These comparisons establish only their stated cases and paths.
The original review examined revision
bc6d3459b
(24 September 2026), then
e8562c068
(25 September 2026). Those changes admitted real project data and mixed rigid/nonlinear
support directions. The current account uses source comparison, rather than assuming
every original finding still applies.
Established section links remain valid. Each row distinguishes an implemented route, a remaining limit and historical behavior. A merge, test count or CI result does not establish general engineering validation. Read results with their route, model version and current limits visible.
The model and the route
A supported calculation, a readable result and an available output are separate capabilities.
Model document 0.6.0 is the current format. Models 0.1.0 through 0.5.0
are refused with a re-author diagnostic; the program does not migrate them. A pressure-free model omits
pressure_contract. An exact-contract model declares 3.0.0/exact_pressure_v3 and its shear model.
Pressure contract 2.0.0/exact_straight_pressure_v2 and its result identities are retired.
| Route | Implemented calculation and desktop availability |
|---|---|
| Pressure-free | Publishes preview-physics-2. Straight members and realized arcs use Euler–Bernoulli mechanics.
Nonlinear supports have a four-pass iteration limit and a separate numerical confirmation after convergence.
Outputs depend on the surface and result standing; fresh report packages remain unavailable. |
| Exact contract | Publishes pressure-2. Straight members select Timoshenko or Euler–Bernoulli;
new exact-contract authoring defaults to Timoshenko. Realized arcs remain Euler–Bernoulli.
The route includes separate section bases, bend stress quantities and bounded expansion-joint laws with optional elastic tie rods.
Eligible desktop results can export result JSON and stress-neutral CSV/JSON and enter user rule checks; reports and other handoffs remain refused. |
| Captured exact-source recovery | Can publish pressure-source-1 for eligible straight-member cases,
now including Timoshenko and nonzero mill tolerance or corrosion allowance. Pressure regions must be explicitly empty.
Bends, connectors and nonlinear supports remain outside the subset, which also has size and arithmetic-work limits.
The same three desktop outputs are open only when the result reader admits the case; source results with load/reference states remain ineligible. |
| Dormant precision method | The separate extended-precision successor path remains in engine/test code and is excluded from v0.1. The selected desktop work is a numerical-health display built from existing diagnostics; it is still in development. Captured-source recovery above remains a distinct active mechanism. |
Source basis: model format, desktop output policy and source-recovery limits.
A. Mechanics and result limits
Use the declared model route and its numerical standing when interpreting results.
| Limit | What happens, and what to do meanwhile |
|---|---|
| Pressure | The retired Model 0.6.0 accepts Pressure is a signed internal differential with zero external pressure increment and is uniform within each region. Negative differential pressure is admitted; external-pressure stability and collapse are not assessed. Mechanical, pressure-eigen and cap-transfer terms remain distinct. Steady-flow momentum, transient pressure loads, Bourdon opening, pressure-dependent flexibility or SIFs, ovalization and hydrostatic head remain excluded. Nonlinear or constant-effort supports, combinations and equivalent-static generators are refused on this route. Eligible Meanwhile: use a supported, explicitly declared pressure model. Re-author refused legacy inputs; do not repair their results by adding a stress term. |
| Bends drawn in the program | A realized The earlier review recorded anchor forces about 58 % high and elbow stress about 23 % low for that chord treatment in an L-bend. Those figures do not qualify the current curved mode. The pressure route includes bend free strain and member-owned end-cap transfer. Wall axial and effective force remain distinct. A region changes direction only at realized bends; mitres, straight-to-straight kinks and geometry-only pressure bends are refused. Current results add signed normal-stress extremes, transverse-shear measures and bounded maxima along the arc. An entered in-plane/out-of-plane SIF pair supplies a separate directional bending measure and its arc maximum. These are mechanical quantities, not code stresses. Pressurized arcs also publish a toroidal membrane hoop idealization and radial surface stresses when bend radius exceeds the section outer radius. The shear measure uses a local straight-annulus field without a curvature correction. Neither idealization is a general shell solution. A maximum can still be withheld when its enclosure check fails; solution error is separate. Meanwhile: read the model mode, section basis and stated approximation before interpreting bend results. |
| Unstable models | The earlier review found apparently solved mechanisms with rotations of 109 radians or more. Current structural paths apply numerical integrity and formation gates. Successful factorization alone does not establish physical stability or accuracy of every recovered quantity. Meanwhile: look at the largest displacement and rotation of every run before reading anything else. Read the result’s numerical admission and coverage limits. |
| Numerical recovery | The earlier check could report checks passed while errors in some recovered member rows exceeded its criterion. The merged repair reforms stiffness and loads from the represented inputs, applies displacement corrections and bounds error in the recovered member actions. The bound assumes the prepared matrix’s inverse norm is no more than 1024 times its Hager estimate. It also depends on the arc re-formation limits stated in the numerical design. The bound covers the intended system re-formed at 128-bit precision from the entered binary64 primitives. It does not bound physical modelling error. Supported linear cases use checked member recoveries only when prior integrity checks passed and the member bound is available. Cases already demoted to Sensitive retain their earlier binary64 recovery rows. Checked forces, stresses and reactions can differ from a binary64 recalculation using the displayed displacements. A missing member bound cannot produce checks passed. After nonlinear support iteration converges, a separate confirmation can establish the support state and member bound.
Cases that pass publish checked member and support rows. Cases whose confirmation or bound is unavailable
retain Sensitive with a named explanation; convergence alone does not qualify their rows.
This confirmation does not extend the four-pass iteration limit.
Some stress-free cases can also be Sensitive and carry
Meanwhile: read the standing and recovery evidence for the actual case. A numerical bound is not a check of the entered physical model or code compliance. |
| Support loads | Ordinary Historic |
| SIF review row | Geometry-only bend markers and tee/branch records retain the separate user equal-factor intensified bending measure, i·hypot(My,Mz)/Z, on supported adjacent straight ends. Realized bends now accept an explicit positive in-plane/out-of-plane SIF pair. It forms a directional intensified bending measure in the arc tangent frame and a bounded maximum along the arc. The flexibility factor, axial stress and torsional stress are not added to this measure, and it is never combined into a code stress. The retired summary multiplied stress by SIF and, by default, flexibility factor; the historical test gave 699 MPa where 47 MPa was expected. That old row is not the current measure. User-entered factors still need their own engineering sources. |
| Summary stress | Current results publish supported straight and curved circular normal-stress extrema, with torsional shear kept separate. Arc maxima now use an enclosure over the declared arc problem, not just the five sampled stations. Incomplete member/case coverage still withholds the affected headline. The exact route publishes nominal and reduced section results separately and selects no governing section basis. The new station extremes and shear measures do not supply principal, von Mises or Tresca stresses or a code stress range. The retired summary added |σby| + |σbz|. Circular bending instead uses √(My2 + Mz2)/Z. The old sum could be up to 41 % high. Work from current signed resultants, section bases and coverage evidence. |
| Expansion joints | Legacy finite-span joint definitions and their four-rate element are refused and require re-authoring. An objective connector replaces one straight span with an authored symmetric 6×6 work matrix, frame, attachments and installed reference. Its law uses small displacements and rotations. Model 0.6.0 admits explicitly untied hardware or explicit axial rods with a bilateral linear elastic law. Each rod has its own stiffness, attachment offsets, reference extension and source. Rod forces and the joint’s elastic and pressure actions are reported separately. The unpressurized law remains available. The Ideal inextensible, tension-only and gapped rods, nuts, stops and collective constraints are not supported. Neither are finite rotation, geometric stiffness or pressure- and temperature-dependent tangent laws. The replaced span supplies no member result, self-weight or inherited load. Meanwhile: use the supported connector and rod laws explicitly. An annotation-only joint supplies pipe mechanics and is refused on the pressure route. |
| Constant-effort hangers | The entered constant force acts in every solved ordinary load case, including thermal-only cases. It supplies no stiffness or restraint row. The ordinary result identifies the applied force; a historical zero reaction does not mean no force was applied. Combinations are withheld when their factors would fail to count that force once. Model 0.6.0 does not provide device preload/reference laws or general hanger state history. Meanwhile: apply the hanger load as a force in the weight case only when using the inherited manual workaround. Do not also retain an active constant-force device. |
| Spring hangers | A rate alone does not supply the installed cold load or hanger design. Spring base motion and device preload/reference states are refused on model 0.6.0. Inactive or locked participation is also refused. A spring acts along its declared axis; an additional rigid guide needs a separate support. Meanwhile: in the sustained case, model a designed spring as a constant force equal to its hot load when that approximation is independently justified. This approximation does not provide automatic hanger design or all load states. |
| Combinations with nonlinear supports | Ordinary Meanwhile: solve each combined nonlinear loading as its own load case (Part III D). Exact-pressure and model 0.6.0 load/reference-state combinations remain unsupported. |
| Section bases and allowances | On the exact route, nominal wall supplies stiffness and pipe-metal mass. Wall reduced by entered mill tolerance and corrosion allowance supplies the reduced stress section and pressure bore. Contents mass uses that bore. Stress rows are published on both nominal and reduced section bases, even when they coincide. The pressure-free route retains its single wall-minus-mill-tolerance basis for stiffness, weight and stress. Meanwhile: identify the model route and each row’s section basis. The former blanket advice to omit mill tolerance does not describe the exact route. Source: section bases and shear model. |
B. Models that cannot yet be built or solved
These limits block some models or require a separately validated method.
| Limit | What happens, and what to do meanwhile |
|---|---|
| Nonlinear iteration limit | The product active-set iteration stops after four passes. The earlier rack examples with a dozen or more rests, or five friction shoes, exceeded this limit. A higher-limit investigation converged those recorded models; it does not establish general convergence or change the product limit. Meanwhile: keep nonlinear supports to the few that matter. Treat non-convergence as a failed solve, not an approximate solved state. |
| Imposed movements and cold spring | Model 0.6.0 supports explicit installation, material, thermal and fit reference states
for independently solved straight circular members. Rigid support translations and rotations
are absolute prescribed boundary values. Thermal and fit strain compose once as
Spring base motions, device preload/reference laws, inactive or locked supports, per-case mass states and installation/contact history remain unsupported. A fit reference strain is not a general cut-and-close joint model. Meanwhile: apply unsupported movements in the validating program. |
| Rigid elements and component weights | Rigid component geometry and weight records do not establish a rigid solver element or applied component weight. A general reducer element remains unavailable. Meanwhile: confirm that component weight is absent from declared load sources. Then add its point force at the center of gravity. |
| Restraint directions | Restraints act along explicitly listed global axes. The type does not infer directions. Skewed or pipe-relative restraints, two-sided gaps and general links between two nodes remain outside this support model. The vertical support acts on global Z. Only supported spring families consume finite stiffness. Unused stiffness blocks the solve. Meanwhile: do not represent guides or line stops on skewed runs as though they were pipe-relative restraints. |
| Friction | Ordinary friction is a separate support on one global axis. Its normal force is explicit or comes from a declared linear support reaction. This does not provide general friction on a lifting rest or a coupled Coulomb circle. Independent sliding axes can produce the earlier square-law behavior. |
| Nozzles and branches | General nozzle flexibility and nozzle-axis reporting remain unavailable. A tee does not supply a general flexible branch element or an independently established branch section modulus. Declared component modifiers do not create a code-qualified fitting model. |
| Hydrotest | Hydrotest pressure is refused by the mechanics solver. Hydrostatic head and a coupled contents pressure/weight state remain unsupported. Model 0.6.0 refuses locked hanger participation and per-case mass states. Meanwhile: check hydrotest in the validating program. |
| Units | Entered quantities need explicit compatible units. Supported inputs include bar, kN,
kN·m, GPa, N/mm and °F. Unit conversion does not supply a pressure reference:
The earlier interface started in SI with meters. A display-unit setting does not alter the physical meaning of stored quantities. Pressure-reference assumptions belong in the explicit pressure contract. |
C. Bounded and unfinished capabilities
These capabilities remain bounded, unavailable, or separate from engineering acceptance.
| Limit | What happens, and what to do meanwhile |
|---|---|
| Solve memory | Ordinary desktop solves run in capped local worker processes. The default pool is 75% of physical memory. The default per-solve worker budget is the smaller of 12 GiB and that pool; lower budgets are allowed. Larger per-solve budgets are not yet qualified. Admission and worker growth check the pool, current memory pressure and conservative free-memory headroom. A solve can be refused before it starts or stopped during growth. Cancellation ends the worker; reservations are released after it exits. A resource refusal does not silently change the solver mode or numerical route. The memory panel shows the selected budget, pool, reservations, queued work and refusal reasons. A pool above the recommended fraction requires acknowledgement; acknowledgement cannot bypass a headroom or qualification refusal. The pool belongs to one app process. Its custody accounting counts delivered bytes and does not measure the webview heap. Other model commands do not yet have the solve ingress bound. The packaged CLI self-test runs outside this pool. These controls are not a whole-app memory guarantee. Meanwhile: use the reported refusal to reduce the workload or free memory; do not infer that physical capacity guarantees a solve. |
| Code stresses | Mechanical load categories and user-authored rules do not provide a code stress implementation. Displacement ranges, allowables and code acceptance require the declared engineering method. The program supplies bounded force, moment and stress components (Part II K). Formula evaluation supports intervals and refuses nonfinite intermediate arithmetic. A passing formula gate is not standards approval. Make the code check in the program you validate in. |
| Operating conditions | The ordinary route selects a material basis per case and withholds mixed-modulus combinations. Model 0.6.0 declares per-member actual, selected and installation temperatures, expansion definitions and selected E/ν, with derived G. These states do not automatically create operating conditions T1, T2 …, code stress categories or a cold-modulus displacement range (Part II D). |
| Saved-state comparison | Local projects can be saved and reopened. The desktop comparison workspace currently compares a load-case basis with combination rows from the same run, using stable result IDs and explicit source references. It does not compare two saved model states or separate analysis runs. A mapping editor, tolerance classification and named immutable state/run browsing remain unfinished. Result-state subtraction is a comparison of solved quantities, not a new equilibrium solve. |
| Model batch file export | The earlier desktop .mbf export wrote a skeleton: nodes, pipes, anchors and guides. Missing sizes, materials, fittings, temperatures and loads, altered support types, and US coordinates labeled as millimeters made that output unsuitable for direct design use. The current CAEPIPE MBF package is an explicit smoke subset with source-unit records, stable-ID sidecars and loss reports. Package construction does not establish complete interchange or target-program acceptance. Desktop output also depends on its route policy. Meanwhile: use an admitted file only as a start for a model in the receiving program (Part V). Reconcile its loss report, units, geometry, properties, supports and loads. |
| Libraries and tables | Library import validates declared provenance and bounded payloads. An imported or selected record does not establish solve readiness. Hanger libraries require explicit identities, quantity provenance and supported units; missing engineering values remain absent. No bundled catalog, sizing, ranking, source scraping or vendor parser is supplied by that import boundary. Standards, material and fitting data need their own valid sources and selection evidence. |
| Wind and seismic | Ordinary equivalent-static generators retain bounded behavior. Wind acts on entered exposed spans along the declared global axis. Straight pipes permit disjoint fractional extents. Overlapping extents or mixed whole-span and fractional declarations on one pipe are refused. Realized curved-bend spans require whole-span loading; partial extents are refused. Wind supplies no height profile or automatic projection perpendicular to the pipe. Seismic load acts in one sense per case on the declared axes. A generator does not provide a complete wind or seismic analysis. Exact-pressure equivalents and combinations remain unsupported. Model 0.6.0 does not provide per-case mass selection or a coupled hydrostatic contents state. |
| Shear deformation | Exact-contract straight members select
|
| Result points | Arc end and station rows use their declared tangent frames and signs. The current result format adds signed normal-stress extremes and transverse-shear measures at stations, optional directional SIF measures, and separately bounded arc maxima. Exact-route rows identify nominal and reduced section bases. A bounded maximum applies to the arc problem formed from published binary64 end actions and uniform load intensities. Its enclosure does not include solution error, which has separate checks. A missing bound or incomplete member/case coverage still withholds the affected maximum or headline. Five sampled values alone do not establish a governing maximum. Earlier case records can retain older row sets and chord-frame end actions; read their own source pins and metadata. |
1.Implemented paths and evidence.
The original review found specific useful foundations. Its curved-bend comparisons agreed with a 64-segment straight model to five significant figures and independent L-bend solutions to eight. Those figures describe their recorded configurations and paths.
The current source contains coordinate transformations, exact restraint elimination, sparse structural solves, consistent span/arc loads and active-set support logic. Each capability has route and input limits. None establishes broad validation, complete numerical accuracy or shipping readiness for all piping systems.
Rust supplies the product result-reader decisions across native, WebAssembly and Python consumers. Python verifier copies remain in tests. Native solves retain the producer’s exact result bytes; exported envelopes identify copied members by canonical-value hashes.
The desktop can open a model document, solve, inspect results, save a local project and reopen it. Export remains subject to the result’s standing and route policy. Saves check the stored revision and write in one transaction. Another writer’s change requires a replacement prompt; a further change before confirmation is refused and prompts again. Recorded native smoke checks exercise this path; they do not issue a release.
The maintainer’s later product-direction decision excludes a standalone verified-bounds feature from v0.1. The retained-precision successor code remains dormant. The selected desktop work is a numerical-health indicator using the solver’s existing residual, conditioning and per-case verdicts. It is diagnostic feedback, not a guarantee of error bounds or engineering validity.
This indicator is still in development and is not part of the main-branch snapshot reviewed above. Its reviewed development design records the decision. Existing captured-source recovery remains active within its supported subset; removing the standalone precision station does not remove that recovery or the current integrity checks.
Captured exact-source recovery can publish pressure-source-1 for eligible straight-member cases,
including Timoshenko and nonzero mill tolerance or corrosion allowance. It requires explicitly empty pressure regions,
linear restraints or springs and supported nodal or load/reference-state inputs, within a 256-DOF ceiling and additional work limits.
Bends, connectors, component records, actual pressure inventories and nonlinear supports remain excluded.
A failed selected-source finalization now falls back to an ordinary publication on both supported source routes, with the reason recorded.
That fallback keeps its own numerical standing and gains no retained qualification.
See the source-family implementation
and fallback design.
Desktop result JSON, stress-neutral CSV/JSON and user rule checks now admit eligible pressure-2
and pressure-source-1 results. The native reader must accept the source and its numerical standing; for source recovery,
the registered live invocation is required. Pressure-source results with load/reference states remain ineligible, while an ordinary
pressure-2 load/reference-state result can qualify. Stored or copied bytes alone do not supply that live source binding.
Reports and the other exact-route handoffs remain refused. Fresh report packages are unavailable for every current result identity, including pressure-free results. The three opened outputs do not make the remaining surfaces available. See the desktop policy and output design.
The repository contains macOS Apple-silicon packaging and draft 0.1.0 release notes. Whole-product reconciliation, hands-on development testing and broader engineering validation remain necessary before a release decision. The draft still leaves the candidate revision, release date, artifact checksums and release evidence to be selected. This development account does not announce an available release. See the release preparation.