Welcome to Fluids’s documentation!¶
Fluids is open-source software for engineers and technicians working in the fields of chemical, mechanical, or civil engineering. It includes modules for piping, fittings, pumps, tanks, compressible flow, open-channel flow, atmospheric properties, solar properties, particle size distributions, two phase flow, friction factors, control valves, orifice plates and other flow meters, ejectors, relief valves, and more.
Module Contents:
- fluids tutorial
- Importing
- Design philosophy
- Dimensionless numbers
- Miscellaneous utilities
- Friction factors
- Pipe schedules
- Wire gauges
- Tank geometry
- Miscellaneous geometry
- Atmospheric properties
- Compressor sizing
- Gas pipeline sizing
- Gas pipeline sizing: Empirical equations
- Drag and terminal velocity
- Pressure drop through packed beds
- Pressure drop through piping
- Control valve sizing: Introduction
- Control valve sizing: Liquid flow
- Control valve sizing: Gas flow
- Electric motor sizing
- Particle Size Distributions
- Required Resources
- API Reference
- Atmospheric properties (fluids.atmosphere)
- Compressible flow and compressor sizing (fluids.compressible)
- Control valve sizing and rating (fluids.control_valve)
- Dimensionless numbers (fluids.core)
- Drag and terminal velocity (fluids.drag)
- Filter pressure drop (fluids.filters)
- Fittings pressure drop (fluids.fittings)
- Orifice plates, flow nozzles, Venturi tubes, cone and wedge meters (fluids.flow_meter)
- Friction factor and pipe roughness (fluids.friction)
- Tank and Heat Exchanger Design (fluids.geometry)
- Jet Pump (ejector/eductor) Sizing and Rating (fluids.jet_pump)
- Mixing (fluids.mixing)
- Support for Numba (fluids.numba)
- Hydrology, weirs and open flow (fluids.open_flow)
- Packed bed pressure drop (fluids.packed_bed)
- Packing & demister pressure drop (fluids.packed_tower)
- Particle Size Distributions (fluids.particle_size_distribution)
- Pipe schedules (fluids.piping)
- Pump and motor sizing (fluids.pump)
- Safety/relief valve sizing (fluids.safety_valve)
- Liquid-Vapor Separators (fluids.separator)
- Pneumatic conveying (fluids.saltation)
- Two phase flow (fluids.two_phase)
- Two-phase flow voidage (fluids.two_phase_voidage)
- Support for pint Quantities (fluids.units)
- Support for NumPy arrays (fluids.vectorized)
- Solved Fluids Mechanics Problems
- 7.1 Smooth Pipe (Plastic)
- 7.2 L, L over D and K from Kv for Conventional Type Valves
- 7.3 L, L over D, K, and Kv for Conventional Type Valves
- 7.4 Venturi Type Valves
- 7.5 Lift Check Valves
- 7.6 Reduced Port Ball Valve
- 7.7 Laminar flow in Valves, Fittings, and Pipe - System from Example 7.6
- 7.8 Laminar flow in Valves, Fittings, and Pipe - SAE oil through a pipe and globe valve
- 7.9 Laminar Flow in Valves, Fittings, and Pipe
- 7.10 Piping Systems - Steam
- 7.11 Flat heating Coils - Water
- 7.12 Orifice Size for Given Pressure Drop and Velocity
- 7.13 Flow given in English Units - Oil
- 7.14 Bernoulli’s Theorem-Water
- 7.15 Power Required for Pumping
- 7.16 Air Lines
- 7.17 Sizing of Pump for Oil Pipelines
- 7.18 Gas
- 7.19 Water
- 7.20 Steam at Sonic Velocity
- 7.21 Gases at Sonic Velocity
- 7.22 Compressible Fluids at Subsonic Velocity
- 7.23 Flow Through Orifice Meters
- 7.24 Laminar Flow
- 7.25 Rectangular Duct - Application of Hydraulic Radius to Flow Problems
- 7.26 Pipe Partially Filled with Flowing Water
- 7.27 Sizing Control Valves for Liquid Service
- 7.28 Checking for Choked Flow Conditions in a Control Valve
- 7.29 Orifice Flow Rate Calculation
- 7.30 Nozzle Sizing Calculations
- 7.31 NPRD Calculations
- 7.32 NPSH Available Calculation
- 7.33 Pump Affinity Rules
- 7.34 Pump Power and Operating Cost
- 7.35 Hydraulic Resistance of a Converging Tee
- 7.36 Hydraulic Resistance of a Diverging Wye
- Data included in Fluids
- Sample Programs
- Developer’s Guide and Roadmap
- Scope and Future Features
- Contributing
- Running Tests
- Docstrings
- Doctest
- Type Hints
- Supported Python Versions
- Packaging
- Code Formatting
- Documentation
- Sample Notebooks
- Continuous Integration
- Load Speed
- RAM Usage
- Notes on Pint Integration Implementation
- Notes on PyPy
- Notes on Numba
- Things to Keep In Mind While Coding
- Calling Fluids/Python from Other Languages
Installation¶
Get the latest version of fluids from https://pypi.python.org/pypi/fluids/
If you have an installation of Python with pip, simple install it with:
$ pip install fluids
Alternatively, if you are using conda as your package management, you can simply install fluids in your environment from conda-forge channel with:
$ conda install -c conda-forge fluids
To get the git version, run:
$ git clone git://github.com/CalebBell/fluids.git
Latest source code¶
The latest development version of fluids’s sources can be obtained at
Bug reports¶
To report bugs, please use the fluids’s Bug Tracker at:
If you have further questions about the usage of the library, feel free to contact the author at Caleb.Andrew.Bell@gmail.com.
License information¶
Fluids is MIT licensed. See LICENSE.txt
for full information
on the terms & conditions for usage of this software, and a
DISCLAIMER OF ALL WARRANTIES.
Although not required by the fluids license, if it is convenient for you, please cite fluids if used in your work. Please also consider contributing any changes you make back, such that they may be incorporated into the main library and all of us will benefit from them.
Compliance information¶
The author testifies that this software is not subject to the US EAR. The country of origin of this software is Canada. The author also confirms confirm that this software is not developed by, contain components developed by, or receive substantial influence from entities prohibited by Section 889 of the 2019 NDAA.
Citation¶
To cite fluids in publications use:
Caleb Bell and Contributors (2016-2024). fluids: Fluid dynamics component of Chemical Engineering Design Library (ChEDL)
https://github.com/CalebBell/fluids.