SWBPIPE · The open manual
Status of this editioniii

Status of this Edition


This page describes implemented routes and known limits checked on 12 October 2026 at revision 8d5b0b732d. The manual’s Today marks link here. The chapters and recorded cases retain their earlier engineering basis, 462f66975d; this page updates their account of software behavior. It does not replace their recorded calculations with new solver runs.

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.

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.

Models 0.3.0 and 0.4.0 accept exact_straight_pressure_v2 and its successor exact_pressure_v3. The former remains straight-only. The successor admits straight circular pipe and realized curved bends with linear restraints or springs. Both require explicit case pressure 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. Pressurized joints, nonlinear supports, combinations and equivalent-static generators are refused on this route. Its name does not establish general exact pressure theory.

Successor pressure-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 depends on the inverse-norm assumption and arc re-formation limits stated in the numerical design. The represented physical model also defines its scope.

Supported linear cases publish the checked member recoveries. Forces, stresses and reactions can therefore differ from a binary64 recalculation using the displayed displacements. A missing member bound cannot produce checks passed.

The nonlinear-support route has no member-relative formation check yet. It publishes Sensitive with a named explanation, even when the support iteration converges. The rows remain available for inspection; convergence is not their numerical eligibility. 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 scope is untied, unpressurized hardware on the successor contract. The replaced span supplies no member result, self-weight or inherited load.

Pressure thrust, ties, finite rotation, geometric stiffness, 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.4.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.4.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.4.0 load/reference-state combinations remain unsupported.

Mill tolerance

An entered absolute mill tolerance reduces the wall used to derive section properties, including stiffness and weight. This differs from a nominal-wall flexibility model with allowances applied only to stress.

Meanwhile: leave mill tolerance out and reduce the stress section by hand when following that nominal-wall method. Keep the resulting stress calculation distinct from the program’s current section basis.

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.4.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.4.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 does not measure the webview heap, and other model commands do not yet have the solve ingress bound. 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.4.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 the entered span and direction, without a height profile. 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.4.0 does not provide per-case mass selection or a coupled hydrostatic contents state.

Shear deformation

The straight and curved beam formulations exclude shear deformation. Short, heavy legs can therefore differ from a model that includes shear flexibility.

Result points

Arc results include signed tangent-frame station resultants and nominal stress components. End force rows use the chord frame. End and intermediate conventions must be read from their metadata, not assumed identical.

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 prompt before replacement when another writer has changed it. 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. The successor pressure route has no retained-source recovery join yet. Prepared readers, output policies and memory controls do not supply that join or activate the retained desktop caller. General combination-row error qualification also remains unfinished.

Desktop load/reference-state and successor pressure-1 results 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