The elastic liquid-column equations are integrated on a uniform x–t grid with Courant number one. The quasi-steady Darcy–Weisbach term is evaluated from the local flow at each characteristic foot: f=64/Re below Re=2000, iterative Colebrook–White above Re=4000, and a smooth numerical bridge over Re=2000…4000 (not a resolved transition-flow model).
Four convolution modes are available. Zielke uses a 26-term laminar weighting approximation and is restricted to initial Re≤2000. Frozen smooth-wall Vardy–Brown uses a 16-term turbulent weighting function based on the initial Re. Universal Zielke↔Vardy–Brown follows Urbanowicz, Zarzycki & Kudźma (2012): it retains 26 recursive history states while updating decay coefficients from the current local Reynolds number, avoiding a memory reset across Re=2320; its turbulent branch remains smooth-wall. Fully-rough Vardy–Brown uses W(τ)=A*exp(−B*τ)/√τ with A*=0.0103√Re(ε/D)0.39 and B*=0.352Re(ε/D)0.41, represented by the same 16 recursive exponentials and frozen at the initial state. This last mode is the fully-rough asymptote, not a general transitionally-rough wall model. Revision .22 introduced a Colebrook–White wall-regime guard: it compares the roughness and viscous terms in the Colebrook equation, reports their share and χ, and blocks smooth/fully-rough asymptotic kernels when the initial state is clearly mismatched. The 10/90% dominance thresholds are transparent sandbox guardrails, not published regime boundaries. Vardy & Brown (2007) provide a Colebrook-consistent general weighting formulation, but its 2009 erratum must be resolved before those transitionally-rough coefficients are encoded here. Experimental separation of damping mechanisms by Ferràs et al. (2016) found unsteady friction to be the most relevant damping mechanism in their anchored straight-copper rig, while pipe-wall viscoelasticity dominated their PE rig; this is why quasi-steady Darcy friction alone can visibly under-predict attenuation.
The optional wall model follows the generalized Kelvin–Voigt retarded-strain formulation used by Covas et al. (2005). The entered elastic wave speed a₀ represents the instantaneous elastic compliance J₀. Each user row adds one retarded creep element Jₖ,τₖ; the solver stores its strain history at every MOC node and analytically advances the exponential memory over each time step. The resulting continuity equation is affine in the new head, so the same factor K=1+λᵥₑ is applied to interior nodes, reservoirs/pumps, valves, DVCM cavities, surge-vessel branches and air/vacuum nodes rather than being treated as an empirical damping term.
The creep table is retarded compliance only: do not enter J₀ again. Parameters are material, temperature, age and installation dependent and normally require test/calibration data.
The optional FSI branch uses the linear four-equation model of Tijsseling (2003): fluid pressure/velocity are coupled to axial pipe stress/velocity through Poisson contraction and junction conditions. The coupled wave families travel at ±λ₁ and ±λ₃. The upstream reservoir is structurally anchored. The downstream valve may be fixed, free and massless, or attached to an axial mass–spring–dashpot. A closed moving valve enforces V−uₚ=0; finite opening uses the same relative velocity in the orifice relation.
Intermediate supports follow the massless elastic-support balance used by Zanganeh, Keramat & Tijsseling (2026): fluid pressure and velocity and pipe axial velocity are continuous, while axial stress jumps according to (σR−σL)As=ksx. End-support motion is integrated with Newmark average acceleration, following the dynamic-valve treatment of Henclik (2014/2018). Support displacement is measured from the initial prestressed equilibrium.
The FSI branch remains deliberately narrow: straight horizontal thin-wall pipe, linear elasticity, frictionless fluid/structure equations, no pump, DVCM, air valve, surge vessel, check valve or simultaneous viscoelastic wall. Intermediate supports are massless axial springs; gaps, dry friction, nonlinear supports, bending, elbows and junctions are outside this revision. Conventional characteristic interpolation is used for the slower wave family, so mesh convergence remains a release gate. Delft Benchmark A is numerical rather than experimental validation.
Hydraulic head H is solved along pipe chainage. Gauge pressure is p=ρg(H−z), so a local high point can control vapor-pressure margin even when the end pressures are acceptable. Profile mode linearly interpolates user x,z points onto the MOC grid; x is chainage along the modelled pipe length L.
The outlet valve is an ideal orifice. Its coefficient is inferred from the initial operating point, then multiplied by the commanded opening. Linear, smooth-cosine and power-law closure are available. Closing faster than the wave round-trip time produces a response approaching the Joukowsky limit.
In quadratic mode, speed after trip follows n = exp[−(t−ttrip)/τ] and reverse pump flow is rejected. In Suter mode, user-supplied periodic Wh(θ), Wm(θ) data define all four flow/speed quadrants with θ = atan2(α,v), v=Q/Q* and α=n/n*. After trip the driver torque is set to zero and J·dω/dt = −Mhyd is integrated with a trapezoidal predictor/corrector coupled to the MOC pump boundary. The dynamic check valve keeps a prescribed travel after its trigger. The trigger may be the pump-trip command or the calculated flow crossing through zero; flow-triggered slam with an in-service pump requires Suter 4Q data so the pre-closure reverse flow is represented. Disc inertia and hydrodynamic torque are not solved.
The surge vessel is a lumped gas cushion with pVγ = const. An optional connection branch solves its flow inertia together with quasi-steady Darcy/local loss; Lc=0 and ΣK=0 reduces to direct nodal continuity. Ideal air-valve mode is an atmospheric pressure clamp. Finite mode uses separate inlet/outlet orifices with compressible choking and a lumped isothermal ideal-gas pocket; the liquid-flow imbalance changes pocket volume while orifice mass flow changes the air mass.
When DVCM is selected, a node that reaches vapor pressure is held at Pvap while separate upstream/downstream characteristic flows grow or collapse a discrete vapor cavity using dVcav/dt = Qout − Qin. Cavities are fixed to MOC grid nodes and do not alter wave speed. ψ weights the current imbalance against the value two MOC steps earlier; the general sandbox default is ψ=0.55, while the Bergant literature benchmark uses its published ψ=1.0. A mesh-dependent nodal cavity/reach-volume ratio is reported and warns above 10%; it is a numerical DVCM diagnostic, not a physical distributed void fraction.
The built-in suite checks exact MOC invariants, the Joukowsky jump and wave travel time, exact Colebrook–White turbulent friction, Zielke and Vardy–Brown weighting/recurrence, a published Adelaide laminar Zielke analytical case, Suter normalization, compressible air-orifice flow, coupled air-pocket mass balance, generalized Kelvin–Voigt retarded-strain recurrence/steady invariance, and literal transcription of the Covas et al. four-element PE creep spectrum. Its literature case reproduces the classical DVCM Adelaide/Bergant low-velocity test: L=37.2 m, D=22.1 mm, a=1319 m/s, V₀=0.30 m/s, HT2=22 m, 9 ms downstream valve closure and ψ=1.0. The published classical-DVCM maxima are 102.7 m at 0.176 s for N=32 and 102.5 m at 0.178 s for N=128; the measured maximum is 95.6 m. Because the recorded valve/Cv trace is not embedded, this tool uses a smooth-cosine 9 ms closure as a documented surrogate. Sources: Bergant et al. (2007), TU/e CASA report 0729, for the classical-DVCM comparison; Vardy & Brown (1995) for the smooth-pipe transient-friction framework; Vardy & Brown (2004), Journal of Sound and Vibration 270, 233–257, for the fully-rough turbulent weighting asymptote; Urbanowicz & Zarzycki (2012) for the 26-term Zielke approximation; Urbanowicz, Zarzycki & Kudźma (2012), Journal of Theoretical and Applied Mechanics 50(4), 889–902, for the continuous universal laminar–turbulent weighting procedure; Bergant et al. (2006), IAHR Paper 109, for recursive convolution; Walters, Dahl & Rogers (2020), DOI 10.1115/PVP2020-21069, for four-quadrant/Suter definitions; Covas et al. (2005), Journal of Hydraulic Research 43(1), 56–70, for the generalized Kelvin–Voigt pipe-wall transient formulation and PE creep-spectrum calibration basis. Tijsseling (2003), Journal of Fluids and Structures 18(2), 179–196, supplies the axial four-equation FSI equations, coupled wave-speed relations, free-valve boundary conditions and Delft Hydraulics Benchmark A used by the current FSI branch. Zanganeh, Keramat & Tijsseling (2026), Journal of Fluids and Structures 140, 104466, supplies the elastic valve/intermediate-support balance equations used in FSI phase 2; Henclik (2014, 2018) supplies the moving mass–spring–dashpot valve-boundary formulation and Newmark coupling basis.