Git Product home page Git Product logo

sadkat's Introduction

DOI

SADKAT: single-aerosol drying kinetics and trajectories

A python package to model aerosol drying, brought to you by this cat's tears.

The droplets are brought to you by a very sad kitty

About

This is a software package designed to model the kinetics of aerosols under various conditions.

This is not intended as a black box: we tried to keep the python code as simple as possible so the user can see how the model is implemented. No knowledge of python is needed to actually use the model through the GUI, however with a little python experience it should be straightforward to extend the model (by e.g. introducing new solutions) or automate running simulations over a range of conditions.

This package implements a widely used theoretical model for aerosol drying described in the following literature:

  • Xie, X. et al, "How far droplets can move in indoor environments - revisiting the Wells evaporation-falling curve", Indoor Air 17(3), 211-225 (2007). DOI: 10.1111/j.1600-0668.2007.00469.x.
  • Liu, L. et al, "Evaporation and dispersion of respiratory droplets from coughing", Indoor Air 27(1), 179-180 (2017). DOI: 10.1111/ina.12297.
  • Walker, J. S. et al, "Accurate Representations of the Microphysical Processes Occurring during the Transport of Exhaled Aerosols and Droplets", ACS Cent. Sci.(7), 200-209 (2021). DOI: 10.1021/acscentsci.0c01522.

We tried to make usage by the end-user as simple as possible, so the end product is a jupyter notebook. However, to allow for legible revision code the jupyter notebook is generated from an underlying plain-text python code. This means that the full library can still be installed and imported as regular python modules. The notebooks are generated from the source files using jupytext.

Authors:

Elements of the code were inspired by an earlier numerical model built by Jim Walker ([email protected]).

Installation instructions

Prerequisites

This software requires the following packages:

Make sure these are installed before proceeding.

If you have the python package manager pip installed, then you can install the prerequisite python libraries via:

pip install numpy scipy matplotlib pandas chemicals jupytext

on the command line. Note this command may require administrator privileges or you must pass the additional --user flag. Alternatively, these packages are frequently bundled with scientific distributions of python, e.g. anaconda.

Windows

TBD.

Linux/Mac OS X

Inside the source directory run:

pip install --user .

to install for the user profile. To install system-wide run without the user flag (but you will probably need administrator priviliges e.g. via sudo).

To build the example notebooks run:

python make-notebooks.py

This should generate a notebook sadkat.ipynb which can be opened from your browser after launching the jupyter notebook kernel. That is, run:

jupyter notebook

which should open a new window in your browser. You should then be able to select the new notebook.

How to use

TBD.

sadkat's People

Contributors

tranqui avatar drdanhardy avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.