CFDPre¶
Open-source boundary-layer mesh sizing for CFD — first layer height, growth ratio, and final layer thickness, computed with the correct correlations for internal (pipe/duct) and external (flat-plate/aero) flows.
CFDPre is an open-source Python library for boundary-layer mesh sizing in
Computational Fluid Dynamics (CFD). Given your fluid, flow conditions, and target
\(y^+\), it computes the three numbers you need to set up an inflation / prism layer
stack in a mesher such as OpenFOAM (snappyHexMesh), Fluent, or cfMesh:
First layer height — the wall-adjacent cell thickness that achieves your target \(y^+\)
Growth ratio — the geometric expansion ratio between successive layers
Final layer thickness — the thickness of the outermost layer in the stack
Fluid properties are evaluated with CoolProp, so you can work with real fluids (air, water, fuels, refrigerants, …) at a given temperature and pressure instead of hand-typing density and viscosity.
Why it exists¶
Sizing the near-wall mesh is one of the most repeated calculations in wall-bounded CFD, and getting it wrong quietly corrupts your turbulence model and wall functions. CFDPre turns the full chain — fluid properties → Reynolds number → skin friction → wall shear → friction velocity → first layer height → growth ratio — into a single call, with the correct correlations for internal (pipe/duct) and external (flat-plate/aero) flows.
Quick example¶
from cfdpre import yhgrcalc
result = yhgrcalc(
fluid="Air",
temperature_c=50,
pressure_bar=10,
massflow_kgpersec=2.5,
hydraulicdia_mm=125,
target_yplus=1,
num_layers=8,
)
print(result["first layer height [yh] [m]"]) # -> 5.21e-06
print(result["Growth Ratio"]) # -> 3.66 (with a UserWarning: too aggressive)
Installation¶
pip install cfdpre
Where to next¶
Coming soon¶
CFDPre currently gives you the numbers — what’s next is wiring them straight into your mesher’s config:
OpenFOAM — generate a ready-to-paste
addLayersControls/snappyHexMeshDictsnippetFluent / cfMesh — equivalent inflation-layer setup snippets
Batch / parametric sweeps — vary velocity or geometry over an array and get a table of results
Links¶
Source code: https://github.com/phsheth/cfdpre
Users group: https://groups.google.com/g/cfdpre