Skip to content
OFFICIAL SS DOCUMENTATION

SS.Fluids 1.2.0

Dimension-safe Newtonian flow, arbitrary nonlinear pipe networks, gradually varied open-channel profiles, pump/system curves, Darcy-Colebrook losses and nozzle states
API 1.2.0
MIT
source

Language compatibility: >=1.0.0 <2.0.0
Runtime compatibility: >=1.0.0 <2.0.0

No package dependencies declared.

Public API

Public signature
export function bernoulliDownstream(NewtonianFluid fluid, Pa upstreamPressure, m upstreamElevation, velocity upstreamVelocity, m downstreamElevation, velocity downstreamVelocity, m headLoss, acceleration gravity)->BernoulliResult

Parameters: fluid: NewtonianFluid, upstreamPressure: Pa, upstreamElevation: m, upstreamVelocity: velocity, downstreamElevation: m, downstreamVelocity: velocity, headLoss: m, gravity: acceleration


Public signature
export record BernoulliResult(public Pa downstreamPressure, public m upstreamTotalHead, public m downstreamTotalHead, public double relativeEnergyResidual)

Parameters: downstreamPressure: Pa, upstreamTotalHead: m, downstreamTotalHead: m, relativeEnergyResidual: double


Public signature
export function circularPipe(string name, m length, m diameter, m roughness, double minorLossCoefficient)->CircularPipe

Parameters: name: string, length: m, diameter: m, roughness: m, minorLossCoefficient: double


Public signature
export record CircularPipe(public string name, public m length, public m diameter, public m roughness, public double minorLossCoefficient)

Parameters: name: string, length: m, diameter: m, roughness: m, minorLossCoefficient: double


Public signature
export function darcyFrictionFactor(double reynoldsNumber, double relativeRoughness)->double

Parameters: reynoldsNumber: double, relativeRoughness: double


Public signature
export function hagenPoiseuille(NewtonianFluid fluid, m pipeLength, m radius, Pa pressureDrop, int radialIntervals)->PipeFlowResult

Parameters: fluid: NewtonianFluid, pipeLength: m, radius: m, pressureDrop: Pa, radialIntervals: int


Public signature
export function isentropicNozzle(double gamma, double gasConstant, K stagnationTemperature, Pa stagnationPressure, double areaRatio, bool supersonic, double tolerance, int maximumIterations)->NozzleState

Parameters: gamma: double, gasConstant: double, stagnationTemperature: K, stagnationPressure: Pa, areaRatio: double, supersonic: bool, tolerance: double, maximumIterations: int


Public signature
export function kinematicViscosity(NewtonianFluid fluid)->kinematicViscosity

Parameters: fluid: NewtonianFluid


Public signature
export function massConservation(massFlow[] inlet, massFlow[] outlet)->double

Parameters: inlet: massFlow[], outlet: massFlow[]


Public signature
export function newtonian(string name, density density, dynamicViscosity viscosity)->NewtonianFluid

Parameters: name: string, density: density, viscosity: dynamicViscosity


Public signature
export record NewtonianFluid(public string name, public density density, public dynamicViscosity viscosity)

Parameters: name: string, density: density, viscosity: dynamicViscosity


Public signature
export record NonlinearPipeNetworkResult(public double[] heads, public double[] flows, public PipeHydraulicState[] pipeStates, public double maximumContinuityResidual, public int iterations, public bool converged, public string diagnostic)

Parameters: heads: double[], flows: double[], pipeStates: PipeHydraulicState[], maximumContinuityResidual: double, iterations: int, converged: bool, diagnostic: string


Public signature
export record NozzleState(public double machNumber, public K staticTemperature, public Pa staticPressure, public density staticDensity, public velocity speed, public double areaRatio, public double areaMachResidual, public string branch)

Parameters: machNumber: double, staticTemperature: K, staticPressure: Pa, staticDensity: density, speed: velocity, areaRatio: double, areaMachResidual: double, branch: string


Public signature
export function openChannelProfile(volumetricFlow flow, m width, double bedSlope, double manningRoughness, m initialDepth, m stepLength, int steps, acceleration gravity)->OpenChannelProfileResult

Parameters: flow: volumetricFlow, width: m, bedSlope: double, manningRoughness: double, initialDepth: m, stepLength: m, steps: int, gravity: acceleration


Public signature
export record OpenChannelProfileResult(public double[] distances, public double[] depths, public double[] froudeNumbers, public double[] frictionSlopes, public double criticalDepth, public string[] regimes, public bool crossedCritical, public string diagnostic)

Parameters: distances: double[], depths: double[], froudeNumbers: double[], frictionSlopes: double[], criticalDepth: double, regimes: string[], crossedCritical: bool, diagnostic: string


Public signature
export record OpenChannelState(public m normalDepth, public volumetricFlow volumeFlow, public double froudeNumber, public string regime, public double relativeDischargeResidual, public int iterations)

Parameters: normalDepth: m, volumeFlow: volumetricFlow, froudeNumber: double, regime: string, relativeDischargeResidual: double, iterations: int


Public signature
export record ParallelNetworkResult(public volumetricFlow[] branchFlows, public PipeHydraulicState[] branchStates, public volumetricFlow totalFlow, public double continuityResidual, public double energyResidual, public bool converged, public string diagnostic)

Parameters: branchFlows: volumetricFlow[], branchStates: PipeHydraulicState[], totalFlow: volumetricFlow, continuityResidual: double, energyResidual: double, converged: bool, diagnostic: string


Public signature
export record PipeFlowResult(public m[] radialCoordinates, public velocity[] axialVelocity, public volumetricFlow volumeFlow, public massFlow massFlow, public double reynoldsNumber, public double relativeBalanceError)

Parameters: radialCoordinates: m[], axialVelocity: velocity[], volumeFlow: volumetricFlow, massFlow: massFlow, reynoldsNumber: double, relativeBalanceError: double


Public signature
export function pipeHydraulics(NewtonianFluid fluid, CircularPipe pipe, volumetricFlow flow, Valve valve, acceleration gravity)->PipeHydraulicState

Parameters: fluid: NewtonianFluid, pipe: CircularPipe, flow: volumetricFlow, valve: Valve, gravity: acceleration


Public signature
export function pipeHydraulics(NewtonianFluid fluid, CircularPipe pipe, volumetricFlow flow, acceleration gravity)->PipeHydraulicState

Parameters: fluid: NewtonianFluid, pipe: CircularPipe, flow: volumetricFlow, gravity: acceleration


Public signature
export record PipeHydraulicState(public volumetricFlow volumeFlow, public velocity meanVelocity, public double reynoldsNumber, public double frictionFactor, public m distributedHeadLoss, public m minorHeadLoss, public m totalHeadLoss, public Pa pressureLoss, public double colebrookResidual, public string regime)

Parameters: volumeFlow: volumetricFlow, meanVelocity: velocity, reynoldsNumber: double, frictionFactor: double, distributedHeadLoss: m, minorHeadLoss: m, totalHeadLoss: m, pressureLoss: Pa, colebrookResidual: double, regime: string


Public signature
export function pipeNetwork(int nodes, int[] startNodes, int[] endNodes, CircularPipe[] pipes, Valve[] valves, double[] pumpShutoffHeads, double[] pumpHeadCoefficients, double[] demands, bool[] fixedHeads, double[] headValues, string provenance)->PipeNetworkModel

Parameters: nodes: int, startNodes: int[], endNodes: int[], pipes: CircularPipe[], valves: Valve[], pumpShutoffHeads: double[], pumpHeadCoefficients: double[], demands: double[], fixedHeads: bool[], headValues: double[], provenance: string


Public signature
export record PipeNetworkModel(public int nodes, public int[] startNodes, public int[] endNodes, public CircularPipe[] pipes, public Valve[] valves, public double[] pumpShutoffHeads, public double[] pumpHeadCoefficients, public double[] demands, public bool[] fixedHeads, public double[] headValues, public int edges, public string provenance)

Parameters: nodes: int, startNodes: int[], endNodes: int[], pipes: CircularPipe[], valves: Valve[], pumpShutoffHeads: double[], pumpHeadCoefficients: double[], demands: double[], fixedHeads: bool[], headValues: double[], edges: int, provenance: string


Public signature
export record PumpCurve(public string name, public m shutoffHead, public double headCoefficient)

Parameters: name: string, shutoffHead: m, headCoefficient: double


Public signature
export function pumpHead(PumpCurve pump, volumetricFlow flow)->m

Parameters: pump: PumpCurve, flow: volumetricFlow


Public signature
export record PumpOperatingPoint(public volumetricFlow volumeFlow, public m pumpHead, public m systemHead, public PipeHydraulicState[] pipeStates, public double relativeHeadResidual, public int iterations, public bool converged, public string diagnostic)

Parameters: volumeFlow: volumetricFlow, pumpHead: m, systemHead: m, pipeStates: PipeHydraulicState[], relativeHeadResidual: double, iterations: int, converged: bool, diagnostic: string


Public signature
export function pumpSystemCurve(NewtonianFluid fluid, PumpCurve pump, CircularPipe[] seriesPipes, Valve[] valves, m staticHead, acceleration gravity, volumetricFlow minimumFlow, volumetricFlow maximumFlow, int samples, double tolerance, int maximumIterations)->PumpSystemCurveResult

Parameters: fluid: NewtonianFluid, pump: PumpCurve, seriesPipes: CircularPipe[], valves: Valve[], staticHead: m, gravity: acceleration, minimumFlow: volumetricFlow, maximumFlow: volumetricFlow, samples: int, tolerance: double, maximumIterations: int


Public signature
export record PumpSystemCurveResult(public double[] flows, public double[] pumpHeads, public double[] systemHeads, public double operatingFlow, public double operatingHead, public bool withinRange, public bool stable, public string diagnostic)

Parameters: flows: double[], pumpHeads: double[], systemHeads: double[], operatingFlow: double, operatingHead: double, withinRange: bool, stable: bool, diagnostic: string


Public signature
export function quadraticPump(string name, m shutoffHead, double headCoefficient)->PumpCurve

Parameters: name: string, shutoffHead: m, headCoefficient: double


Public signature
export function rectangularNormalDepth(volumetricFlow flow, m width, double bedSlope, double manningRoughness, acceleration gravity, double tolerance, int maximumIterations)->OpenChannelState

Parameters: flow: volumetricFlow, width: m, bedSlope: double, manningRoughness: double, gravity: acceleration, tolerance: double, maximumIterations: int


Public signature
export function solveNonlinearPipeNetwork(NewtonianFluid fluid, PipeNetworkModel model, acceleration gravity, double tolerance, int maximumIterations)->NonlinearPipeNetworkResult

Parameters: fluid: NewtonianFluid, model: PipeNetworkModel, gravity: acceleration, tolerance: double, maximumIterations: int


Public signature
export function solveParallelNetwork(NewtonianFluid fluid, CircularPipe[] branches, Valve[] valves, m availableHead, acceleration gravity, double tolerance, int maximumIterations)->ParallelNetworkResult

Parameters: fluid: NewtonianFluid, branches: CircularPipe[], valves: Valve[], availableHead: m, gravity: acceleration, tolerance: double, maximumIterations: int


Public signature
export function solvePumpOperatingPoint(NewtonianFluid fluid, PumpCurve pump, CircularPipe[] seriesPipes, Valve[] valves, m staticHead, acceleration gravity, double tolerance, int maximumIterations)->PumpOperatingPoint

Parameters: fluid: NewtonianFluid, pump: PumpCurve, seriesPipes: CircularPipe[], valves: Valve[], staticHead: m, gravity: acceleration, tolerance: double, maximumIterations: int


Fluids.valve

function
Public signature
export function valve(string name, double lossCoefficient)->Valve

Parameters: name: string, lossCoefficient: double


Public signature
export record Valve(public string name, public double lossCoefficient)

Parameters: name: string, lossCoefficient: double


Documentation version

Language 1.0.0, compiler 1.0.0, runtime 1.0.0. This reference is generated from the official SS documentation so package and language details stay consistent with the release.