Particula
A simple, fast, and powerful particle simulator for aerosol science.
Requires: Python 3.12+
Documentation | Examples | PyPI
Installation
pip install particula
or via conda:
conda install -c conda-forge particula
Quick Start
import particula as par
# Build an aerosol system
aerosol = (
par.AerosolBuilder()
.set_atmosphere(atmosphere)
.set_particles(particles)
.build()
)
# Run dynamics (chainable with | operator)
process = par.dynamics.Condensation(strategy) | par.dynamics.Coagulation(strategy)
aerosol = process.execute(aerosol, time_step=10, sub_steps=1000)
Code Structure
particula/
├── gas/ # Gas phase: species, vapor pressure, atmosphere
├── particles/ # Particle representations & distributions
├── dynamics/ # Time-dependent processes
│ ├── coagulation/
│ ├── condensation/
│ └── wall_loss/
├── activity/ # Activity coefficients, phase separation
├── equilibria/ # Gas-particle partitioning
└── util/ # Constants, validation, unit conversion
Documentation Guide
| Looking for... | Go to |
|---|---|
| Tutorials & walkthroughs | Examples/ |
| Scientific background | Theory/ |
| API reference | Full Docs |
| Contributing | contribute/ |
Examples by Topic
- Aerosol — Building and inspecting aerosol objects
- Dynamics — Coagulation, condensation, wall loss simulations
- Equilibria — Gas-particle partitioning calculations
- Gas Phase — Vapor pressure, species properties
- Particle Phase — Size distributions, optical properties
- Simulations — Full end-to-end scientific scenarios
Featured Examples
-
Aerosol Tutorial — Learn how to build gas species, atmospheres, particle distributions, and combine them into an
Aerosolobject. -
Organic Partitioning & Coagulation — Full simulation of secondary organic aerosol (SOA) formation from 10 organic vapors, followed by Brownian coagulation over 10 minutes.
-
Cloud Chamber Cycles — Multi-cycle cloud droplet activation demonstrating κ-Köhler theory across 3 seed compositions (Ammonium Sulfate, Sucrose, Mixed), showing how hygroscopicity affects activation at different supersaturations.
Features
- Gas & Particle Phases — Full thermodynamic modeling with swappable strategies
- Dynamics — Coagulation, condensation, wall loss, dilution
- Flexible Representations — Discrete bins, continuous PDF, particle-resolved
- Builder Pattern — Clean, validated object construction with unit conversion
- Composable Processes — Chain runnables with
|operator
Citation
If you use Particula in your research, please cite:
Particula [Computer software]. DOI: 10.5281/zenodo.6634653
License
MIT
Release files for particula 0.2.12
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| particula-0.2.12.tar.gz | 977.0 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| particula-0.2.12-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 2.2 MB
Release files / particula-0.2.12.tar.gz
| Download URL | particula-0.2.12.tar.gz |
|---|---|
| Size | 977.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
55df62c949d7b34d9ec32bd82dc959273ab3e367177ac5f779bff0b4d7110ed6
|
|
BLAKE2b-256 checksum How to use checksums |
d74b90f3cb378e5fdfe55cca38a7246b3214d876e72468c6c8224859e983acd0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
Release files / particula-0.2.12-py3-none-any.whl
| Download URL | particula-0.2.12-py3-none-any.whl |
|---|---|
| Size | 1.2 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b3c2a78b4b5169c0fd75fbbd65db40645e532d1199c5d11f956d7bdbf1ba613
|
|
BLAKE2b-256 checksum How to use checksums |
c9d4561a60267de0635c6aa8a69b47ffde52bb390decb4a7b2452d92ce7897cc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|