Engineering

Overview

Engineering calculations form the computational backbone of design, analysis, and optimization across mechanical, chemical, civil, electrical, and environmental disciplines. From fluid mechanics and thermodynamics to photovoltaics and process control, these tools leverage specialized Python libraries to solve problems that demand precision, industry-standard correlations, and validated property databases.

Fluid Mechanics encompasses the largest collection of engineering tools, addressing pipe flow, compressible flow, control valves, and two-phase systems. The fluids library provides battle-tested implementations of industry correlations like the Colebrook equation for friction factors, the Panhandle equations for natural gas pipelines, and IEC 60534 standards for control valve sizing. Whether calculating Reynolds numbers for regime classification, sizing orifice plates for flow measurement, or determining pressure drops through fittings, these tools handle both laminar and turbulent regimes with appropriate methods automatically selected based on dimensionless parameters.

For friction factor calculations, use FRICTION_FACTOR as the primary entry point—it automatically selects the optimal correlation (Clamond, Colebrook, Churchill, or Haaland) based on Reynolds number and relative roughness. Specialized correlations like BLASIUS (smooth turbulent flow) or MOODY are available when specific methods are required. Compressible flow tools handle gas transmission through pipelines with methods ranging from theoretical ISOTHERMAL_GAS to empirical formulas like WEYMOUTH_FLOW and PANHANDLE_B. Stagnation properties, critical flow conditions, and polytropic efficiency conversions are all available.

Control valve calculations follow IEC 60534 standards for both liquid and gas service, including flow coefficient conversions (Cv, Kv, Av), characteristic curves (linear, equal percentage, quick opening), cavitation and choked flow detection, and noise prediction per IEC 60534-8-3 (gas) and IEC 60534-8-4 (liquid). Use SIZE_CV_LIQUID and SIZE_CV_GAS for valve sizing, and IS_CHOKED_LIQ or IS_CHOKED_GAS to detect critical flow conditions.

Dimensionless numbers characterize flow regimes and similarity: Reynolds number, Froude number for open channel flow, Bond number for surface tension effects, and specialized parameters like Dean number for curved pipes. Drag calculations provide 20+ correlations for sphere drag coefficients optimized for different Reynolds number ranges, from Stokes flow (Re < 1) to high-Re turbulent regimes. The general DRAG_SPHERE function selects appropriate correlations automatically, while terminal velocity and settling calculations support particle separation design.

Figure 1: Representative engineering calculations: (A) Moody diagram showing Darcy friction factor versus Reynolds number for various pipe roughness ratios, with distinct laminar (f=64/Re) and turbulent regimes. (B) Photovoltaic I-V characteristic curve illustrating current-voltage relationship and maximum power point for solar cell performance analysis.

Flow meters implement differential pressure calculations per ISO 5167 for orifice plates, venturi tubes, and flow nozzles. Tools calculate discharge coefficients, expansibility factors, and non-recoverable pressure drops. Fittings and valves provide loss coefficients (K-factors) for bends, contractions, expansions, and various entrance/exit conditions based on Crane TP-410 and Idelchik correlations. Atmospheric calculations include the US Standard Atmosphere 1976 model and the NRLMSISE-00 model for temperature, pressure, and density at altitude.

Photovoltaic calculations leverage the pvlib-python library for solar energy system design and analysis. Calculate solar position (azimuth, elevation, zenith) for any location and time, determine irradiance components on tilted surfaces accounting for beam, diffuse, and ground-reflected radiation, and model PV module performance using the single-diode equation via I_FROM_V or simplified PVWatts DC models. The CEC model parameters adjust cell performance for temperature and irradiance variations, critical for accurate energy yield predictions.

These engineering tools bridge the gap between spreadsheet accessibility and programmatic power, providing validated implementations of industry standards that would be error-prone to implement manually.

Fluids

Atmosphere

Tool Description
AIRMASS Calculate the mass of air per square meter in the atmosphere along a given angle using a density profile.
ATMOS_NRLMSISE00 Compute temperature, density, and pressure using the NRLMSISE-00 atmospheric model.
ATMOSPHERE_1976 Calculate standard atmospheric properties at a given altitude using the US Standard Atmosphere 1976 model.

Compressible

Tool Description
FRITZSCHE_FLOW Calculate gas flow rate using the Fritzsche formula.
IGT_FLOW Calculate gas flow rate using the IGT (Institute of Gas Technology) formula.
IS_CHOKED_FLOW Determine if a flow is choked (critical) based on pressure ratio.
ISENTROPIC_EFF Convert between isentropic and polytropic efficiency for compression.
ISENTROPIC_T_RISE Calculate the temperature rise for isentropic compression or expansion.
ISENTROPIC_WORK Calculate work of compression or expansion for a gas in an isentropic process.
ISOTHERMAL_GAS Calculate mass flow rate for isothermal compressible gas flow in a pipe.
ISOTHERMAL_WORK Calculate work of compression or expansion for a gas in an isothermal process.
MULLER_FLOW Calculate gas flow rate using the Muller formula.
P_CRITICAL_FLOW Calculate critical flow pressure for a fluid at Mach 1.
P_STAGNATION Calculate stagnation pressure from static conditions.
PANHANDLE_A Calculate gas flow rate in a pipeline using the Panhandle A formula.
PANHANDLE_B Calculate gas flow rate in a pipeline using the Panhandle B formula.
POLYTROPIC_EXP Calculate polytropic exponent or polytropic efficiency for compression.
STAGNATION_ENERGY Calculate the increase in enthalpy due to fluid velocity.
T_CRITICAL_FLOW Calculate critical flow temperature for a fluid at Mach 1.
T_STAG_IDEAL Calculate ideal stagnation temperature from velocity and heat capacity.
T_STAGNATION Calculate stagnation temperature from pressure ratio.
WEYMOUTH_FLOW Calculate gas flow rate in a pipeline using the Weymouth formula.

Control Valve

Tool Description
CV_CAV_INDEX Calculates the cavitation index of a control valve.
CV_CHAR_EQ_PERC Calculates the flow coefficient characteristic for an equal percentage control valve.
CV_CHAR_LINEAR Calculates the flow coefficient characteristic for a linear control valve.
CV_CHAR_QUICK_OP Calculates the flow coefficient characteristic for a quick opening control valve.
CV_CHOKE_PRESS_GAS Calculates the pressure at which choked flow occurs in a gas control valve.
CV_CHOKE_PRESS_LIQ Calculates the pressure at which choked flow occurs in a liquid control valve.
CV_CONVERT_COEFF Converts between different flow coefficient scales (Kv, Cv, Av).
CV_NOISE_GAS_2011 Calculate the A-weighted sound pressure level for gas flow through a control valve per IEC 60534-8-3 (2011).
CV_NOISE_LIQ_2015 Calculates the sound made by a liquid flowing through a control valve according to the standard IEC 60534-8-4 (2015) using fluids.control_valve.control_valve_noise_l_2015.
FF_CRIT_PRESS_L Calculates FF, the liquid critical pressure ratio factor, for use in IEC 60534 liquid valve sizing calculations using fluids.control_valve.FF_critical_pressure_ratio_l.
IS_CHOKED_GAS Determines if a gas flow in a control valve is choked (critical) or not according to IEC 60534.
IS_CHOKED_LIQ Determines if a liquid flow in a control valve is choked (critical) or not according to IEC 60534.
LOSS_COEFF_PIPING Calculates the sum of loss coefficients for reducers/expanders around a control valve.
REYNOLDS_FACTOR Calculates the Reynolds number factor FR for a valve according to IEC 60534.
REYNOLDS_VALVE Calculates the Reynolds number of a control valve according to IEC 60534.
SIZE_CV_GAS Calculates flow coefficient of a control valve passing a gas according to IEC 60534 using fluids.control_valve.size_control_valve_g.
SIZE_CV_LIQUID Calculates the flow coefficient (Kv) of a control valve passing a liquid according to IEC 60534.

Dimensionless

Tool Description
ARCHIMEDES Calculate the Archimedes number (Ar) for a fluid and particle.
BEJAN Compute the Bejan number (length-based or permeability-based).
BIOT Calculate the Biot number for heat transfer.
BOILING Calculate the Boiling number (Bg), a dimensionless number for boiling heat transfer.
BOND Calculate the Bond number (Bo), also known as the Eötvös number (Eo).
CAPILLARY Calculate the Capillary number (Ca) for a fluid system using fluids.core.Capillary.
CAVITATION Calculate the Cavitation number (Ca) for a flowing fluid.
CONFINEMENT Calculate the Confinement number (Co) for two-phase flow in a channel.
DEAN Calculate the Dean number (De) for flow in a curved pipe or channel.
DRAG Calculate the drag coefficient (dimensionless) for an object in a fluid.
ECKERT Calculate the Eckert number using fluids.core.Eckert.
EULER Calculate the Euler number (Eu) for a fluid flow.
FOURIER_HEAT Calculate the Fourier number for heat transfer.
FOURIER_MASS Calculate the Fourier number for mass transfer (Fo).
FROUDE Calculate the Froude number (Fr) for a given velocity, length, and gravity.
FROUDE_DENSIMETRIC Calculate the densimetric Froude number.
GRAETZ_HEAT Calculate the Graetz number.
GRASHOF Calculate the Grashof number.
HAGEN Calculate the Hagen number.
JAKOB Calculate the Jakob number for boiling fluid.
KNUDSEN Calculate the Knudsen number.
LEWIS Calculate the Lewis number.
MACH Calculate the Mach number.
MORTON Calculate the Morton number.
NUSSELT Calculate the Nusselt number.
OHNESORGE Calculate the Ohnesorge number.
PECLET_HEAT Calculate the Peclet number for heat transfer.
PECLET_MASS Calculate the Peclet number for mass transfer.
POWER_NUMBER Calculate the Power number for an agitator.
PRANDTL Calculate the Prandtl number.
RAYLEIGH Calculate the Rayleigh number.
RELATIVE_ROUGHNESS Calculate the relative roughness.
REYNOLDS Calculate the Reynolds number.
SCHMIDT Calculate the Schmidt number.
SHERWOOD Calculate the Sherwood number.
STANTON Calculate the Stanton number.
STOKES_NUMBER Calculate the Stokes number.
STROUHAL Calculate the Strouhal number.
SURATMAN Calculate the Suratman number.
WEBER Calculate the Weber number.

Drag

Tool Description
CD_ALMEDEIJ Calculate drag coefficient of a sphere using the Almedeij correlation.
CD_BARATI Calculate drag coefficient of a sphere using the Barati correlation.
CD_BARATI_HIGH Calculate drag coefficient of a sphere using the Barati high-Re correlation (valid to Re=1E6).
CD_CEYLAN Calculate drag coefficient of a sphere using the Ceylan correlation.
CD_CHENG Calculate drag coefficient of a sphere using the Cheng correlation.
CD_CLIFT Calculate drag coefficient of a sphere using the Clift correlation.
CD_CLIFT_GAUVIN Calculate drag coefficient of a sphere using the Clift-Gauvin correlation.
CD_ENGELUND Calculate drag coefficient of a sphere using the Engelund-Hansen correlation.
CD_FLEMMER_BANKS Calculate drag coefficient of a sphere using the Flemmer-Banks correlation.
CD_GRAF Calculate drag coefficient of a sphere using the Graf correlation.
CD_HAIDER_LEV Calculate drag coefficient of a sphere using the Haider-Levenspiel correlation.
CD_KHAN_RICH Calculate drag coefficient of a sphere using the Khan-Richardson correlation.
CD_MIKHAILOV Calculate drag coefficient of a sphere using the Mikhailov-Freire correlation.
CD_MORRISON Calculate drag coefficient of a sphere using the Morrison correlation.
CD_MORSI_ALEX Calculate drag coefficient of a sphere using the Morsi-Alexander correlation.
CD_ROUSE Calculate drag coefficient of a sphere using the Rouse correlation.
CD_SONG_XU Calculate drag coefficient of a particle using the Song-Xu correlation for spherical and non-spherical particles.
CD_STOKES Calculate drag coefficient of a sphere using Stokes law (Cd = 24/Re).
CD_SWAMEE_OJHA Calculate drag coefficient of a sphere using the Swamee-Ojha correlation.
CD_TERFOUS Calculate drag coefficient of a sphere using the Terfous correlation.
CD_YEN Calculate drag coefficient of a sphere using the Yen correlation.
DRAG_SPHERE Calculate the drag coefficient of a sphere using various correlations based on Reynolds number.
SPHERE_FALL_DIST Calculate distance traveled by a falling sphere after a given time.
SPHERE_VEL_AT_T Calculate the velocity of a falling sphere after a given time.
TIME_V_TERMINAL Calculate time for a particle in Stokes regime to reach terminal velocity.
V_TERMINAL Calculate terminal velocity of a falling sphere using drag coefficient correlations.

Filters

Tool Description
RND_EDGE_GRILL Calculate the loss coefficient for a rounded edge grill or perforated plate.
RND_EDGE_MESH Calculate the loss coefficient for a round edged open net or screen mesh.
RND_EDGE_SCREEN Calculate the loss coefficient for a round edged wire screen or bar screen.
SQ_EDGE_GRILL Calculate the loss coefficient for a square edged grill or perforated plate.
SQ_EDGE_SCREEN Calculate the loss coefficient for a square edged wire screen, bar screen, or perforated plate.

Fittings

Tool Description
BEND_MITER Calculate the loss coefficient (K) for a single-joint miter bend in a pipe.
BEND_ROUNDED Calculate the loss coefficient (K) for a rounded pipe bend (elbow) using various methods.
CONTRACTION_ROUND Calculate the loss coefficient (K) for a rounded pipe contraction (reducer).
CONTRACTION_SHARP Calculate the loss coefficient (K) for a sharp edged pipe contraction (reducer).
CV_TO_K Convert imperial valve flow coefficient (Cv) to loss coefficient (K).
DIFFUSER_CONICAL Calculate the loss coefficient (K) for a conical pipe expansion (diffuser).
DIFFUSER_SHARP Calculate the loss coefficient (K) for a sudden pipe expansion (diffuser).
ENTRANCE_ANGLED Calculate the loss coefficient (K) for an angled sharp entrance to a pipe flush with a reservoir wall.
ENTRANCE_BEVELED Calculate the loss coefficient (K) for a beveled or chamfered entrance to a pipe flush with a reservoir wall.
ENTRANCE_ROUNDED Calculate the loss coefficient (K) for a rounded entrance to a pipe flush with a reservoir wall.
ENTRANCE_SHARP Calculate the loss coefficient (K) for a sharp entrance to a pipe flush with a reservoir wall.
EXIT_NORMAL Calculate the loss coefficient (K) for a normal pipe exit discharging into a reservoir.
HELIX Calculate the loss coefficient (K) for a helical coil pipe section.
K_BALL_VALVE Calculate the loss coefficient (K) for a ball valve using the Crane method.
K_BUTTERFLY_VALVE Calculate the loss coefficient (K) for a butterfly valve using the Crane method.
K_GATE_VALVE Calculate the loss coefficient (K) for a gate valve using the Crane method.
K_GLOBE_VALVE Calculate the loss coefficient (K) for a globe valve using the Crane method.
K_SWING_CHECK_VALVE Calculate the loss coefficient (K) for a swing check valve using the Crane method.
K_TO_CV Convert loss coefficient (K) to imperial valve flow coefficient (Cv).
K_TO_KV Convert loss coefficient (K) to metric valve flow coefficient (Kv).
KV_TO_K Convert metric valve flow coefficient (Kv) to loss coefficient (K).
SPIRAL Calculate the loss coefficient (K) for a spiral coil pipe section.

Flow Meter

Tool Description
DIFF_PRESS_BETA Calculate the beta ratio (diameter ratio) for a differential pressure flow meter.
DIFF_PRESS_C_EPS Calculate discharge coefficient and expansibility factor for differential pressure flow meters.
DIFF_PRESS_DP Calculate non-recoverable pressure drop across a differential pressure flow meter.
FLOW_METER_DISCH Calculate mass flow rate through a differential pressure flow meter based on measured pressures and meter geometry.
ORIFICE_DISCHARGE_C Calculate the discharge coefficient for an orifice plate using the Reader-Harris-Gallagher correlation (ISO 5167 standard).
ORIFICE_EXPAND Calculate the expansibility factor for an orifice plate based on geometry and pressure conditions.
ORIFICE_PRESS_DROP Calculate non-recoverable pressure drop across an orifice plate based on geometry and discharge coefficient.

Friction

Tool Description
BLASIUS Calculates Darcy friction factor for turbulent flow in smooth pipes using the Blasius correlation.
CHURCHILL Calculate Darcy friction factor using the Churchill (1977) universal equation for all flow regimes.
CLAMOND Calculate Darcy friction factor using Clamond’s high-precision solution accurate to nearly machine precision.
COLEBROOK Calculate Darcy friction factor using exact solution to the Colebrook equation.
DP_GRAV Calculate gravitational pressure drop component for single-phase flow in inclined pipes.
FF_CURVED Calculate friction factor for fluid flowing in a curved pipe or helical coil, supporting both laminar and turbulent regimes.
FP_MARTIN Calculate Darcy friction factor for single-phase flow in Chevron-style plate heat exchangers using Martin (1999) correlation.
FP_MULEY_MANGLIK Calculate Darcy friction factor for single-phase flow in Chevron-style plate heat exchangers using Muley-Manglik correlation.
FRICTION_FACTOR Calculate the Darcy friction factor for fluid flow in a pipe using various correlations, automatically selecting appropriate method based on Reynolds number and relative roughness.
FRICTION_LAMINAR Calculate the Darcy friction factor for laminar flow using the theoretical solution fd = 64/Re.
FT_CRANE Calculate the Crane fully turbulent Darcy friction factor for flow in commercial pipe.
HAALAND Calculate Darcy friction factor using the Haaland (1983) approximation.
HELICAL_RE_CRIT Calculate the transition Reynolds number for fluid flowing in a curved or helical pipe between laminar and turbulent flow.
MOODY Calculate Darcy friction factor using the Moody (1947) correlation.
ONE_PHASE_DP Calculate single-phase pressure drop in a pipe using the Darcy-Weisbach equation.
SWAMEE_JAIN Calculate Darcy friction factor using the Swamee-Jain (1976) equation.
TRANS_FACTOR Convert between Darcy friction factor and transmission factor for compressible gas pipeline flow.
VON_KARMAN Calculate Darcy friction factor for rough pipes at infinite Reynolds number from the von Karman equation.

Heat Transfer

Boiling

Tool Description
QMAX_BOILING Nucleate boiling critical heat flux (CHF).

Conduction

Tool Description
CYL_HT Heat transfer through a cylindrical wall (pipes, vessels).
K_TO_THERMAL_RES Convert thermal conductivity to thermal resistivity.
THERMAL_RES_TO_K Convert thermal resistivity to thermal conductivity.

Convection

Tool Description
NU_CONV_INT Nusselt number for internal convection in a circular pipe.
NU_CYL_EXT Nusselt number for crossflow over a single cylinder (Churchill-Bernstein).
NU_DITTUS_BOELTER Internal convection Nusselt number using Dittus-Boelter.

Hx

Tool Description
EFF_NTU Solve heat exchanger using the Effectiveness-NTU method.
LMTD Log-mean temperature difference.

Insulation

Tool Description
CP_MATERIAL Heat capacity of building, insulating, or refractory materials.
K_MATERIAL Thermal conductivity of building, insulating, or refractory materials.
LIST_MATERIALS List all valid material IDs for property lookups.
NEAREST_MATERIAL Find the nearest material ID hit for a search term.
RHO_MATERIAL Density of building, insulating, or refractory materials.

Radiation

Tool Description
BLACKBODY_RAD Spectral radiance of a blackbody.
Q_RAD Radiant heat flux of a surface.

Photovoltaics

Tool Description
CALCPARAMS_CEC Calculate five CEC model parameters for the single diode equation at given irradiance and cell temperature.
I_FROM_V Calculate the device current at a given device voltage for a PV cell/module using the single diode model.
IRRADIANCE Calculate the plane of array irradiance components on a tilted surface using PVLib.
PVWATTS_DC Calculate the DC power output of a PV module using the PVWatts DC model.
SOLARPOSITION Calculate solar azimuth, elevation, and apparent zenith for given times and location.

Thermodynamics

Tool Description
CHEMICAL_PROPS Retrieve physical and thermodynamic properties for a chemical specimen.
HA_PROPS_SI Calculate humid air properties using CoolProp psychrometrics.
MIXTURE_FLASH Perform a flash calculation for a chemical mixture and return key properties.
MIXTURE_STRING Create a formatted CoolProp mixture string from component fluids and mole fractions.
PHASE_SI Identify the phase of a fluid at a given state using CoolProp.
PROPS_SI Calculate thermophysical properties of fluids using CoolProp.