SWBPIPE · The open manual
Status of this editioniii

Status of this Edition


Explore the visual development overview for the product scope, current paths and remaining work.

This page and the refreshed chapters describe implemented routes and known limits at revision 8212c765ec, checked on 17 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.5.0 is the current format. Models 0.1.0 through 0.4.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.

RouteImplemented calculation and desktop availability
Pressure-freePublishes preview-physics-1. 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 contractPublishes pressure-1. 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 and the bounded untied-joint pressure law described below. Results are readable on the desktop; every desktop output surface refuses them.
Captured exact-source recoveryCan publish pressure-source-1 for eligible straight Euler–Bernoulli cases with zero mill tolerance and corrosion allowance, explicitly empty pressure regions and supported loads. Timoshenko, realized bends, connectors and actual pressure inventories are outside this recovery subset. Desktop results remain readable and all desktop outputs remain refused.
Retained-precision developmentBounded recovery, readers and selected output policies exist in development/test paths. The public desktop caller is not activated. Prepared policies and saved result bytes do not activate it.

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.

LimitWhat happens, and what to do meanwhile
Pressure

The retired legacy_pressure_v1 contract is refused, even when its pressure is zero. A pressure-free document has no pressure contract. The former pressure treatment omitted Poisson contraction and longitudinal pressure stress. Its incorrect loads belong to historical results.

Model 0.5.0 accepts exact_pressure_v3, contract 3.0.0. New exact-contract authoring writes this contract and an explicit shear-model selection. It admits straight circular pipe, realized curved bends and the bounded untied connectors below, with linear restraints or springs. Pressure cases require explicit regions, terminal ownership, closure-transfer paths and E/ν, with derived G. Members use the homogeneous isotropic material basis. Each pressure region has equal bore.

The successor uses signed internal differential pressure with zero external pressure increment. A negative differential is admitted; external-pressure stability and collapse are not assessed. Pressure is uniform within each declared region. Mechanical, pressure-eigen and cap-transfer terms remain distinct.

Steady-flow momentum, transient pressure loads, Bourdon opening, pressure-dependent flexibility or stress intensification, ovalization and hydrostatic head are excluded. Joint arrangements outside the admitted subset, nonlinear or constant-effort supports, combinations and equivalent-static generators are refused on this route. Its name does not establish general exact pressure theory.

Both pressure-1 and pressure-source-1 results are readable on the desktop, but every desktop output surface refuses them with PRESSURE-1-OUTPUT-NOT-YET-AVAILABLE. A readable result does not establish export availability.

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 curved_bend_macro_element uses the entered radius, bend-plane reference and finite positive flexibility factor. The current element uses stable small-angle calculations and global-frame assembly. The mechanics_geometry_only mode still uses the chord.

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 successor pressure route admits realized bends, with one user factor for both bending planes. It includes pressure free strain and member-owned end-cap terms. Wall axial force and effective force remain distinct. A region changes direction only at realized bends; mitres and straight-to-straight kinks are refused. Geometry-only bends cannot carry pressure on this route.

Arc end and station values do not establish a governing arc stress maximum. Arc hoop and radial pressure values are withheld, as is an incomplete stress headline. Meanwhile: establish the model mode before interpreting bend results. A displayed bend alone does not establish curved mechanics.

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 STRESS_FREE_WITHIN_NUMERICAL_PRECISION.

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 preview-physics-1 publishes six signed support components where actions can be attributed. Ambiguous coincident rigid actions are withheld. Forces and moments must be interpreted with the declared frame and sign convention.

Historic precision-1 results retain force norms without moments; constant-effort reactions read zero. They remain readable but are not current or eligible for rules, reports or export. Meanwhile: take unsupported support loads from the validating program.

SIF review row

The ordinary user-SIF measure is equal-factor intensified bending, i*hypot(My,Mz)/Z, with the member section modulus. It is not code stress and is never combined. A realized curved-bend component supplies no measure on its arc or straight neighbors.

The retired row multiplied summary stress by SIF and, by default, flexibility factor. The historical test gave 699 MPa where 47 MPa was expected. Meanwhile: do not use that retired SIF row. A user-entered SIF is not a standards-derived factor or code acceptance.

Summary stress

Ordinary preview-physics-1 uses supported straight circular normal-stress extrema, with torsion as a separate stress component. It withholds arc maxima and any stress headline with incomplete member/case coverage.

The retired summary added |σby| + |σbz|. Circular bending instead uses √(My2 + Mz2)/Z. The old sum could be up to 41 % high, omitted torsion and reported a first-case headline. Historical readability does not make these quantities eligible. Meanwhile: work from supported signed moments and their stated coverage.

Expansion joints

Legacy finite-span joint definitions are refused and require re-authoring. Their former four-rate element is removed. The historical pipe-plus-joint and lateral-equilibrium defects do not describe the supported replacement.

The explicit objective connector replaces one straight span. It uses an authored symmetric 6×6 work matrix, frame, offsets and installed reference. Its law is linear, with small displacement and rotation. Current hardware scope is untied. The unpressurized law remains available. The explicit constant_effective_area_reference_v1 law also admits a joint as an edge of one equal-bore pressure region, between coaxial straight members with zero attachment offsets. Effective area, pressure basis, source and region ownership are explicit. Unequal bore or pressure, joint faces at region terminals, faces beside realized arcs and ties remain refused. The replaced span supplies no member result, self-weight or inherited load.

The admitted pressure law keeps elastic connector actions, joint pressure force and effective axial force separate. Ties, finite rotation, geometric stiffness, pressure-dependent tangent laws, temperature-dependent laws and stops remain unsupported. An annotation-only joint is disclosed as pipe; it supplies no joint mechanics and is refused on the pressure route.

Meanwhile: use only the explicit connector’s supported law and load scope. A drawn joint does not establish its solver mode.

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.5.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.5.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 preview-physics-1 withholds combinations for nonlinear supports, constant-effort double counting and mixed modulus bases. These guards replace silent linear superposition of incompatible states.

Meanwhile: solve each combined nonlinear loading as its own load case (Part III D). Exact-pressure and model 0.5.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.

LimitWhat 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.5.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 lambda_fit*lambda_thermal-1.

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.5.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: barg and bara are refused unit symbols.

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.

LimitWhat 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 or activation of the retained desktop route. 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.5.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).

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.5.0 does not provide per-case mass selection or a coupled hydrostatic contents state.

Shear deformation

Exact-contract straight members select timoshenko_annulus_energy_v1 or euler_bernoulli. New authoring defaults to Timoshenko with an energy-matched annular shear factor. A document’s existing selection is preserved. Realized arcs and pressure-free members remain Euler–Bernoulli. Compare the selected formulations before attributing a difference to shear flexibility.

Result points

Arc results include signed tangent-frame station resultants. Current arc end rows use each end’s tangent frame and node-on-element action convention; section cuts use their declared section convention. The exact route identifies nominal and reduced stress bases. Earlier case records can retain chord-frame end rows. Read the frame and signs from each result’s metadata.

The five sampled points do not establish a governing arc maximum. Ordinary preview-physics-1 withholds arc maxima and any incomplete-coverage stress headline.

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.

Retained-precision work now includes bounded multiple-case and combination handling and exact-pressure successor records. It remains registered development/test work without public desktop activation. Prepared readers, output policies and memory controls do not activate the retained desktop caller. General combination-row error qualification also remains unfinished.

Captured exact-source recovery is joined as pressure-source-1. Eligible cases use straight Euler–Bernoulli members with zero mill tolerance and corrosion allowance, explicitly empty pressure regions, linear restraints or springs and supported nodal or load/reference-state inputs. Timoshenko, bends, connectors and actual pressure inventories are declined by name. Default Timoshenko authoring therefore solves on the ordinary exact route without this source-recovery publication. Retained member-load work has further admission and coverage limits; a declined retained attempt does not qualify the ordinary fallback. See the source method and remaining recovery work.

Desktop exact-contract results, including load/reference-state cases published as pressure-1 or pressure-source-1, remain readable, but their outputs are refused on every desktop output surface. Fresh-result report packages remain unavailable. Historical or restricted result readability does not establish current standing or output eligibility. Output permission depends on the route, surface and exact result standing.

Contents · Part III · Part VI · The program: swbpipe.com · MIT licence