An educational Python implementation of the Atmospheric Cluster Dynamics Code (ACDC) for atmospheric outgrowth simulations. eduACDC reimplements the core kinetic model in Python for teaching and research. For specific details on the model, methodology, and citations, see the original ACDC repository.
pip install git+https://github.com/edahelsinki/eduACDC.gitFor development (editable install):
git clone https://github.com/edahelsinki/eduACDC.git
cd eduACDC
pip install -e .python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -e .uv venv
source .venv/bin/activate
uv pip install -e .Or run without activating (uv handles the env):
uv run python examples/run_simulation.pyRun the example simulation:
python examples/run_simulation.pySee examples/run_simulation.py for a minimal workflow: loading a YAML config, creating a Simulation, and running steady-state outgrowth. Explore the examples/ directory for more YAML system configuration files. For the YAML configuration format, see eduacdc/README.md.
graph TD
subgraph MC[Molecules and Clusters]
direction LR
M[Molecules] --> C[Clusters]
end
subgraph RC[Rate Coefficients]
ProcessCoeffConfig([Process Coefficients<br>Config]) -->Sys[[SimulationSystem]]
SysCond([Ambient<br>Conditions]) --> Sys
CP[Cluster Properties] --> Sys
end
MC --> Sys
subgraph D[Differential Equations]
EqConfig[Equations<br>Config] --> E
end
MC --> E[[ClusterEquations]]
E --> Sim[[Simulation]]
subgraph EL[External Losses]
CL([Coagulation<br>Sink])
WL([Wall])
DL([Dilution])
end
Sim[[Simulation]]
I[Initial<br>Conditions] --> Sim
EL --> Sim
MC ~~~ D
MC ~~~ EL
Sys --> Sim
subgraph Results
direction TB
t[Time Steps]
c[Cluster<br>Concentrations]
f[Formation<br>Rates]
flux[Fluxes<br>Rates]
end
Sim --> Results
eduacdc/— Main package codeexamples/— YAML system configuration files (ADW, ANW, AN_neutral_neg_pos, three_component_system); see examples/README.md
| Subpackage | Purpose |
|---|---|
eduacdc.core |
Molecules, clusters, cluster properties, process coefficients, ODE equations, ambient conditions, coagulation loss, and wall loss models |
eduacdc.analysis |
Flux analysis, DeltaG/rate visualization, and concentration/size-distribution plotting |
eduacdc.io |
YAML parsing for system and equations configuration |
eduacdc.simulation |
ODE solver and results container |
eduacdc.utils |
Physical constants, Pint unit registry, and quantity parsing |
For detailed module documentation, see eduacdc/README.md.