Skip to main content

a simple, fast, and powerful particle simulator

Project description

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 Aerosol object.

  • 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

particula-0.2.12.tar.gz (977.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

particula-0.2.12-py3-none-any.whl (1.2 MB view details)

Uploaded Python 3

File details

Details for the file particula-0.2.12.tar.gz.

File metadata

  • Download URL: particula-0.2.12.tar.gz
  • Upload date:
  • Size: 977.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for particula-0.2.12.tar.gz
Algorithm Hash digest
SHA256 55df62c949d7b34d9ec32bd82dc959273ab3e367177ac5f779bff0b4d7110ed6
MD5 11da3c15ae30fe05b5f39980fb0ae754
BLAKE2b-256 d74b90f3cb378e5fdfe55cca38a7246b3214d876e72468c6c8224859e983acd0

See more details on using hashes here.

File details

Details for the file particula-0.2.12-py3-none-any.whl.

File metadata

  • Download URL: particula-0.2.12-py3-none-any.whl
  • Upload date:
  • Size: 1.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for particula-0.2.12-py3-none-any.whl
Algorithm Hash digest
SHA256 8b3c2a78b4b5169c0fd75fbbd65db40645e532d1199c5d11f956d7bdbf1ba613
MD5 615d69b409219467b781566e533206dc
BLAKE2b-256 c9d4561a60267de0635c6aa8a69b47ffde52bb390decb4a7b2452d92ce7897cc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page