Calculation review checklists
A reproducible review sheet for a single engineering calculation, for study groups and colleagues. These are calculation checks, not operational procedures or approval criteria.
- Record the case name, date, original data source and intended decision.
- Identify the equation version, assumptions and each input unit before substituting values.
- Compare order of magnitude and a limiting case with an independent calculation.
- Save the case, export a report where available and download a browser backup; share the file rather than relying on local browser memory.
Coupled PR Vapor-Liquid-Liquid-Wax Flash Calculator
- Enter an overall four-component mole feed summing to one. Every component must be at least 0.01 and C18 cannot exceed 0.6. The displayed water/hydrocarbon interaction parameter is supplied, not inferred from salinity or an assay. All hydrocarbon/hydrocarbon kij values are explicitly zero. The parameter table freezes the Chemicals 1.5.2 values used by the pinned Thermo 0.6.0 runtime; no live property database is queried.
- For a trial amount s of pure C18 crystal, calculate the remaining feed (z-s*e18)/(1-s) and run a fresh PR fluid stability search for at most one vapor and two liquids. Close the scalar solid affinity with a bracketed root, or accept zero crystal only when its complementarity inequality holds. Thermo FlashVLN's solids argument is not used: the separate outer equilibrium couples the crystal amount explicitly.
- Audit all fluid fugacities and EOS pressures, the depleted-fluid balance, the full feed-plus-crystal balance, solid complementarity and sampled total Gibbs objective. Additional multistart tangent-plane minimizations look for a lower fluid phase. Rejected roots, phase conditioning or stability checks produce an error with no partial allocation. Liquid 1 is the water-richer returned liquid, not a hard-coded pure-water bucket.
- Read all amounts on the original one-mole feed basis. Four phases are possible but never forced; warmer or undersaturated feeds can have no crystal, and a fluid phase can disappear. The component chart shows allocations rather than phase compositions. Numerical equilibrium within the stated model is not laboratory or field validation.
- Calculation stays in a dedicated local WebAssembly worker. The scientific engine is downloaded only on calculation; CFD additionally loads the existing hash-verified 178 KB finite-element package. No composition or field is sent to a calculation server. Save stores canonical inputs in this browser. Download its file backup from Saved work to protect it from browser-storage loss or share it with colleagues; reopening recalculates with the current formulas. CSV/PDF retain reported profiles and assumptions; the separate field CSV retains displayed CFD field samples.
Check: The synthetic default feed is 0.30 propane, 0.10 n-heptane, 0.25 water and 0.35 n-octadecane at 285 K and 0.3 MPa(a), with supplied water kij=0.48. It gives about 0.269553359 mol crystal per mole of feed and three coexisting fluid phases. Repeating at 300 K removes the crystal in this model. These are reproducible model cases, not measured wax precipitation data.
Scope: 280-315 K and 0.1-1 MPa absolute; propane/n-heptane/water/n-octadecane only. One vapor, at most two PR liquids and one pure C18 crystal. This is not an arbitrary-composition commercial VLLS simulator.
Full sources and limits: https://www.petrocalchub.com/workflows/coupled-pr-vlls-wax-flash
Finite-Inertia Eccentric Annular Navier-Stokes CFD Calculator
- Specify one uniform annulus, constant Newtonian viscosity and density, rotating inner wall and constant axial pressure drive. Offset is centre displacement divided by Ro-Ri. The radius ratio must be 0.3-0.8 and normalized offset 0-0.6. At least one drive must be nonzero. Rotational Re=rho*omega*Ri*(Ro-Ri)/mu must not exceed 10 before the solver loads.
- Solve a mixed finite-element system for both cross-sectional velocities, axial velocity and pressure. The nonlinear convective coefficient is updated iteratively; no independent axial/rotational superposition is used. Skew convection supports a mechanical energy audit. The pressure gauge fixes one degree of freedom and must not be interpreted as an absolute-pressure boundary condition.
- Compare 6x48 and 10x80 radial/angular annular meshes. Reject flow or torque refinement change above 2.5%, failed nonlinear or residual checks, or a combined nodal-speed Reynolds screening number above 20. Polygonal boundary and discretization errors are included in that numerical comparison; it is not a rigorous error bound or a flow-stability proof.
- Inspect the axial velocity, speed and relative-pressure fields, then compare narrow/wide gap profiles. Field samples come from the solved P2 velocity nodes and interpolated P1 pressure, not a fabricated image. Field CSV exports the displayed samples. Main CSV/PDF retain the gap profiles and all stated assumptions. Increase density within the supported domain to exercise inertia; use zero offset for analytical concentric checks.
- Calculation stays in a dedicated local WebAssembly worker. The scientific engine is downloaded only on calculation; CFD additionally loads the existing hash-verified 178 KB finite-element package. No composition or field is sent to a calculation server. Save stores canonical inputs in this browser. Download its file backup from Saved work to protect it from browser-storage loss or share it with colleagues; reopening recalculates with the current formulas. CSV/PDF retain reported profiles and assumptions; the separate field CSV retains displayed CFD field samples.
Check: The synthetic default has Ri=0.05 m, Ro=0.10 m, 40% eccentricity, viscosity 0.05 Pa.s, density 1000 kg/m3, rotation 0.1 rad/s and G=0.5 Pa/m over 1 m. It returns about 0.0000602936614 m3/s axial flow, 0.000233914127 N.m drive torque and 0.0000535382434 W combined power. Rotational Re is 5 and the flow/torque mesh change is about 0.369%. Setting eccentricity to zero permits comparison with analytical concentric axial flow, rotational torque and centrifugal pressure. These are verification configurations, not a drilling-fluid recommendation.
Scope: Steady, fully developed, isothermal, incompressible Newtonian flow on one 2-D cross-section with three velocity components. No axial variation except constant pressure gradient, no ends/inlet development and no moving mesh.
Full sources and limits: https://www.petrocalchub.com/workflows/inertial-eccentric-annular-cfd
Mixed-Gas Hydrate Onset and Cage Occupancy Calculator
- Supply a fixed methane-rich guest gas (methane at least 0.8), absolute pressure and water activity relative to pure liquid water at the same temperature and pressure. Fractions sum exactly to one; an inhibitor weight percentage is not a water activity. Present components are at least 0.001. Pure methane is also accepted for the independent limiting case.
- At every trial temperature require stable single-phase guest gas, evaluate PR fugacity and compare both cage structures. Return only a bracketed root with chemical-potential residual below 1e-8 RT. A structure whose onset is below freezing is reported through the model boundary rather than assigned an invented temperature. The selected hydration number follows both cavity populations and their empty sites, not a fixed water-to-gas ratio.
- Interpret temperature minus onset as an equilibrium temperature difference. Negative values favor the selected hydrate relative to the specified gas and liquid-water reference. They do not predict blockage, hydrate mass, formation rate, a safe inhibitor dose or how much water is available. A positive computed difference is not an engineering safety margin.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: For the illustrative 0.90/0.05/0.02/0.02/0.01 CH4/C2/C3/CO2/N2 gas, 5 MPa(a) and aw=1, the selected sII onset is about 287.264214 K with hydration number 6.367966. At 290 K the equilibrium temperature difference is +2.735786 K. These are model results, not laboratory observations.
Scope: 273.15-303.15 K, 3-10 MPa(a), water activity 0.8-1; fixed CH4-rich gas only. Condensation, failed gas stability and unbracketed onset fail explicitly.
Full sources and limits: https://www.petrocalchub.com/workflows/mixed-gas-hydrate-onset
Peng-Robinson Fluid Phase-Envelope Continuation Calculator
- Enter a normalized two-or-more-component C1-C6 feed. The engine uses unmodified, version-pinned CoolProp 8 PR continuation rather than solving independent saturation temperatures on a rectangular grid. Both branches must reach below the declared 0.1 MPa(a) plotting floor and exchange density order once in the critical neighborhood.
- Reconstruct the incipient composition at every returned node, then correct the complete equilibrium equations. Native near-critical interpolation is a starting point, never an exemption from fugacity or EOS checks. Reject extra branch switches, collapsed roots, unsupported domains or a correction that leaves its continuation neighborhood. No failed node is silently omitted or replaced by a straight line.
- Read the bubble and dew curves as fluid-only EOS predictions. The critical point lies in the displayed crossing-temperature bracket; it is not the maximum pressure or temperature. Reported trace maxima depend on native point spacing and are explicitly not converged cricondentherm or cricondenbar solves. Compare measured saturation and critical data before adopting an EOS model.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: The default 0.50/0.15/0.15/0.10/0.05/0.05 C1-C6 feed gives a maximum traced temperature about 379.292804 K and maximum traced pressure about 11.565069 MPa(a). The native and independent critical-point calculations are checked separately; exact point count and crossing bracket can differ between native and WASM floating-point continuation paths.
Scope: C1-C6 only, all kij=0, classical PR without volume translation. This is not a tuned composition/interaction regression, water association model or arbitrary multi-liquid phase topology.
Full sources and limits: https://www.petrocalchub.com/workflows/peng-robinson-phase-envelope
Nonideal Two-Wax Multisolid Equilibrium Calculator
- Supply mole fractions of a liquid solvent and the two specified pure waxes, with at least half the feed as solvent. Volumes and Hildebrand parameters are user-supplied constant liquid properties. The default values illustrate a calculation and are not claimed as measured solvent/crude characterization. Pressure must maintain the solvent as liquid over the whole interval.
- At 31 temperatures minimize one liquid plus two independently permitted pure crystals. Check species conservation and chemical-potential complementarity, including stability of an absent crystal. Enforce a sufficient global liquid convexity bound so a locally converged single-liquid result is not mislabeled as stable when the chosen regular-solution parameters could demix.
- C18 uses the matched 301.5 K / 61.500 kJ/mol row and C20 the 309.6 K / 69.000 kJ/mol row in NIST, both attributed to Barbillon et al. The constant-fusion-enthalpy approximation neglects heat-capacity differences. Separate crystal amounts are moles per original feed mole, while reported liquid compositions are normalized within the remaining liquid, not per feed.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: At 275 K the illustrative 0.60/0.20/0.20 feed and default supplied properties gives 0.313892178 mol total solid per initial mole: 0.136655479 C18 and 0.177236698 C20. Both crystals dissolve as temperature increases; the model checks each phase's disappearance instead of retaining a negative solid inventory.
Scope: 250-330 K, increasing interval no wider than 60 K. The sufficient convexity gate deliberately rejects some potentially solvable cases; it is not an LLE solver.
Full sources and limits: https://www.petrocalchub.com/workflows/nonideal-multisolid-wax-equilibrium
Coupled Concentric Helical Herschel-Bulkley Flow Calculator
- Supply concentric geometry, pressure gradient, angular speed and an isothermal time-independent HB fit. The inner wall rotates without axial translation and the outer wall is stationary. Use a measured consistency/yield stress on the same shear-rate basis; density enters only the conservative inertia screen, not an assumed turbulent correction.
- Solve both no-slip integrals with the combined stress magnitude. Refine quadrature from 256 to 512 nodes and require flow and torque changes below 0.2%. Reconstruct both wall velocities with adaptive quadrature. Enforce pressure-work plus shaft-work equality with integrated constitutive dissipation, so a sign or torque-unit error cannot pass as a valid result.
- Unyielded locations follow the combined invariant, not separate axial and rotational yield radii. The combined screening Reynolds number must stay below one; this protects the creeping approximation but is not a complete Taylor-vortex criterion. Nonconverged high-yield or poorly conditioned cases fail without partial results. Compare the Newtonian and pure-rotation limits before considering more complicated geometry.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: For Ri=0.05 m, Ro=0.10 m, K=2 Pa.s^n, n=0.7, yield stress 5 Pa, omega=0.1 rad/s and G=100 Pa/m, the coupled flow is about 1.56554e-7 m3/s and torque about 0.116757855 N.m per metre. Total input power is about 0.011691441 W per metre, including both pressure and shaft work.
Scope: Steady, concentric, uniform annulus, 0.2<=Ri/Ro<=0.9. Fully developed creeping flow, no end losses or axial wall motion.
Full sources and limits: https://www.petrocalchub.com/workflows/coupled-helical-herschel-bulkley
Eccentric Helical HB Creeping-Flow FEM Calculator
- Supply offset normalized by radial clearance; zero is concentric and values up to 0.7 retain an open narrow gap. The inner wall rotates around its own displaced centre. The mixed finite-element system solves two cross-sectional velocities, axial velocity and pressure together, with no slip on both cylinders and one pressure gauge.
- Use a regularized HB invariant rather than declaring exact yielded/unyielded cells. Refine the annular triangular mesh and compare volume flow and torque; separately increase the Papanastasiou parameter. A returned solution must satisfy the nonlinear residual, weak incompressibility and boundary-reaction mechanical power balance. Refinement failures are errors, not warnings attached to unconverged values.
- The velocity plot samples the narrow and wide radial gaps. Axial and transverse coupling is retained through the viscosity invariant, and work from the rotating wall is extracted from nodal reactions, not a concentric torque formula. Concentric Newtonian analytical results and the separate coupled HB quadrature tool provide independent limiting-case checks; neither constitutes measured eccentric-drilling validation.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: The default case uses 40% eccentricity, K=2 Pa.s^0.8, yield stress 1 Pa, 0.1 rad/s rotation and 150 Pa/m axial drive. Inputs are illustrative, not field data. Set eccentricity to zero and compare flow/torque with the concentric coupled solver at the same rheology; set n=1 and yield stress to zero for the independent Newtonian limit.
Scope: Fully developed, isothermal creeping regularized HB, stationary outer cylinder. No exact plug-boundary claim, no turbulent correction or full Taylor stability analysis.
Full sources and limits: https://www.petrocalchub.com/workflows/eccentric-helical-hb-fem
Single-Phase Pipe Water-Hammer Transient Calculator
- Supply absolute reservoir and vapor pressures, wave speed and a Darcy friction factor. Initial pressure decreases along the horizontal pipe by the steady friction loss. The downstream boundary is a prescribed mean-velocity reduction to zero, not a valve opening percentage or a Cv equation; the two boundary conditions must not be confused.
- Integrate incoming characteristics at Courant one on 100 and 200 uniform segments. Compare pressure histories at common physical times and require the maximum difference below 3% of the instantaneous Joukowsky rise. Check pressure at every node and timestep before reducing export samples. If any node reaches the supplied vapor pressure, reject the entire single-phase prediction rather than allowing unphysical negative absolute pressure.
- Compare the zero-friction instantaneous-closure case with rho*a*V and wave return time 2L/a. Finite closure and friction modify the waveform. Displayed extrema cover only the simulated horizon; they are not a guaranteed design envelope for a real valve, surge protection or piping system. Pressure reflections require the actual reservoir and boundary conditions to match the model.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: For the default 1,000 m pipe, rho=1,000 kg/m3, wave speed 1,000 m/s and initial velocity 0.5 m/s, instantaneous Joukowsky rise is 0.5 MPa and round-trip travel time 2 s. With f=0.02 and 0.5 s linear velocity closure, the simulated maximum absolute pressure is about 2.497782 MPa and minimum about 1.523260 MPa.
Scope: One horizontal uniform pipe with constant density/wave speed, V/a<0.01 and quasi-steady Darcy friction. No branches, variable diameter or arbitrary terminal equipment.
Full sources and limits: https://www.petrocalchub.com/workflows/single-phase-pipe-water-hammer
Formation Thermal History, Shut-In and Restart Calculator
- Select one axial segment with an initially uniform wellbore and formation temperature. Supply constant formation conductivity and volumetric heat capacity, the total wellbore heat capacity per length, and an effective interface conductance per length. The heat input is a net source after any axial effects have been assessed outside this model; it is not an inlet fluid temperature or circulating mass rate.
- Solve 40 and 80 logarithmically spaced cylindrical finite volumes coupled to wellbore storage. Apply heat for the first duration, zero input during shut-in, then the same heat rate on restart. A matrix exponential advances each segment without smearing the switching times. Check total stored wellbore-plus-rock energy against the integrated source at every returned time.
- Require outer radius beyond eight diffusion lengths over the entire history and at least five well radii, keeping the insulated boundary away from the thermal disturbance. Return only if wellbore temperature refinement stays below 0.1 K and temperatures stay within 200-600 K. The shut-in response retains prior rock heating rather than resetting the formation or applying a steady-state heat-loss factor.
- Calculations remain local in a dedicated WebAssembly worker. The existing self-hosted scientific engine is about 33 MB raw on first use; the envelope additionally loads the pinned CoolProp engine and eccentric flow loads a 178 KB FEM package. Nothing is downloaded until calculation. No composition, heat history or measurements are sent to a calculation server. Save retains canonical input values; file backup can be shared with colleagues, while CSV/PDF retain samples, assumptions and sources. Browser storage alone can be lost.
Check: With rw=0.1 m, k=2.5 W/(m.K), formation heat capacity 2.5 MJ/(m3.K), wellbore capacity 50,000 J/(m.K), H=50 W/(m.K) and +100 W/m for 24 h / shut-in 24 h / restart 24 h, the default wellbore warms from 300 K to about 311.732495 K, cools to 302.084492 K, then reaches 312.975423 K. These are synthetic verification inputs.
Scope: One local axial segment, uniform initial state and constant properties. No axial advection, geothermal gradient, full circulating well profile, casing-layer resolution or phase change.
Full sources and limits: https://www.petrocalchub.com/workflows/formation-thermal-history
Four-Cut Gamma C7+ Characterization and PR Flash Calculator
- Enter the C7+ fraction's measured molar-average molecular weight and petroleum SG at 60/60 F. Enter six light-component mole fractions and C7+ on one recombined molar basis; they must sum to one. Choose a gamma shape as a distribution assumption, not a hidden fit to an assay that has not been supplied.
- Solve the conditional mean for the shifted gamma scale over 100-300 g/mol. Integrate four equal-probability quantile intervals and calculate each interval's exact first-moment representative MW. This application-specific truncation is disclosed: it cannot represent a heavy tail beyond 300 g/mol. Reject a requested mean that cannot be attained at the selected shape.
- Estimate each cut's critical and boiling properties using the same SG and pinned MW-SG/Edmister procedure as the single-lump baseline. Apply the common methane/heavy interaction parameter and flash all ten components together. PT-only heavy reference gauges cancel at fixed temperature and are not a physical heat-capacity model; caloric calculations require the separate explicit-Cp tool.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: The synthetic M=200 g/mol, SG=0.85, alpha=2 case gives gamma scale 74.404780 g/mol and retains 0.749154 of the unconditioned distribution. Four cut MWs are approximately 136.442335, 177.812721, 217.856210 and 267.888735 g/mol; their equal-mole average is 200. At 350 K, 2 MPa and the default feed, kij=0 gives vapor mole fraction 0.821171 and bulk density 39.684753 kg/m3. This is a model comparison, not a measured assay.
Scope: A deliberately bounded four-cut approximation over 100-300 g/mol, not a complete Whitson C7-to-C80 assay. Every cut uses the same supplied 60/60 F SG. Reject an unbracketed mean, retained gamma probability below 1e-6, Tb>=Tc or omega outside 0-1. Shape does not determine aromaticity or a measured carbon-number distribution.
Full sources and limits: https://www.petrocalchub.com/workflows/gamma-c7-plus-flash
Heavy-End PR Interaction Parameter PVT Fit Calculator
- Supply 4-40 unique absolute-pressure observations at one measured temperature and the same recombined feed composition. Use equilibrium vapor mole fraction strictly between 0.001 and 0.999. Do not mix production gas-oil ratios, mass quality or data from different feeds into this fit. Example observations are synthetic independent-engine data, not a laboratory sample.
- Hold the conditional gamma distribution, shared cut SG, critical-property correlation and all other interaction pairs fixed. Evaluate a coarse bounded kij grid, then minimize the vapor-mole-fraction residuals with SciPy's bounded least-squares solver. This narrow one-parameter fit does not silently optimize molecular distribution, density correction or a caloric curve.
- Reject a bound-active or insensitive solution, failed phase audits, or vapor-fraction RMSE above 0.1. The sensitivity norm describes local responsiveness, not a statistical confidence interval. Inspect individual residuals and test pressures excluded from the fit before using the fitted kij for predictions; a good residual on training points is not a validation data set.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: The default observations are a synthetic 350 K six-pressure isotherm generated by the independent NeqSim 3.26 engine with kij=0.07. Holdout pressures of 1.5, 3.5 and 5.5 MPa are kept separate from fitting. The resulting parameter is close to 0.07, subject to the two libraries' documented rounded PR-constant differences; no experimental accuracy is implied.
Scope: A deliberately bounded four-cut approximation over 100-300 g/mol, not a complete Whitson C7-to-C80 assay. Every cut uses the same supplied 60/60 F SG. Reject an unbracketed mean, retained gamma probability below 1e-6, Tb>=Tc or omega outside 0-1. Shape does not determine aromaticity or a measured carbon-number distribution.
Full sources and limits: https://www.petrocalchub.com/workflows/heavy-end-pvt-calibration
Four-Cut C7+ Heat-Duty and Isenthalpic Flash Calculator
- Use the same conditional gamma inputs as the PT tool, then supply an independently justified ideal-gas C7+ heat-capacity fit valid over the entire 180-450 K calculation interval. A measured liquid Cp is not interchangeable with ideal-gas Cp. The default linear fit is synthetic. Molecular-weight scaling assumes equal mass-specific ideal-gas Cp across all four cuts.
- Evaluate the fully audited inlet PT equilibrium, then form the molar enthalpy target from prescribed specific heat and feed molecular weight. The six real species use pinned native ideal-gas functions; heavy cuts use the supplied fit. Add each phase's PR departure enthalpy and apply the phase lever rule. Species reference offsets cancel because the total feed composition is unchanged.
- At the lower or equal outlet pressure, require an increasing enthalpy bracket on a 25-point 180-450 K grid. Use a bounded Brent root and enforce an absolute energy residual below 0.0001 J/mol. Zero q is isenthalpic, not isothermal; heating and cooling can change both temperature and the phase split.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: For the synthetic four-cut feed at 5 MPa and 330 K, expanding to 1 MPa with q=0 and C7+ Cp0(300 K)=300 J/(mol.K), slope=0.6 J/(mol.K^2), gives outlet T about 302.352656 K and vapor mole fraction 0.764602. These outputs depend on that explicit synthetic caloric assumption; they are not properties inferred from SG and MW alone.
Scope: A deliberately bounded four-cut approximation over 100-300 g/mol, not a complete Whitson C7-to-C80 assay. Every cut uses the same supplied 60/60 F SG. Reject an unbracketed mean, retained gamma probability below 1e-6, Tb>=Tc or omega outside 0-1. Shape does not determine aromaticity or a measured carbon-number distribution.
Full sources and limits: https://www.petrocalchub.com/workflows/gamma-c7-plus-energy-flash
Expanded Gas and Isomer PR Flash Calculator
- Enter eleven feed mole fractions on one molar basis and make their sum one. Include isomers in their own slots; do not add iC4 to nC4 or confuse nitrogen/CO2/H2S with a gas-gravity approximation. This dry mixture tool searches vapor plus one liquid only; water is not an accepted feed species.
- Use the pinned ChemSep PR kij wherever that exact pair has an entry. A missing entry is not a verified zero: the calculation lists each active missing pair and applies the common user coefficient explicitly. This common assumption is a sensitivity input, not a substitute for pair-specific laboratory fitting. Available coefficients are not overwritten by the missing-pair setting.
- Inspect vapor and liquid compositions, component allocations and mass versus mole fractions. CO2/H2S/N2 change mixture behavior through real species parameters and the disclosed interactions, rather than through a universal sour-gas correction. H2S inclusion is a property calculation, never a sour-service handling or safety judgment.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: At 300 K and 2 MPa the synthetic eleven-species feed gives vapor mole fraction about 0.749351 and bulk density 41.024947 kg/m3. Database interactions are used where available and missing dry pairs use the explicit zero assumption. The example demonstrates composition and interaction handling, not a calibrated sour-gas PVT test.
Scope: Classical PR, no volume translation, at most one vapor and one liquid phase, 180-450 K, 0.1-10 MPa(a). Fixed component list only. No heavy ends, reactions, ionic species, adsorption, wax or hydrates. Numerical stability search is not proof of stability against arbitrary additional phases.
Full sources and limits: https://www.petrocalchub.com/workflows/expanded-gas-pr-flash
Wet-Mixture Three-Phase PR Screening Calculator
- Enter twelve feed mole fractions on one molar basis and make their sum one. Include isomers in their own slots; do not add iC4 to nC4 or confuse nitrogen/CO2/H2S with a gas-gravity approximation. Include at least 0.001 water; this workflow can search vapor plus two PR liquid phases.
- Use the pinned ChemSep PR kij wherever that exact pair has an entry. A missing entry is not a verified zero: the calculation lists each active missing pair and applies the common user coefficient explicitly. This common assumption is a sensitivity input, not a substitute for pair-specific laboratory fitting. Available coefficients are not overwritten by the missing-pair setting.
- A multi-liquid stability search can find an additional water-rich phase in the synthetic example. Ordinary PR with quadratic mixing is not a calibrated water-activity or association model. Varying a common water interaction is a numerical exploration only; no brine, electrolyte, acid-gas chemistry, hydrate onset or water-content accuracy is claimed. Do not infer phase identity solely from the liquid number.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: The synthetic 320 K, 2 MPa feed includes 0.08 water and uses assumed k_water=0.5 for missing water pairs, plus database values where available. The PR search finds three phases, vapor mole fraction about 0.777603 and bulk density 36.867696 kg/m3. This demonstrates a checked three-phase calculation, not measured water/hydrocarbon phase accuracy.
Scope: Classical PR, no volume translation, at most one vapor and two liquid phases, 280-450 K, 0.1-10 MPa(a). Fixed component list only. No heavy ends, reactions, ionic species, adsorption, wax or hydrates. Numerical stability search is not proof of stability against arbitrary additional phases.
Full sources and limits: https://www.petrocalchub.com/workflows/wet-mixture-pr-flash
Peng-Robinson Isentropic Expansion and Compression Calculator
- Enter a fully defined inlet PT feed and an outlet absolute pressure. The pressure may increase for a reversible compression reference or decrease for expansion. The fluid remains the same fixed overall composition; no separated vapor is removed along the entropy path.
- Compute the inlet equilibrium entropy, then bracket the outlet entropy residual over 180-450 K and check an increasing 25-point grid. Solve with Brent and require residual below 1e-6 J/(mol.K). A single-point entropy constraint does not imply a real machine is reversible, dry or mechanically appropriate.
- Calculate ideal shaft work from the checked equilibrium enthalpy difference. This work convention is positive into the fluid. Compare with the heat-duty flash only after recognizing that equal entropy and equal enthalpy are different processes; a throttling valve is not an isentropic expander.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: For the default C1-C6 feed at 5 MPa and 330 K expanding reversibly to 2 MPa, the PR outlet is about 299.140628 K with work into the fluid -47.415138 kJ/kg and vapor mole fraction 0.745643. This is an ideal reference calculation, not a prediction of actual turbine performance.
Scope: Six components C1-C6, normal C4-C6, classical PR and all kij=0. No water, isomers, sour gas, heavy fractions, reactions, solids or volume translation. Use the expanded-mixture tools for their explicitly supported alternatives, not by inserting a new species in these fixed feed slots.
Full sources and limits: https://www.petrocalchub.com/workflows/peng-robinson-isentropic-flash
Hydrocarbon Bubble and Dew Pressure Band Calculator
- Choose an increasing temperature interval no wider than 100 K and the C1-C6 feed. Software pressure bounds still apply to both endpoints at every temperature, so a broad band can fail even when a familiar PT flash is valid. Start with a narrow interval away from criticality.
- At fifteen temperatures, independently request bubble and dew equilibrium from the proven flash engine. Check fugacity equality, PR pressure, incipient-phase compositions and feed allocation. Zero phase allocation at a saturation endpoint is deliberate; it is not a failed ordinary split with a hidden clipped fraction.
- Require separated roots, bubble pressure greater than dew pressure and no missing points. This conservative band excludes retrograde or ambiguous branches. The plot joins sampled endpoint values for inspection, not for assigning a phase or tracing an uncomputed critical region.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: At the low end of the synthetic 280-290 K band, the 280 K PR bubble pressure is about 9.242807 MPa and dew pressure is 0.126019 MPa. These widely separated endpoints are for the same overall feed. Temperatures below this band can put the dew pressure below the tool's 0.1 MPa lower limit; the tool reports that failure rather than omitting it.
Scope: Six components C1-C6, normal C4-C6, classical PR and all kij=0. No water, isomers, sour gas, heavy fractions, reactions, solids or volume translation. Use the expanded-mixture tools for their explicitly supported alternatives, not by inserting a new species in these fixed feed slots.
Full sources and limits: https://www.petrocalchub.com/workflows/hydrocarbon-bubble-dew-band
Three-Stage Hydrocarbon Separator Train Calculator
- Enter the original C1-C6 feed and three strictly decreasing absolute pressures with three prescribed equilibrium temperatures. This is a PT separator train, not three adiabatic valves. Stage 1 defines the original equilibrated feed state; its upstream heater/cooler duty is outside the calculation boundary.
- Flash stage 1, remove its vapor stream and carry the liquid composition and molar flow to stage 2. Repeat for stage 3. Require a resolved vapor/liquid split at each stage; no all-vapor stream is silently treated as liquid carry. Each stage is checked against its actual changed feed composition.
- Compute interstage conditioning heat using each incoming liquid's enthalpy on the common species reference. Compare total released vapor plus final liquid component moles with the original feed. Report heat per original feed mass, not per final liquid mass or per stage feed mass; the sample table states its molar denominators explicitly.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: For the synthetic default 5/2/0.5 MPa and 330/300/280 K train, total vapor recovery is about 0.809756 mol per original feed mole and final liquid is 0.190244. Interstage conditioning removes about 28.787578 kJ/kg of original feed. Component and energy residuals are checked; this is not an equipment design or measured recovery test.
Scope: Six components C1-C6, normal C4-C6, classical PR and all kij=0. No water, isomers, sour gas, heavy fractions, reactions, solids or volume translation. Use the expanded-mixture tools for their explicitly supported alternatives, not by inserting a new species in these fixed feed slots.
Full sources and limits: https://www.petrocalchub.com/workflows/three-stage-separator-train
Coupled Hydrocarbon Thermal and Pressure Profile Calculator
- Define the uniform pipe, fully specified C1-C6 inlet PT mixture and total mass flow. Phase compositions, mass quality, densities and enthalpy are recalculated locally as pressure and temperature change. Prescribe U on the pipe's inside area, constant surroundings and a Darcy factor; these are closure assumptions, not automatically derived two-phase heat-transfer or friction correlations.
- Choose signed inclination: positive uphill, negative downhill, zero horizontal. The homogeneous equilibrium model forces both phases to share one velocity and temperature, but still changes vapor mass fraction and density with local PT equilibrium. It is not the constant-liquid/ideal-gas model used in the simpler pressure-only comparison.
- Balance pressure plus phase momentum flux against friction and holdup-weighted gravity. Balance static enthalpy plus mass-weighted kinetic energy against external heat and elevation. Friction converts mechanical to internal energy inside this balance; it must not be counted a second time as external heat. Solve bounded implicit steps and require the pressure/energy Jacobian to remain safely conditioned.
- Integrate at 10 and 20 equal intervals, compare coincident stations and reject differences above 0.002 MPa or 0.05 K. Require overall momentum residual below 0.2 Pa and energy residual below 0.02 J/kg. Each returned phase state also passes the independent PR audits. The table retains pressure, temperature, void fraction, velocity, energy and source gradients so the calculation can be reviewed outside the browser.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: For the synthetic horizontal 50 m case at 5 MPa/330 K, D=0.1 m, mass=1 kg/s, surroundings=300 K, U=100 W/(m2.K) and Darcy=0.02, outlet pressure is about 4.999219 MPa and temperature 320.425659 K. A short near-zero pressure drop does not imply zero heat transfer: about 39.1614 kJ/kg is removed.
Scope: Six components C1-C6, normal C4-C6, classical PR and all kij=0. No water, isomers, sour gas, heavy fractions, reactions, solids or volume translation. Use the expanded-mixture tools for their explicitly supported alternatives, not by inserting a new species in these fixed feed slots.
Full sources and limits: https://www.petrocalchub.com/workflows/hydrocarbon-thermal-pressure-profile
Slip-Aware Hydrocarbon Thermal Pressure Profile Calculator
- Define the uniform pipe, fully specified C1-C6 inlet PT mixture and total mass flow. Phase compositions, mass quality, densities and enthalpy are recalculated locally as pressure and temperature change. Prescribe U on the pipe's inside area, constant surroundings and a Darcy factor; these are closure assumptions, not automatically derived two-phase heat-transfer or friction correlations.
- Use a measured or separately justified constant drift distribution coefficient and upward drift speed for vertical co-current flow. The local vapor mass rate follows equilibrium phase change, not a fixed inlet gas rate. Convert mass fractions to superficial velocities and solve the stated drift relation for void fraction; phase velocities affect both momentum flux and kinetic energy. C0=1 and vd=0 recover the no-slip model at the same vertical inclination.
- Balance pressure plus phase momentum flux against friction and holdup-weighted gravity. Balance static enthalpy plus mass-weighted kinetic energy against external heat and elevation. Friction converts mechanical to internal energy inside this balance; it must not be counted a second time as external heat. Solve bounded implicit steps and require the pressure/energy Jacobian to remain safely conditioned.
- Integrate at 10 and 20 equal intervals, compare coincident stations and reject differences above 0.002 MPa or 0.05 K. Require overall momentum residual below 0.2 Pa and energy residual below 0.02 J/kg. Each returned phase state also passes the independent PR audits. The table retains pressure, temperature, void fraction, velocity, energy and source gradients so the calculation can be reviewed outside the browser.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: The synthetic default vertical 50 m case (5 MPa, 330 K, D=0.1 m, 1 kg/s, U=100 W/(m2.K), surroundings 300 K, Darcy 0.02, C0=1.2, vd=0.2 m/s) gives outlet about 4.898130 MPa and 319.951783 K. These are prescribed-closure screening results, not a calibrated well model.
Scope: Six components C1-C6, normal C4-C6, classical PR and all kij=0. No water, isomers, sour gas, heavy fractions, reactions, solids or volume translation. Use the expanded-mixture tools for their explicitly supported alternatives, not by inserting a new species in these fixed feed slots.
Full sources and limits: https://www.petrocalchub.com/workflows/hydrocarbon-slip-thermal-profile
Hydrocarbon Homogeneous Equilibrium Critical Mass Flux Calculator
- Enter an equilibrium stagnation PT feed and a lower search pressure below 0.8 times the stagnation pressure. This lower value defines the numerical search interval; it is not automatically the actual backpressure or an assurance that the throat is bracketed.
- At each trial pressure solve a fully checked equal-entropy PR state. Convert molar enthalpy to J/kg before calculating available kinetic energy, velocity and mass flux. Phase change is homogeneous and instantaneously equilibrated. This is distinct from locating the EOS critical point, which is not the nozzle choking condition.
- Locate the largest of 31 sampled fluxes, require an interior bracket and refine the local maximum with a proven bounded optimizer. Test both neighboring pressures before returning the throat. An endpoint maximum or a failed entropy/phase query rejects the result; the tool never labels an unsearched low-pressure endpoint as choked.
- At every returned state independently re-evaluate classical PR pressure, log fugacity and residual enthalpy/entropy. Require component balance <=2e-7, log-fugacity mismatch <=2e-5 and relative pressure residual <=2e-6. Reject vanishing phase fractions below 1e-6 and density separation below 1.1 for ordinary splits. These are numerical checks, not measured-PVT validation.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: The synthetic default 5 MPa, 400 K C1-C6 stagnation state has a bounded PR equilibrium maximum around 2.952383 MPa, 370.116736 K and 10799.618 kg/(m2.s), with throat speed about 293.202929 m/s. This ideal flux excludes discharge losses and is not an installed relief-device capacity.
Scope: Six components C1-C6, normal C4-C6, classical PR and all kij=0. No water, isomers, sour gas, heavy fractions, reactions, solids or volume translation. Use the expanded-mixture tools for their explicitly supported alternatives, not by inserting a new species in these fixed feed slots.
Full sources and limits: https://www.petrocalchub.com/workflows/hydrocarbon-equilibrium-critical-flux
Ideal Single-Wax Solubility and Precipitation Calculator
- Supply one identified wax solute's melting temperature and fusion enthalpy, with its initial mole fraction in a noncrystallizing ideal solvent. The default pair is the specific 309.6 K/69 kJ per mole NIST-listed eicosane measurement, not an average assembled from different references. Literature values vary; choose a consistent pair for your intended substance.
- Use the established chemicals solubility function for the ideal liquid and pure solid with zero fusion heat-capacity correction. The negative sign makes solubility decrease on cooling below Tm; test the Tm limit where saturation tends to one. No pressure correction or liquid activity coefficient is inferred from a petroleum SG.
- If the initial solute fraction exceeds saturation, remove pure-solid moles while conserving the solvent and total solute. The remaining liquid composition is not the original feed composition. Report precipitated moles per original mole, not a mass fraction or a solids volume fraction; no density or molecular-weight conversion is hidden.
- Sweep 250-400 K and include the requested operating temperature explicitly. The analytical onset solves the same ideal relation, but may fall below the plotted interval for a dilute feed. There is no coupling to a vapor flash, multiparaffin solid solution, deposition kinetics, viscosity rise or plugging model.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: At 290 K the default eicosane fusion pair gives ideal saturation x about 0.1634. With initial wax fraction 0.30, some pure solid precipitates and the remaining liquid is at that saturation composition. The numbers are an ideal thermodynamic example, not an eicosane-in-crude solubility measurement.
Scope: Ideal one-solute liquid plus pure crystalline solid; constant Hfus, deltaCp=0 and negligible pressure dependence. No petroleum multicut wax, solid solutions, nonideal activity model, asphaltenes or vapor equilibrium. An ideal onset is not a measured crude-oil WAT.
Full sources and limits: https://www.petrocalchub.com/workflows/ideal-single-wax-solubility
Pure-Water Ice Ih Melting Temperature and Margin Calculator
- Enter absolute pure-water pressure and temperature. This tool covers the ice Ih/liquid boundary, not the water boiling curve or methane hydrate boundary. Pressure depresses the ice Ih melting temperature over this branch; a familiar 0 C atmospheric rule cannot simply be held fixed at high pressure.
- Invert the explicitly attributed IAPWS equation with a bounded Brent root on 251.165-273.16 K. The application restricts pressure to 0.1-200 MPa, below the ice Ih/ice III/liquid triple point near 208.566 MPa. Root residual is checked in pascals rather than silently rounded in MPa.
- Subtract the pressure-dependent melting temperature from the actual supplied temperature. Negative margin favors ice Ih relative to liquid at equilibrium, positive margin favors liquid; neither gives ice mass, freezing time or nucleation probability. Plot the same branch across the permitted pressure interval to show its direction.
- IAPWS gives about 2 percent uncertainty for melting pressure. The root solver can close much more tightly than the physical correlation uncertainty; that computational precision must not be interpreted as a certified operating safety margin. Salts and inhibitors change the boundary and require other data.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: At 10 MPa absolute, pure water melts below 273.16 K. Comparing a 273 K fluid temperature to that pressure-dependent root gives a positive margin, even though 273 K is slightly below the familiar atmospheric freezing temperature. The margin is not valid for seawater or inhibited produced water.
Scope: Pure ordinary water only; no brine, dissolved gas, methanol/glycol inhibition, gas hydrate, pore-size effects or ice polymorph beyond Ih. This model must not be used as a natural-gas hydrate prediction.
Full sources and limits: https://www.petrocalchub.com/workflows/pure-water-ice-melting-margin
Herschel-Bulkley Rotational Couette Torque Calculator
- Enter measured HB consistency, exponent and yield stress with concentric radii, wetted length and inner angular speed. The outer cylinder is fixed and there is no axial flow or pressure gradient. This is a rotational torque/velocity problem, not an eccentric drilling annulus pressure-loss correction.
- Integrate the exact azimuthal stress C/r squared and the HB inverse flow curve over the yielded region. Solve the no-slip angular-speed integral for C. When stress reaches yield before the outer cylinder, the remaining outer annulus is an unyielded stationary plug, not a moving liquid layer or a negative shear rate.
- Convert C into drive torque and power. Independently integrate stress times shear rate over the annular volume and require dissipation to match shaft power. In the zero-yield Newtonian limit recover the analytical circular Couette torque, rather than a narrow-gap approximation.
- Use a deliberately conservative rotational Reynolds screening value based on inner-wall apparent viscosity and require it <=1. This excludes inertial/Taylor-vortex effects but is not a complete stability theorem. The cited paper uses an outer rotating cup; relative rotation gives the same creeping shear/torque law, while velocity here is referenced to the fixed outer wall.
- Calculations run locally in a dedicated WebAssembly worker. The advanced Python/scientific engine is a roughly 33 MB first download, separate from ordinary calculators; it is self-hosted and version pinned. No composition or measurements are sent to a calculation server. Save and file backups retain canonical inputs, while CSV/PDF include returned tables and source notes. The worker is released after idle time and failures never return partial results.
Check: The synthetic case Ri=0.05 m, Ro=0.10 m, K=2 Pa.s^n, n=0.8, yield=5 Pa and Omega=0.1 rad/s describes slow inner-cylinder rotation over 1 m. The outer region can remain unyielded while the inner annulus shears. Setting yield=0 and n=1 recovers the exact Newtonian circular Couette solution; no drilling-flow prediction is implied.
Scope: Concentric steady creeping azimuthal HB flow only. No axial/helical flow, eccentricity, end effects, wall slip, cuttings, elasticity, thixotropy or temperature variation. Do not superpose this torque with axial HB pressure loss; nonlinear helical shear components are coupled.
Full sources and limits: https://www.petrocalchub.com/workflows/herschel-bulkley-rotational-couette
C7+ Characterization and PR Flash Calculator
- Use laboratory molar-average molecular weight and petroleum specific gravity for the C7+ fraction, not the entire recombined feed. Enter the six light-component mole fractions and the measured C7+ mole fraction on one consistent molar basis. All seven must sum to one without arbitrary normalization. The uncharacterized material is represented as one lump; normal hexane remains a separate real component.
- Estimate boiling temperature, critical temperature and critical pressure with the pinned NeqSim Riazi-Daubert MW-SG variant. This implementation uses molecular weight in g/mol, not kg/mol. Its rounded pressure conversion is retained for reproducibility. Select the explicit Edmister acentric approximation (calcAcentricFactor2), not the different Kesler-Lee routine. A known boiling point, molecular distribution or measured saturation pressure is not fitted or inferred from additional hidden data.
- Construct a distinct native cubic pseudocomponent with these properties, register it with CoolProp and solve the common-pressure/common-temperature PR equilibrium with C1-C6. Do not substitute hexane or a fixed normal alkane for the entire plus fraction. Re-evaluate PR pressure/fugacity using the actual estimated properties, then check material, molar-volume and mass-conversion identities just as for the light-component tools.
- The output separates estimated C7+ properties from the resulting equilibrium split. The seventh composition row and C7+ plot tick refer to this particular single lump, not to an individually identified molecule. Save/reopen and file backups retain M, SG and every fraction; rebuilding the pseudocomponent must reproduce the result. CSV retains all seven component allocations; the PDF also includes the characterization inputs.
Check: The synthetic feed at 350 K and 2 MPa has C1-C6 fractions 0.45/0.15/0.15/0.10/0.05/0.03 plus 0.07 C7+. For M=200 g/mol and SG=0.85, estimated Tc is 732.228116 K, Pc is 1.796624 MPa and Edmister omega is 0.784573. The equilibrium vapor mole fraction is about 0.823939. This is not a measured assay or evidence that one lump reproduces an actual C7+ distribution; SG informs the correlation but does not force the EOS liquid density to match a measured density.
Scope: One light-to-medium C7+ lump only: M=100-300 g/mol and SG=0.65-0.90. This is a deliberately restricted correlation use, not a universal heavy-oil/asphaltene characterization. Reject Tb>=Tc or omega outside 0-1. No fallback to Pedersen, multicut/gamma splitting, carbon-number distribution, volume translation, sulfur/aromatic calibration or measured-PVT matching.
Full sources and limits: https://www.petrocalchub.com/workflows/c7-plus-characterization-flash
Peng-Robinson Heat-Duty and Isenthalpic Flash Calculator
- Enter the inlet equilibrium pressure, temperature and C1-C6 mole fractions, then a lower or equal outlet absolute pressure and specific heat input. The entire feed is retained; this is a single equilibrium flash, not a train that removes vapor between stages. Positive q heats the fluid, negative q cools it. Zero q gives the PR isenthalpic throttling case; it does not hold temperature fixed. The synthetic default is not an operating recommendation.
- Calculate the fully checked inlet PT equilibrium and its molar enthalpy using the pinned native ideal-gas component functions plus cubic departure enthalpy. Mixture molecular weight converts specific heat from kJ/kg into J/mol. A two-phase enthalpy is a mole-fraction-weighted phase lever rule; native bulk and separately queried phase enthalpies must agree. Enthalpy reference offsets cancel only because the overall composition and reference convention are unchanged.
- At the specified outlet pressure, sample 25 temperatures from 180 to 450 K and require strictly increasing equilibrium enthalpy on that checked grid. Bracket the energy residual and use the existing fmin bisection solver, then enforce an absolute energy residual below 0.0001 J/mol. The monotonic grid is a numerical screening check, not a proof that every possible mixture has a unique physical PH root. An invalid trial flash or unbracketed target stops the calculation.
- Recalculate and fully audit the final outlet PT state, including material, fugacity, pressure and volume closure, before presenting its temperature and composition table. Single-phase results have no invented vapor quality. Temperature change is a temperature difference, not an absolute temperature. Saved work retains inlet conditions, outlet pressure, q and every feed fraction. The PDF includes the energy residual and phase allocations; CSV exports the component table.
Check: The synthetic PR case starts at 5 MPa and 330 K with fractions 0.50/0.15/0.15/0.10/0.05/0.05 and flashes to 1 MPa at q=0 kJ/kg. The solved outlet temperature is about 296.256406 K and vapor mole fraction is 0.840941, rather than holding temperature at 330 K. Add heat to compare evaporation, or remove heat to compare condensation within the accepted envelope. These uncalibrated demonstration values are not a measured separator benchmark.
Scope: C1-C6 only with normal C4-C6, zero binary interaction parameters, no volume translation and the pinned ideal-gas caloric functions. No C7+ heat-capacity assumption, wet/sour gas, arbitrary mixture, chemical reaction, multiple liquids or solid phase. Agreement with an independent implementation does not replace measured-PVT validation.
Full sources and limits: https://www.petrocalchub.com/workflows/peng-robinson-energy-flash
SRK Heat-Duty and Isenthalpic Flash Calculator
- Enter the inlet equilibrium pressure, temperature and C1-C6 mole fractions, then a lower or equal outlet absolute pressure and specific heat input. The entire feed is retained; this is a single equilibrium flash, not a train that removes vapor between stages. Positive q heats the fluid, negative q cools it. Zero q gives the SRK isenthalpic throttling case; it does not hold temperature fixed. The synthetic default is not an operating recommendation.
- Calculate the fully checked inlet PT equilibrium and its molar enthalpy using the pinned native ideal-gas component functions plus cubic departure enthalpy. Mixture molecular weight converts specific heat from kJ/kg into J/mol. A two-phase enthalpy is a mole-fraction-weighted phase lever rule; native bulk and separately queried phase enthalpies must agree. Enthalpy reference offsets cancel only because the overall composition and reference convention are unchanged.
- At the specified outlet pressure, sample 25 temperatures from 180 to 450 K and require strictly increasing equilibrium enthalpy on that checked grid. Bracket the energy residual and use the existing fmin bisection solver, then enforce an absolute energy residual below 0.0001 J/mol. The monotonic grid is a numerical screening check, not a proof that every possible mixture has a unique physical PH root. An invalid trial flash or unbracketed target stops the calculation.
- Recalculate and fully audit the final outlet PT state, including material, fugacity, pressure and volume closure, before presenting its temperature and composition table. Single-phase results have no invented vapor quality. Temperature change is a temperature difference, not an absolute temperature. Saved work retains inlet conditions, outlet pressure, q and every feed fraction. The PDF includes the energy residual and phase allocations; CSV exports the component table.
Check: The synthetic SRK case starts at 5 MPa and 330 K with fractions 0.50/0.15/0.15/0.10/0.05/0.05 and flashes to 1 MPa at q=0 kJ/kg. The solved outlet temperature is about 296.590299 K and vapor mole fraction is 0.842107, rather than holding temperature at 330 K. Add heat to compare evaporation, or remove heat to compare condensation within the accepted envelope. These uncalibrated demonstration values are not a measured separator benchmark.
Scope: C1-C6 only with normal C4-C6, zero binary interaction parameters, no volume translation and the pinned ideal-gas caloric functions. No C7+ heat-capacity assumption, wet/sour gas, arbitrary mixture, chemical reaction, multiple liquids or solid phase. Agreement with an independent implementation does not replace measured-PVT validation.
Full sources and limits: https://www.petrocalchub.com/workflows/srk-energy-flash
Peng-Robinson Hydrocarbon PT Flash Calculator
- Enter the mixture's equilibrium absolute pressure and temperature, then mole fractions for methane, ethane, propane, normal butane, normal pentane and normal hexane. Fractions must sum to one within 1e-10; percentages and mass fractions are not accepted as mole fractions. Set an omitted component to zero. At least two components must be present, each at 0.001 or greater. No heavy fraction is silently assigned the properties of hexane.
- Peng-Robinson uses the attractive denominator v squared plus 2bv minus b squared and its standard acentric-factor alpha function. The native CoolProp 8.0.0 library supplies its cubic component parameters and performs PT stability analysis followed by an equilibrium phase split when required. PR is not an ideal-gas law with a liquid fraction attached; the phase compositions feed back into the mixing rules and fugacity coefficients. All binary interaction parameters are explicitly zero, not tuned to a reservoir sample.
- A two-phase result contains liquid x and vapor y compositions, vapor mole fraction beta, vapor mass fraction, both phase densities and equilibrium bulk density. The component table separately shows the moles in each phase per mole of feed; adding those two allocation columns must reproduce the feed. The composition plot uses fixed C1-C6 labels, with normal isomers identified by nC4, nC5 and nC6. Zero components remain visible with zero allocations.
- Before returning a split, independently re-evaluate the cubic pressure equation and log fugacity coefficients at both returned phase densities. Enforce component material balance, equal fugacity, composition sums and the molar-volume lever rule. A stable single-phase result has feed composition and bulk density only: no absent-phase compositions or vapor quality are invented. The pinned native cubic phase flag is not used to assign a gas/liquid label because it mislabels some single-phase gas-density states.
- The engine is downloaded from this site's versioned static assets only when a flash is requested, then calculations run locally. Saved work and file backups retain canonical pressure, temperature and every feed fraction; reopening recalculates against the current version. CSV preserves the component table and canonical inputs, while PDF includes phase compositions, closure diagnostics, assumptions and sources. There is no account, uploaded composition or remote calculation service.
Check: The synthetic 280 K, 2 MPa feed has mole fractions 0.50 methane, 0.15 ethane, 0.15 propane, 0.10 n-butane, 0.05 n-pentane and 0.05 n-hexane. Peng-Robinson predicts beta about 0.657564, with a smaller vapor mass fraction because the vapor is enriched in lighter molecules. These are uncalibrated demonstration inputs, not a measured separator test.
Scope: Screening PT vapor-liquid equilibrium for mixtures of C1, C2, C3, nC4, nC5 and nC6 only, with conventional quadratic attraction/linear covolume mixing and kij=0. No isobutane/isopentane, C7+ pseudocomponents, water, CO2, H2S, nitrogen, brine, hydrates, wax, solids, adsorption or multiple liquid phases. Zero kij is a disclosed assumption, not a verified interaction fit for any particular sample.
Full sources and limits: https://www.petrocalchub.com/workflows/peng-robinson-compositional-flash
Soave-Redlich-Kwong (SRK) Hydrocarbon PT Flash Calculator
- Enter the mixture's equilibrium absolute pressure and temperature, then mole fractions for methane, ethane, propane, normal butane, normal pentane and normal hexane. Fractions must sum to one within 1e-10; percentages and mass fractions are not accepted as mole fractions. Set an omitted component to zero. At least two components must be present, each at 0.001 or greater. No heavy fraction is silently assigned the properties of hexane.
- SRK uses the attractive denominator v times (v+b), its own critical coefficients and Soave alpha function. It is a distinct cubic model, not Peng-Robinson with a different displayed label. Compare its phase split and liquid density with the linked PR tool at exactly the same composition and conditions. Agreement between two cubic models is a sensitivity comparison, not independent measured-PVT validation. All binary interaction parameters are explicitly zero.
- A two-phase result contains liquid x and vapor y compositions, vapor mole fraction beta, vapor mass fraction, both phase densities and equilibrium bulk density. The component table separately shows the moles in each phase per mole of feed; adding those two allocation columns must reproduce the feed. The composition plot uses fixed C1-C6 labels, with normal isomers identified by nC4, nC5 and nC6. Zero components remain visible with zero allocations.
- Before returning a split, independently re-evaluate the cubic pressure equation and log fugacity coefficients at both returned phase densities. Enforce component material balance, equal fugacity, composition sums and the molar-volume lever rule. A stable single-phase result has feed composition and bulk density only: no absent-phase compositions or vapor quality are invented. The pinned native cubic phase flag is not used to assign a gas/liquid label because it mislabels some single-phase gas-density states.
- The engine is downloaded from this site's versioned static assets only when a flash is requested, then calculations run locally. Saved work and file backups retain canonical pressure, temperature and every feed fraction; reopening recalculates against the current version. CSV preserves the component table and canonical inputs, while PDF includes phase compositions, closure diagnostics, assumptions and sources. There is no account, uploaded composition or remote calculation service.
Check: At 280 K and 2 MPa, the synthetic C1-C6 feed (0.50, 0.15, 0.15, 0.10, 0.05, 0.05) gives SRK beta about 0.658743. It differs from the linked PR result despite identical feed and operating conditions. Compare phase densities as well as vapor fraction; a close phase split does not imply equally accurate liquid volumes. This example is not a field benchmark.
Scope: Screening PT vapor-liquid equilibrium for mixtures of C1, C2, C3, nC4, nC5 and nC6 only, with conventional quadratic attraction/linear covolume mixing and kij=0. No isobutane/isopentane, C7+ pseudocomponents, water, CO2, H2S, nitrogen, brine, hydrates, wax, solids, adsorption or multiple liquid phases. Zero kij is a disclosed assumption, not a verified interaction fit for any particular sample.
Full sources and limits: https://www.petrocalchub.com/workflows/srk-compositional-flash
Yield-Stress Annular Laminar/Turbulent Friction Calculator
- Fit the complete yield-power-law rheogram first: measured yield stress, consistency K in Pa.s^n and fitted exponent n. Enter actual liquid flow, density, uniform geometry, roughness and eccentricity (center offset divided by radial clearance). The synthetic defaults are not a drilling-fluid recommendation. A nonzero yield stress must not be dropped or absorbed into a constant effective viscosity.
- Integrate the HB Rabinowitsch-Mooney equivalent-pipe flow curve exactly. Its local log slope n' depends on yield stress and operating rate, whereas fitted n is a material parameter. The standard stress integral uses tau squared, consistent with Maleki-Frigaard equations 5-6 and the Newtonian limit; AADE's printed equation 35 appears to contain a dimensionally inconsistent tau-cubed typographical error. This correction is our algebraic inference, not a published erratum. At each rate solve the local-slope/effective-diameter consistency problem using AADE equation 34. A 64/96-point quadrature refinement checks geometry.
- Use the equivalent-pipe laminar wall stress to construct generalized Reynolds number, then calculate laminar and roughness-aware turbulent Fanning factors. The larger is selected using the paper's branch rule. The stress used for this flow-curve construction is not either actual annulus-wall stress and is not a prediction of turbulent plug shape. The real hydraulic diameter D-d, not Deff, remains in the pressure-loss denominator.
- The 21-point sweep spans 0.5Q to 2Q, recalculating n', Deff and both friction factors at every rate. Downloaded samples retain both candidates and the selected branch. All sweep points must pass the unclamped local-index and conditioning limits; a yield-dominated point can therefore invalidate a sweep even when its central rate is acceptable. For exact concentric laminar yield surfaces, use the separate HB annulus workflow instead.
Check: The synthetic default uses D=0.2 m, d=0.1 m, Q=0.1 m3/s, K=0.2 Pa.s^n, n=0.8, yield=5 Pa, rho=1,200 kg/m3, e=0.5, roughness=0.00001 m and L=1,000 m. The local index is about 0.625571 rather than 0.8, and the turbulent branch is selected. Setting yield to zero recovers the existing power-law correlation, not a different roughness model.
Scope: Stationary uniform eccentric circular annulus, incompressible time-independent HB liquid. This is the generalized empirical AADE hydraulic method, not an exact eccentric HB solution or a field-calibrated turbulence closure. No rotation, skew, cuttings bed, elasticity, gas, wall slip, local/entrance losses, hydrostatic head or temperature-dependent rheology.
Full sources and limits: https://www.petrocalchub.com/workflows/yield-stress-annular-friction
Coupled Water-Steam Thermal and Pressure Profile Calculator
- Supply pure-water inlet absolute pressure and specific static enthalpy, total mass flow and a uniform circular pipe. Enthalpy, not an ambiguous saturation temperature alone, determines the liquid/steam split. Enter distance along flow and inclination from horizontal: positive uphill, negative downhill. The solver uses Pa and J/kg internally; displayed MPa and kJ/kg are converted explicitly.
- Choose a Darcy friction factor and overall U based on the pipe inside area. These are prescribed closure inputs, not automatic two-phase friction/boiling correlations or recommended values. U represents total resistance to the specified constant surroundings; do not add formation resistance twice. U=0 gives adiabatic flow. The geothermal Ramey history model is separate and is not silently coupled to this constant-surroundings calculation.
- At every integration stage, solve the local IAPWS pressure-enthalpy state and update temperature, density and phase fraction. In the two-phase region both phases share saturation temperature and velocity. Solve momentum and total energy together, including changing kinetic energy and signed elevation. The same calculation can cool/condense steam, heat/boil water, or flash water as pressure falls, provided the entire trajectory remains inside the accepted envelope.
- Integrate again at tighter tolerance and compare 51 stations. Independently accumulate external heat, friction and gravitational pressure terms, then check integrated total-energy and momentum identities before returning results. The CSV includes pressure, temperature, enthalpy, vapor mass fraction, density, velocity, heat and IF97 phase-region code. A point lying on the saturation-temperature curve is not by itself proof of high steam quality.
Check: The synthetic upward case starts at 2 MPa and 900 kJ/kg in a 0.1 m pipe, at 5 kg/s over 200 m, with 550 K surroundings, U=100 W/(m2.K), Darcy fD=0.02 and 90-degree uphill flow. It enters as liquid, then flashes/boils into equilibrium wet steam while pressure and saturation temperature fall. The predicted outlet vapor mass fraction is about 0.07606; the result is not a measured geothermal-well benchmark.
Scope: Steady one-dimensional pure-water homogeneous equilibrium screening model: equal phase velocities and instantaneous thermal/phase equilibrium. No hydrocarbon composition flash, salts/brine, dissolved/noncondensable gas, slip/holdup correlation, metastable nucleation delay, severe slugging, countercurrent flow or reservoir coupling. This is not a general petroleum PVT/production-well simulator.
Full sources and limits: https://www.petrocalchub.com/workflows/water-steam-thermal-pressure-profile
Eccentric Power-Law Annular Pressure Loss Calculator
- Enter actual annular volume flow, stationary circular geometry, measured power-law K and n, liquid density, absolute roughness and interval length. Eccentricity is the center offset divided by (D-d)/2: zero is concentric. K has dimensions Pa.s^n and is not a constant Newtonian viscosity unless n equals one. Do not discard a nonzero fitted HB yield stress to use this power-law tool. The example parameters are synthetic, not a recommended drilling-fluid formulation.
- The concentric laminar power-law solution retains curvature and balances velocity from both walls. Homogeneous scaling gives its gradient at the entered rate. Multiply this laminar gradient by the published eccentricity ratio R, then recover the effective diameter by enforcing fL*ReG=16 and equation 26. This is algebraically equivalent to the paper's power-law effective diameter, rather than applying a Newtonian effective viscosity to an eccentric gap.
- Solve the roughness-extended Dodge-Metzner equation for the turbulent Fanning factor, and select the larger laminar or turbulent factor as prescribed by AADE. The result warning identifies the selected branch. The effective diameter controls Reynolds number and relative roughness; the actual hydraulic diameter D-d still controls the pressure-loss denominator. Multiplying the final turbulent loss directly by the laminar ratio R would be incorrect.
- The flow sweep covers 0.25 to 2 times the entered rate at fixed geometry, rheology and length. Its CSV includes both candidate Fanning factors, the selected factor and the branch code. The entire sweep must pass the numerical envelope. No radial velocity field is claimed in the eccentric or turbulent geometry; use the exact concentric laminar tool only when its separate assumptions hold.
Check: The synthetic default has D=0.2 m, d=0.1 m, Q=0.03 m3/s, K=0.2 Pa.s^n, n=0.6, rho=1,200 kg/m3, e=0.5, roughness=0.00001 m and L=1,000 m. Both branch losses are reported separately; the larger determines friction loss. Setting e=0 restores the concentric correlation. In laminar flow, reducing Q by a factor of two reduces loss by 2^n, not necessarily by two.
Scope: Power-law, time-independent incompressible liquid in a stationary uniform eccentric annulus. No yield stress/Herschel-Bulkley extrapolation, pipe rotation, cuttings bed, wall slip, gas, thermal feedback, local/entrance losses or hydrostatic head. This is friction-only, not a complete standpipe-pressure, ECD, hole-cleaning or well-control design.
Full sources and limits: https://www.petrocalchub.com/workflows/eccentric-power-law-annular-pressure-loss
Ramey Wellbore Liquid Temperature Profile Calculator
- Set liquid inlet temperature, an undisturbed formation temperature at the same location, and the formation gradient along the direction of flow. A downward injection case normally has positive G; an upward production case normally has negative G. For an inclined straight interval, project the geothermal gradient onto distance along flow before entering it. All temperature inputs are absolute kelvin, while G is a temperature difference per metre.
- Separate wellbore and formation thermal resistance. Enter U based on the tubing inside radius, including the appropriate fluid film, tubing, annulus, casing and completion resistances but not the formation term added here. Set the outer thermal-interface radius consistently; if cement is included in U, this can be the cement outside radius. The tool does not design U or infer completion materials. Synthetic defaults are examples, not recommended heat-transfer coefficients.
- Convert elapsed operating days to seconds, check alpha*t/r_w^2 >= 100, then evaluate the paper's long-time line-source function. The implementation additionally requires at least seven days. These conservative software gates restrict an asymptotic approximation; elapsed time alone does not prove that a particular formation has reached the appropriate thermal regime.
- Evaluate the analytical liquid temperature at 51 stations using cancellation-resistant exponentials. Independently integrate its differential energy balance and compare all stations before accepting output. Net heat gained by the liquid is signed: it may cool near the inlet and heat farther down a warmer formation. The CSV retains local heat to formation per unit length and cumulative net liquid heat gain. U=0 explicitly gives an insulated, constant-temperature liquid.
Check: The synthetic case uses liquid at 300 K, inlet formation at 290 K, G=0.03 K/m, 2,000 m of travel, 5 kg/s, cp=4,200 J/(kg.K), r_i=0.03 m, r_w=0.1 m, U=20 W/(m2.K), formation k=2.5 W/(m.K), alpha=0.000001 m2/s and 30 days. Dimensionless time is 259.2. The liquid initially cools toward the colder formation, then warms as the background increases downstream. This is a model demonstration, not a measured well-temperature history.
Scope: Ramey's approximate single-phase incompressible-liquid case at one fixed operating time, with constant flow rate, heat capacity, U and formation thermal properties. Radial formation conduction and quasi-steady wellbore heat transfer; linear geothermal background along one uniform interval. It does not solve an early-time thermal transient or arbitrary injection/shut-in history.
Full sources and limits: https://www.petrocalchub.com/workflows/ramey-liquid-temperature-profile
Beggs-Brill Inclined Gas-Liquid Pressure Drop Calculator
- Enter actual local gas and liquid mass rates, measured phase densities and viscosities, gas-liquid surface tension and absolute pressure at the same operating state. The tool does not convert standard gas volume, stock-tank oil or dissolved gas to local conditions. Inclination is measured from horizontal, positive uphill and negative downhill. Both phases must move together in the specified direction through a smooth circular pipe.
- Use no-slip liquid fraction and mixture Froude number to select segregated, transition, intermittent or distributed horizontal-reference map regions. In transition, interpolate between separately inclination-corrected segregated and intermittent holdups. Do not interpolate only the horizontal values before applying one correction. The result warning names the map regime, and CSV includes its numeric code. The map is not a direct prediction of the observed inclined bubble/slug/annular pattern.
- Use horizontal holdup no smaller than the no-slip fraction. Apply direction-specific inclination coefficients, including zero uphill correction for distributed flow. The intermittent coefficient uses -0.4473 on the liquid-velocity number, as in the two inspected reference implementations. Reject holdup outside (0,1), rather than silently clipping an invalid empirical result. Downhill inclination can give holdup below the no-slip fraction.
- Solve smooth-pipe Colebrook friction with the no-slip density/viscosity, then apply the Beggs-Brill two-phase multiplier and primitive acceleration denominator. This implementation accepts only turbulent no-slip Reynolds numbers >=4,000. Pressure and component changes are linear local-property estimates over the entered short segment; if absolute pressure change exceeds 10% of local pressure, shorten the segment and update properties. It is not a long-well integrated pressure traverse.
Check: The independent Fluids example uses 0.6 kg/s total mass, gas mass fraction 0.1, liquid density 915 kg/m3, gas density 2.67 kg/m3, viscosities 0.000180 and 0.000014 Pa.s, surface tension 0.0487 N/m, pressure 10 MPa, diameter 0.05 m and horizontal flow. Over 1 m its published pressure loss is 686.9724506803469 Pa. This is a reference software example, not field validation. The app defaults use a different synthetic 10 m uphill case.
Scope: Empirical smooth-pipe co-current gas/liquid correlation. Constant local phase density, viscosity and surface tension; no oil/water emulsion, flashing, thermal change, roughness extension, countercurrent flow, choking, terrain-slug dynamics, severe slugging or automatic measured-data calibration. No Payne/Palmer correction or NeqSim thermodynamic engine is included.
Full sources and limits: https://www.petrocalchub.com/workflows/beggs-brill-inclined-pressure-drop
Herschel-Bulkley Annular Pressure Loss Calculator
- Use measured dynamic Herschel-Bulkley parameters at the modeled temperature, shear history and solids loading. K is in Pa.s^n, not a Newtonian viscosity in Pa.s; its dimensions change with n. The synthetic defaults are a numerical example, not a recommended mud. A rheology fit supplies parameters but does not verify laminar flow or concentric geometry.
- For each trial pressure gradient the solver locates the two yield surfaces and matches the velocities obtained from the inner and outer stationary walls. Between these surfaces the liquid translates as an unsheared plug. The signed shear stress changes within the plug. This retains the cylindrical geometry rather than using a narrow-slot or equivalent-viscosity shortcut.
- A second bracketed solve matches actual volume flow to the requested rate. Adaptive integration is repeated at tighter tolerance; requested-rate and two-wall residuals must pass before results appear. The reported ideal yield-onset gradient is a mathematical no-flow threshold, not a gel-breaking pressure or a transient restart prediction.
- Read friction-only loss, the plug boundaries, wall shear rates and radial velocity profile together. The wall-viscosity inertia screening number uses rho*mean_velocity*(D-d) divided by the smallest apparent viscosity in the yielded layers. It is not a generalized Reynolds transition correlation. Confirm laminar behavior separately; CSV contains all 41 sampled radial stations.
Check: For D = 0.2 m, d = 0.1 m, Q = 0.001 m3/s, K = 0.2 Pa.s^n, n = 0.5, tau_y = 10 Pa and L = 1,000 m, the computed gradient is about 452.762896 Pa/m (onset 400 Pa/m). The plug extends from radius 0.052297760 to 0.096470991 m and translates at about 0.043803963 m/s. Friction loss is about 452,762.896 Pa. These synthetic values are independently checked using quadrature and bracketed roots, not field calibration.
Scope: Incompressible, time-independent HB liquid; fully developed laminar axial flow in a stationary concentric circular annulus with no wall slip. No eccentricity, pipe rotation, turbulence, entrance losses, thixotropy, viscoelasticity, cuttings transport, gas or thermal/property variation is modeled.
Full sources and limits: https://www.petrocalchub.com/workflows/herschel-bulkley-annular-pressure-loss
Vertical Drift-Flux Gas-Liquid Pressure Profile Calculator
- Supply separate gas and liquid mass rates at a measured inlet absolute pressure. The interval must be vertical and upward with both phases co-current. Gas density follows p*M/(Z*R*T) with fixed temperature and Z; liquid density is fixed. Use calibrated C0, upward drift velocity and Darcy friction factor for the actual fluid, diameter and flow regime. The defaults are synthetic, not recommended closure coefficients.
- At each pressure, superficial rates determine gas velocity, void fraction, liquid velocity and holdup-weighted density. Gas and liquid velocities differ when C0 exceeds one or drift velocity is positive. Liquid holdup is not the liquid inlet-volume-flow fraction. The wall term uses the holdup density and mass-average mixture velocity, consistent with the cited T2Well friction convention; its Fanning factor is converted to Darcy by multiplying by four.
- The pressure integrator includes the derivative of the sum of phase momentum fluxes, not the no-slip acceleration formula applied to a slipped density. Friction and hydrostatic components are integrated separately. The endpoint pressure drop must equal their sum plus the change in phase momentum flux, and a tighter-tolerance integration must agree before results are accepted.
- Compare the drift-flux curve with a separate vertical no-slip curve using the same mass rates, properties, geometry and Darcy factor. Setting C0 = 1 and drift velocity = 0 recovers that reference. CSV includes all 51 axial stations, holdup, both velocities and pressure components. Both curves must remain in their supported pressure and acceleration envelopes; otherwise no partial comparison is published.
Check: The synthetic defaults use a 0.1-m pipe, 200-m upward interval, 5-MPa inlet, 320 K, gas/liquid rates 0.05/5 kg/s, liquid density 850 kg/m3, M = 20 kg/kmol, Z = 0.9, Darcy factor 0.02, C0 = 1.2 and drift velocity 0.3 m/s. Outlet pressure is about 3.525611 MPa versus 3.627851 MPa without slip. Outlet liquid holdup is about 0.851738; gas/liquid velocities are about 1.458189/0.879336 m/s. The added hydrostatic loss is model-dependent, not a claim that slip always increases pressure loss.
Scope: Steady, vertical upward, co-current, isothermal gas/liquid screening only. No downward, counter-current, horizontal or inclined slip model; no regime selection, empirical Shi/Hagedorn-Brown/Beggs-Brill implementation, phase flash, dissolution, heat transfer, slug transients or reservoir coupling. This is a reduced model, not the full T2Well simulator.
Full sources and limits: https://www.petrocalchub.com/workflows/vertical-drift-flux-pressure-profile
Concentric Laminar Annular Pressure Loss Calculator
- Enter the outer bore ID and inner pipe OD for the same uniform interval, not two pipe IDs. Rates are actual liquid volume per second at the modeled condition. Use a measured Newtonian dynamic viscosity and density at that condition. The inner-to-outer diameter ratio must be between 0.01 and 0.999. This intentionally excludes both a vanished inner wall and an unresolved near-contact gap.
- The annular conductance retains both radii and the logarithmic geometry term. It is not a circular-pipe Poiseuille formula with hydraulic diameter substituted. The software evaluates the conductance and velocity brackets with decimal arithmetic to avoid subtractive cancellation in narrow gaps; the independent regression fixtures use 80-digit arithmetic and cross-sectional velocity integration.
- Divide rate by the annular area to obtain mean velocity and use D minus d for the diagnostic hydraulic diameter. This workflow rejects Re_H above 1,000, a conservative software envelope rather than a universal annular transition criterion. The stated fully developed interval must already satisfy the entrance-flow assumptions; entry length and local losses are not automatically inferred or added.
- Read the friction-only pressure gradient and its product with interval length. The chart samples the radial axial-velocity distribution and enforces zero velocity at both stationary walls. The maximum is evaluated at the analytical interior stationary point rather than chosen from the chart grid. The reported Darcy factor is derived from the exact gradient; it is not simply 64/Re_H.
Check: The defaults describe a synthetic 0.2-m bore around a 0.1-m stationary pipe, Q = 0.001 m3/s, mu = 0.1 Pa.s, rho = 1,200 kg/m3 and L = 1,000 m. Mean velocity is about 0.0424413 m/s and Re_H is about 50.9296. Friction loss is about 20,212.7 Pa. Doubling length doubles loss without changing the velocity profile; doubling rate doubles the viscous gradient within the supported laminar envelope.
Scope: Single incompressible Newtonian liquid, stationary concentric circular walls and fully developed laminar axial flow only. No eccentricity, pipe rotation, roughness-driven turbulence, washouts, yield stress, shear thinning, cuttings, gas or wall slip is modeled. Do not substitute a Herschel-Bulkley apparent viscosity and call this a non-Newtonian annular solution.
Full sources and limits: https://www.petrocalchub.com/workflows/laminar-annular-pressure-loss
Homogeneous Gas-Liquid Pressure Profile Calculator
- Set inlet absolute pressure, constant temperature, pipe ID, uphill inclination and length measured along flow. Enter conserved gas and liquid mass rates, not standard gas volume or stock-tank liquid rates. At least one rate must be positive; single-phase endpoints are accepted for limiting-case checks. Select gas molecular mass and a constant Z appropriate to the supplied state; no fluid composition or phase flash is inferred.
- A homogeneous mixture has one shared velocity: local gas volume changes with absolute pressure while liquid density stays constant. The volume-specific mixture relation follows conservation of each phase mass. The chart and table update pressure, density, velocity and gas volume fraction along the interval. No-slip volume fraction is not a separately predicted liquid-holdup correlation.
- Supply a constant Darcy friction factor appropriate to a screening comparison. Darcy is four times Fanning: the NASA source's f = 0.079 Re^-0.25 uses the Fanning convention, and that number must not be entered as a Darcy factor. This implementation does not apply that source correlation or invent a mixture-viscosity rule. Friction uncertainty remains a user assumption throughout the interval.
- The implemented steady momentum equation combines Darcy wall friction, upward gravitational head and acceleration from gas expansion. ODEX integrates normalized pressure plus cumulative friction and hydrostatic components, samples 51 stations, then repeats at tighter tolerances. The acceleration component is calculated independently from endpoint momentum flux. A refinement difference above 1e-7 of inlet pressure or momentum closure above 1e-8 is rejected.
Check: The default synthetic case uses 5 MPa absolute, 320 K, 0.1-m ID, 1,000 m at 10 degrees uphill, 0.05 kg/s gas and 5 kg/s liquid, liquid density 850 kg/m3, molecular mass 20 kg/kmol, Z = 0.9 and Darcy factor 0.02. Outlet pressure is about 3.75582 MPa absolute. Friction, hydrostatic and acceleration losses are approximately 59,441.53 Pa, 1,184,706.49 Pa and 32.47 Pa: their sum recovers the total 1,244,180.49 Pa drop within numerical tolerance. These are reproducible synthetic checks, not field-calibrated performance data.
Scope: This is explicitly a homogeneous no-slip isothermal screening model, not Beggs-Brill, Hagedorn-Brown, drift-flux, a mechanistic flow-regime solver or three-phase PVT. It does not model slugging, slip, actual liquid holdup, gas liberation/dissolution, phase change, heat transfer, compositional properties or flow assurance.
Full sources and limits: https://www.petrocalchub.com/workflows/homogeneous-multiphase-profile
Local Porosity-Permeability Calibration Calculator
- Enter four to one hundred paired core measurements from a locally consistent rock population. Porosity is percent, so enter 20 for 20 percent, not 0.20. Permeability is positive mD on a consistent directional, confining-stress, fluid and gas-slip-correction basis. Use facies or rock-type separation and lab metadata before fitting; the calculator cannot detect whether the rows were taken from comparable measurements.
- Fit log10 of permeability against porosity in percentage points using unweighted ordinary least squares. A centered, scaled design matrix and ML.js QR decomposition avoid fitting normal equations or mixing raw-mD and logarithmic residual objectives. Repeated porosity rows remain repeated observations. At least three distinct porosities and a 0.01-percentage-point span are required, with resolvable variation in log permeability.
- Inspect the slope, intercept, log-space residual table, RMSE and R-squared. RMSE divides squared log residuals by observation count, not by N minus two. Ten raised to that RMSE is a multiplicative scatter diagnostic, not a confidence interval. The plot uses log10 permeability on its vertical coordinate so the displayed line matches the actual fitting objective rather than masking low-permeability deviations.
- Predict at the selected porosity and review the measured interval before reuse. Predictions outside it are explicitly flagged; a nonpositive slope, a span below two percentage points or log-space R-squared below 0.5 prompts review. These warnings are application review thresholds rather than geological validity rules. Save, export and share the actual measured pairs along with the fitted case so a colleague can reopen and recalculate it.
Check: The five default synthetic core pairs are (10%, 1 mD), (15%, 10 mD), (20%, 100 mD), (25%, 1,000 mD) and (30%, 10,000 mD). They exactly follow log10(k in mD) = -2 + 0.2 porosity_percent. At 20% the fitted prediction is 100 mD, log RMSE is essentially zero and log R-squared is one. This exact arithmetic fixture is not an actual formation data set or an accuracy claim.
Scope: This is a locally calibrated empirical log-linear transform, not a universal porosity-to-permeability equation, Kozeny-Carman pore-geometry model, NMR transform or effective-permeability upscaling method. Porosity alone does not identify pore connectivity, grain size, diagenesis, fracture contribution or directional permeability.
Full sources and limits: https://www.petrocalchub.com/workflows/permeability-calibration
DAK and Hall-Yarborough Gas Z-Factor Solver
- Enter P_pr = absolute pressure / pseudo-critical pressure and T_pr = absolute temperature / pseudo-critical temperature. These are dimensionless ratios, not psi and degrees Fahrenheit. Select pseudo-critical properties using a method appropriate to the composition before forming the ratios. The tool does not estimate gas gravity, composition or sour-gas corrections, and it does not accept a gauge-pressure ratio.
- The DAK branch uses all eleven published coefficients to evaluate its density-dependent Z expression. Bisection solves rho_r times Z minus 0.27 P_pr/T_pr on a positive-density bracket. Hall-Yarborough separately solves its rational density residual between zero and a point below the y = 1 pole. Their density variables have different definitions and must not be compared as if they were the same physical density.
- Each result is checked against its original pressure-balance residual, normalized by the pressure-dependent term; a relative residual above 1e-9 is rejected. The output reports function evaluations, including bracket and final checks, rather than calling those counts Newton iterations. Twenty-five independently solved pressure points run from P_pr = 0.2 to the selected pressure at the same temperature; an unsupported point fails instead of being silently skipped.
- Compare both Z values and their signed percentage difference relative to DAK. A small residual establishes that the numerical equation was solved, not that the correlation agrees with your gas sample. Both correlations approximate related reduced-property data, so agreement is not independent validation of the pseudo-critical properties or phase state. Use measured PVT or an appropriate compositional EOS for decisions outside this screening workflow.
Check: At P_pr = 3 and T_pr = 1.5, the two independently solved correlations give approximately Z_DAK = 0.776128 and Z_HY = 0.774828. The default inputs are synthetic reduced-property values, not a measured fluid. The source's DAK example A-4 uses rounded P_pr = 3.016 and T_pr = 1.849 and reports Z = 0.9076; the numerical regressions reproduce that rounded published check separately from the default comparison.
Scope: This comparison deliberately supports only 0.2 <= P_pr <= 15 and 1.2 <= T_pr <= 3. The software envelope is narrower than the cited DAK range; near-critical, subcritical and higher-pressure extensions are not implemented. Bounds are enforced, not treated as extrapolation warnings.
Full sources and limits: https://www.petrocalchub.com/workflows/gas-z-comparison
Herschel-Bulkley Rheology Fitting Calculator
- Enter four to one hundred measured pairs with positive shear rates in 1/s and stress magnitudes in Pa. At least four distinct rates and a resolvable stress variation are required. Repeated-rate measurements are retained as repeated observations, not averaged or silently discarded. Preserve a single temperature, pressure, instrument geometry and sweep protocol; convert instrument speed and dial readings using the actual instrument calibration before entry.
- The objective is unweighted least squares in shear-stress space: minimize the sum of squared Pa residuals. The implementation scales rates by their geometric mean and stresses by their maximum, then uses ML.js Levenberg-Marquardt with an analytical Jacobian and five deterministic starting exponents. Scaling changes numerical conditioning, not observation weighting. No logarithm of measured stress is used, so zero measured stress and noisy observations do not require a fabricated yield subtraction.
- The software fits nonnegative yield stress and positive consistency with 0.1 <= n <= 2. Normalized stress coefficients have an upper bound of two. These are explicit software bounds, not universal rheological validity limits. Candidate fits must meet a projected-gradient or near-zero-error test; a returned optimizer array alone is not accepted as convergence. The best accepted start is selected, without claiming a proof of the global least-squares optimum.
- Read the fitted parameters together with stress RMSE and the measured-versus-fitted residual table. RMSE is sqrt(sum of squared stress residuals / observation count), not a degrees-of-freedom-adjusted standard error. The prediction gives stress and apparent viscosity at the selected positive rate. Predictions outside the observed rate interval are explicitly flagged. Save and backup the measurements as well as the fitted outputs so a reopened case can be recalculated.
Check: The six default synthetic pairs follow tau = 10 + 0.2 sqrt(gamma): rates 1, 4, 25, 100, 400 and 900 1/s give 10.2, 10.4, 11, 12, 14 and 16 Pa. The fitter should recover tau_y = 10 Pa, K = 0.2 Pa.s^0.5 and n = 0.5 with essentially zero numerical RMSE. At 100 1/s, predicted stress is 12 Pa and apparent viscosity is 0.12 Pa.s. This exact recovery fixture does not represent field measurement precision.
Scope: A fitted Herschel-Bulkley yield stress is an extrapolated model intercept, not gel strength or an independently measured static yield point. No confidence intervals, outlier removal, measurement weighting, thixotropy, wall-slip correction or instrument-to-SI conversion is inferred.
Full sources and limits: https://www.petrocalchub.com/workflows/herschel-bulkley-fit
Cement Volume and Sacks Calculator
- Subtract casing cross-sectional area from the hole or casing-ID area, then multiply by the cemented measured length. The library uses the rounded field constant 0.7854/808.5 to return barrels.
- Apply the selected excess to this annular interval only. Convert 42-US-gallon barrels to cubic feet before dividing by slurry yield in ft3 per sack.
- Show both fractional demand and sacks rounded upward. Mixing-water demand uses the rounded whole-sack count, not the fractional requirement.
Check: An 8.5-in hole around 5-in casing over 1,000 ft has about 45.900 bbl of annular volume. At 20% excess, demand is 55.080 bbl, or 309.25125 ft3. At 1.32 ft3/sk this is 234.28125 sacks, rounded to 235; 6.3 US gal/sk requires 1,480.5 US gal of water.
Scope: One uniform concentric interval only. Add shoe-track, rat-hole and other volumes separately; washouts and caliper data are not inferred.
Full sources and limits: https://www.petrocalchub.com/workflows/cementing
Arps Decline Curve Forecast Calculator
- Choose an initial rate and a nominal decline per day on the same time basis as the horizon. A 10% effective annual decline is not an input of 0.10 per day.
- The engine selects the exponential equation for b = 0, harmonic for b = 1, and the hyperbolic relationship between those endpoints. The table samples 25 evenly spaced times, including zero and the horizon.
- Cumulative production is the analytical integral of the selected curve from zero to the horizon, not a sum of the sampled table rows. Compare a fitted curve with observed production before adopting its forecast.
Check: For q_i = 1,000 STB/day, D_i = 0.001/day and 365 days, b = 0 gives 694.197 STB/day and 305,803.349 STB. At b = 0.5, the endpoint rate is 715.150919 STB/day and cumulative is 308,668.076 STB. At time zero the rate is q_i and cumulative is zero.
Scope: A parameter-driven, single-segment forecast, not an automatic history match or reserve estimate. No economic cutoff, downtime or operating change is included.
Full sources and limits: https://www.petrocalchub.com/workflows/decline-forecast
Standing vs Vasquez-Beggs PVT Comparison
- Use absolute pressure and a measured bubble point. The saturated Rs comparison stops at or below that bubble point; it is not an undersaturated-oil extrapolation.
- This comparison uses the full Standing inversion with (p/18.2 + 1.4) and exponent 1/0.83. That differs from the simplified p/18 form retained in the historical standalone reference.
- Vasquez-Beggs coefficients switch at API > 30: (0.0178, 1.187, 23.931); at API <= 30: (0.0362, 1.0937, 25.724). Both curves are shown in scf/STB so their spread can be inspected.
Check: At 2,500 psia, 180 F, 35 API and gas gravity 0.8, full Standing returns 651.478793 scf/STB and Vasquez-Beggs returns 569.164106 scf/STB. These are predictions, not laboratory measurements. Keeping the pressure interval below the measured 3,000-psia bubble point prevents saturated curves being extrapolated into an undersaturated region. Changing API from 30 to 31 intentionally switches the coefficient family.
Scope: Correlation agreement is not validation. Select or calibrate against measured PVT data; this tool does not rank accuracy or replace a laboratory study.
Full sources and limits: https://www.petrocalchub.com/workflows/pvt-comparison
Linked Drilling Hydraulics Calculator
- Hydrostatic pressure is calculated from mud weight and true vertical depth. Annular volume instead uses the measured length of the selected uniform interval; the two depth inputs are intentionally separate.
- Add the supplied annular friction pressure to hydrostatic pressure. ECD expresses that combined pressure as an equivalent density at the same TVD; surface backpressure is not included.
- Velocity comes from the flow rate and annular area. The flow sweep changes velocity only: friction loss and ECD are not scaled without a rheology and pressure-loss model.
Check: With 10 ppg at 10,000 ft TVD, hydrostatic pressure is 5,200 psi. Adding 500 psi of annular friction gives 5,700 psi and ECD 10.961538 ppg. With no friction, ECD equals mud weight; with zero flow, calculated mean annular velocity is zero.
Scope: One constant-density, uniform annular section. No cuttings loading, eccentricity, compressibility or temperature-density profile is modelled.
Full sources and limits: https://www.petrocalchub.com/workflows/drilling-hydraulics
PetroCalcHub Team, 2026-10-10. Share this original checklist or link to the free tools in course resource lists. Do not present the sheet as a certified design standard.