SWBPIPE · The open manual
Part IV · Modelling GuideIV–1

Part IV

Modelling Guide

A. Building a model

A model represents the pipe centerline, with sizes, materials, components, supports and loads attached. SWBPIPE does not supply missing engineering inputs. A required value that is absent stops the solve. The diagnostic identifies the missing input.

1.Units and geometry.

Every quantity has an entered unit. Consumed values are converted to SI for the solve. The node table defines the model geometry, and the drawing follows those rows.

Put nodes at every change of direction, support, component and branch. Also put nodes at every change of size, material or temperature, and wherever you want a result. Long straight runs need no intermediate nodes for accuracy under the exact beam assumptions of end loads and consistent span loads. Intermediate nodes provide intermediate results.

Today

Nodes are entered with absolute coordinates. Readouts offer Entered, SI and US display units where conversion is available. Editing retains entered units. Display preferences do not change the model’s authored units (Status).

2.Pipe sizes.

Each pipe has its nominal outside diameter and wall thickness, entered directly or through a defined section. For weight, give pipe, contents and insulation densities, and the insulation thickness. For the exact route, the allowance definitions also determine the pressure bore and contents area; identify the section basis below.

Today

There are no pipe schedule tables to select from (Status). Exact-contract sections require explicit corrosion allowance and use nominal wall for stiffness and metal mass. The entered mill tolerance and corrosion allowance reduce the stress section and pressure bore. Stress rows identify both section bases. The pressure-free route retains its single wall-minus-mill-tolerance basis. Check the route before applying an allowance workaround (Status).

3.Materials.

Material inputs depend on the selected model contract. The ordinary route uses entered elastic and shear moduli and thermal expansion data. Enter these properties at the temperatures you need. When an ordinary case selects a temperature basis, it uses one named point or supported interpolation. It never extrapolates.

Exact pressure and model 0.6.0 load/reference states require explicit elastic modulus E and Poisson ratio ν. These routes derive the shear modulus.

Model 0.6.0 selects each member’s actual material basis explicitly. It uses base properties, an exact point or supported temperature interpolation. It refuses extrapolation. Installation, operating temperature and thermal/fit definitions are explicit states. Recorded shear modulus and expansion data do not substitute for E/ν. For a code range, the reference modulus basis is the value required by that code (Part II D).

4.Open, save and reopen.

The native desktop opens a model document through File > Open Model Document. A solve request containing separate model and material objects is not a desktop model document. File and shape checks refuse unsupported documents by name. A refused file or cancelled chooser leaves the session unchanged. Browser preview cannot open model files.

  1. Open the model document. Resolve any named file or shape refusal before solving.
  2. Check geometry, quantities, components, restraints, material states and load sources.
  3. Select the solver mode and solve. Read the standing, coverage, diagnostics and solve proof.
  4. Save the document as a local project. Examine the stored project and revision before any requested replacement.
  5. Choose Replace, Save as a new project, or Cancel. Cancel keeps the stored project.
  6. Reopen the saved project. Check its model and result standing before continuing.

Saving the same project needs no replacement prompt while its stored revision still matches this session’s last open or save. Another writer’s change requires a prompt. The store checks that revision and writes the project in one transaction. A further change before Replace is refused and prompts again. A timed-out write fails visibly.

Save as a new project assigns a new project ID. Its model hash changes, and the old ID’s solved run is not carried over. Opening a document adopts its entered data without filling missing engineering values. Saving can apply the declared persistence normalization. Reopening saved results does not establish current numerical eligibility.

Part IV · Modelling GuideIV–2

B. Components

ComponentHow to model it
Bend or elbowRadius, angle, flexibility factor k, and in-plane and out-of-plane SIFs from the code you work to (Part II E). The explicit curved_bend_macro_element mode carries entered k in its stiffness. This mode supports ordinary preview-physics-2 and pressure contract 3.0.0. The legacy mechanics_geometry_only mode uses the chord. Realized arcs now publish supported stress quantities and bounded maxima; incomplete coverage is withheld (Status).
Tee or branchHeader and branch meet at one node. Enter the SIFs for the connection type; the branch SIF is applied with the branch section. Today: no local junction flexibility. With mechanics_geometry_only tee/branch records, the ordinary route can publish a separate user equal-factor intensified bending measure. The straight member end must match the declared header or branch pipe reference. It uses that member’s section modulus and the corresponding positive user-entered SIF. It is not a code stress (Status).
Valve, flange, rigidLength, weight and center of gravity; modeled as a rigid element. Today: not yet a rigid element, and the weight is not added: enter it as a point force at the center of gravity (Status).
ReducerThe two end sizes over its length. Today: model it as a short pipe of the smaller size (Status).
Expansion jointToday: re-author supported joints as objective_connector 1.0.0 on pressure contract 3.0.0. Enter its frame, attachments, symmetric 6×6 work matrix with basis and provenance, and installed reference q_ref. Select unpressurized or the explicit constant_effective_area_reference_v1 law. The pressure law requires an authored effective area and source, equal bore, coaxial straight face pipes, zero offsets and explicit membership in one pressure region. The connector replaces one straight span, which supplies no member rows, self-weight or transferred eigenload. Explicit bilateral linear elastic tie rods are supported; ideal inextensible, tension-only and gapped rods remain unsupported (Status).
Part IV · Modelling GuideIV–3

C. Supports, hangers and nozzles

Model each support as built, with its actual physical behavior. A shoe on a steel beam is a rest with friction. Lugs may also make the shoe a guide. A rod hanger carries tension only. A trunnion on a beam is a stub from the centerline to the support point, with a rest at its end.

SupportWhat to enter
AnchorRigid, or the stiffnesses of the structure it is fixed to.
Rest, guide, line stopThe type, the clearance on each side, and the friction coefficient where the pipe slides (Part II H).
Variable spring hangerRate and cold (installed) load, from your hanger design (Part II I).
Constant support hangerThe load it carries.
Equipment nozzleAn anchor at the nozzle face, or an anchor with the nozzle’s flexibility, and the equipment’s thermal growth there as an imposed movement for each operating case (Part II J).
Today

Restraints use global directions. A guide or line stop on a skewed run has no general local restraint-axis model (Status). Friction uses separate global-axis support laws and a compatible normal-force source (Status). Spring preload and complete hanger design remain unsupported (Status).

Model a designed hanger as a force in the weight case. Do not also count the same load through a constant-effort declaration or duplicate applied force. Constant effort is an applied force, not a rigid restraint; mechanics combinations are withheld when their factor sum would count that force incorrectly (Status).

Model 0.6.0 supports explicit rigid boundary translations and rotations at already restrained DOFs. It refuses spring base motions, device preload/reference laws, inactive or locked participation, and per-case mass states. Legacy imposed_displacement is refused (Status). Legacy finite-span joints are refused. The replacement connector has its own explicit frame, attachments and work matrix (Status).

A model needs enough restraint to prevent rigid-body movement in every direction. When numerical checks detect a mechanism or insufficient restraint, the solve is blocked. Diagnostics identify the detected problem. A solved result does not prove physical stability. Examine the largest movement and rotation in every case. Read the numerical admission and coverage limits.

Part IV · Modelling GuideIV–4

D. Load cases for a typical job

Build the basic loads first. Then construct the cases needed for the code check. The following tables describe a line with one operating condition.

Basic loadWhat it contains
WWeight of pipe, contents, insulation and components.
P1Design or operating pressure.
T1Temperature change from installation to operation, with the equipment movements that go with it.
WIN, EQWind and static seismic, each direction and sense its own load.
CaseHow it is formed
Sustained (SUS)W + P1, solved in the support state of the operating case where supports lift off.
Operating (OPE)W + T1 + P1, solved with its nonlinear supports. Gives hot support and nozzle loads, and movements.
Expansion (EXP)OPE − SUS, an algebraic difference of forces and moments. Gives the displacement stress range.
Occasional (OCC)SUS with each wind or seismic load added in turn.
HydrotestWater-filled weight and test pressure, with spring hangers locked.

Each operating condition has its own OPE case. The expansion range is formed between the extreme states. Part II C and D explain this distinction.

Today

The retired legacy_pressure_v1 contract is refused even when pressure is zero. A pressure-free document has no pressure contract. Re-author retired pressure primitives; changing their value to zero does not make them admissible (Status).

Model 0.6.0 is current. Earlier formats and pressure contract 2.0.0 are retired and require re-authoring. Exact-contract models declare 3.0.0/exact_pressure_v3 and an explicit shear model. New authoring defaults to timoshenko_annulus_energy_v1; euler_bernoulli remains selectable. Realized arcs remain Euler–Bernoulli under either selection. Existing documents keep their selection.

Enter case pressure regions, their member ownership, two ordered, distinct physical terminals, and each terminal’s provenance and closure-transfer path. Choose transfers_to_wall or separately_supported_or_compensated from the physical arrangement. The solver never infers closure transfer. Use homogeneous isotropic material properties with explicit E and ν; the route derives G. Each region has equal bore and a common normalized material basis. The contract uses internal_differential_zero_external_v1. Pressure units do not select gauge or absolute reference.

Contract 3.0.0 admits straight circular pipes and realized curved bends carrying the user’s flexibility factor k. Select curved_bend_macro_element for each bend. Geometry-only bends cannot carry pressure. Regions can change direction only at realized bends. Mitres and straight-to-straight kinks are refused.

Contract 3.0.0 admits signed internal differential pressure with zero external pressure increment. It does not assess external-pressure stability or collapse. It excludes steady-flow momentum, transient pressure loads, Bourdon opening, pressure-dependent k or SIFs, and ovalization. Untied joints and joints with supported elastic rods can use the bounded pressure law in B. Other component families, nonlinear or constant-effort supports, combinations and equivalent-static generators are refused.

The ordinary exact route publishes pressure-2. Eligible captured straight-member cases can publish pressure-source-1, now including Timoshenko and nonzero mill tolerance or corrosion allowance, with explicitly empty pressure regions (Status). Bends, connectors, pressure inventories and nonlinear supports remain outside that recovery subset. Eligible desktop results can now export result JSON and stress-neutral CSV/JSON and enter user rule checks. Source-recovery results with load/reference states remain ineligible. Reports and other exact-route handoffs remain refused (Part V B).

SWBPIPE does not automatically construct the code cases above (Status). Ordinary mechanics combinations are withheld for nonlinear supports, mixed moduli, or incorrect constant-effort factor sums. An explicit result-state subtraction is a labeled difference, not an equilibrium state (Status). Hydrotest pressure and full locked-hanger behavior remain unsupported (Status).

Part IV · Modelling GuideIV–5

E. Code data you enter

SWBPIPE supplies no code tables. Enter flexibility factors, SIFs, component dimensions and allowables from the applicable codes and catalogs. For the B31 codes, use ASME B31J for SIFs and flexibility factors. Use owner and manufacturer data for components and hangers. The classical forms in Part II E provide a comparison for entered data.

The realized curved-bend mode uses k in stiffness and accepts a separately entered directional SIF pair for its intensified bending measure. It supplies no code-derived factors. Geometry-only bend markers and tee/branch records retain their equal-factor measure on supported adjacent straight ends; tee/branch ends must match the declared header or branch pipe reference. Each row uses its declared member section basis.

A realized bend uses its own directional measure on the arc; its presence does not add the geometry-marker measure to its straight neighbors. Neither measure multiplies stress by k or supplies a code stress. User formula criteria can evaluate intervals, but a formula gate is not standards approval. SWBPIPE supplies no built-in code classification or allowable. The code check is made in the program used for validation (Part V).

You can keep material, section, component and hanger data in private libraries. You can keep projects in a local store. These local data remain on your machine.

Today

The native desktop can validate and save accepted private library imports in a project-scoped local store. The browser preview has no substitute validator or store. Importing a library does not automatically populate the mechanics model (Status). Workflows that prepare and maintain libraries from private spreadsheets and data sheets remain in development.

Part IV · Modelling GuideIV–6

F. Checking a model

Check the model before reading its results. Short diagnostic runs can reveal model errors.

Read the numerical standing and coverage with the result. Nonlinear convergence is followed by a separate confirmation; cases that pass can publish checked member and support rows. An unestablished support state or missing member bound keeps Sensitive with a named reason. Convergence alone cannot produce checks passed (Status).

The Rust product reader supplies result interpretation and numerical standing to native, WebAssembly and Python consumers. Check the current model, selected mode and reader findings. A saved result, copied hash or readable historical record does not establish current standing. Captured-source routes, including pressure-source-1, require their captured invocation and validation of the exact result bytes. Retired v2 result identities are refused.

1.Memory and interrupted solves.

Ordinary desktop solves use capped local worker processes. The shared pool defaults to 75% of physical RAM. Each worker’s budget defaults to the smaller of 12 GiB and the pool. Lower budgets are allowed; larger worker budgets remain unqualified. The pool belongs to one app process.

Read the memory panel’s pool, budget, reservations, queue and refusal reason. Admission and worker growth need current free-memory headroom and normal memory pressure. Unknown or stale host information can prevent admission. A loaded machine can refuse a solve that previously ran. A resource refusal does not change the requested solver mode or numerical route.

Cancel a queued job to prevent its worker from starting. Cancelling a running job terminates its worker. Wait for the job’s cancellation status; reservations release after the worker exits and is reaped. Session reset also abandons jobs and releases retained results. A cancellation request alone does not establish completed cancellation.

A finished solve can still lose its result if publication cannot obtain result memory or retention space. A refused result handoff keeps the result retained. Delivered-byte custody remains reserved until disposal. This accounting does not measure webview heap. Other model commands lack the solve ingress bound, and the packaged CLI self-test runs outside this pool. These controls do not guarantee whole-app memory use.

Worker footprint checks run at intervals. Memory outside the counted heap can exceed the reservation until the next check and worker termination. A larger pool does not expand numerical scope or activate retained desktop solving (Status).

2.Engineering checks.

  • Movements first. Look at the largest displacement and rotation in every case. Meters of movement or whole radians of rotation indicate a possible mechanism or unit error. Investigate these values (Status).
  • Weight balance. In the weight case with every rest acting, the vertical support loads add up to the total weight entered.
  • Free growth. Hold the line at one anchor only and apply the thermal case. For uniform unconstrained thermal strain, each node should move by αΔT times its position vector from the anchor. Member forces should be zero. Other restraints, nonuniform strain or imposed boundary motions change this expectation.
  • Order of magnitude. Compare the thermal load on a leg with the guided-cantilever estimate of Part II A. A result ten times larger or smaller needs explaining.
  • Support states. In each nonlinear case, read which rests have lifted off, which gaps have closed and which shoes slide. Ask whether the line would behave that way.
  • The validating program. The final check is the model in the program you validate in, compared result by result (Part V C).

Contents · Part III · Part V · The program: swbpipe.com · MIT license