Skip to content
Draft
Show file tree
Hide file tree
Changes from 21 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
8d9e591
Initial single vial commit
ltdeck Jun 26, 2022
fda2217
Snowing added, tutorial updated
akosira Jun 6, 2023
909e155
tutorial updated for Snowing
akosira Jun 6, 2023
df81078
Update tutorial.rst
akosira Jun 7, 2023
2e13a1b
fixing typo in tutorial.rst
akosira Jun 7, 2023
bd03350
another typo in tutorial.rst
akosira Jun 7, 2023
7480ff2
Update tutorial.rst
ltdeck Jun 13, 2023
639c112
Update tutorial.rst
ltdeck Jun 13, 2023
2f72061
Update tutorial.rst
ltdeck Jun 13, 2023
5c31fe1
Update changelog.rst
ltdeck Jun 13, 2023
1d22b0a
Update authors.rst
ltdeck Jun 13, 2023
30895b0
Update refs.bib
ltdeck Jun 13, 2023
3301078
Update README.md
ltdeck Jun 13, 2023
9a5e1ee
Update LICENSE.txt
ltdeck Jun 13, 2023
7845ec7
minor rearrangements in constants
bizzinho Jul 4, 2023
393deea
remove use of deprecated append
bizzinho Jul 4, 2023
448c27b
Remove use of deprecated iteritems
bizzinho Jul 4, 2023
17dc4fa
Merge pull request #45 from SPL-ethz/44-fix-pipeline
bizzinho Jul 4, 2023
0b651ca
Merge branch 'develop' into snowing-develop
bizzinho Jul 4, 2023
11ba252
Merge branch 'develop' into snowing-develop
bizzinho Jul 4, 2023
31d2fa7
docstring skeletons
bizzinho Jul 4, 2023
f042446
Linting and minor rearrangements
bizzinho Jul 4, 2023
2ba1164
Changed key name temperature to dimensionality
akosira Jul 6, 2023
221f13e
Update utils.py
akosira Jul 6, 2023
819ca06
Update snowing examples
akosira Jul 6, 2023
7f21154
added repr function to snowing
akosira Jul 6, 2023
244c2df
Default shape changed back to cube
akosira Jul 7, 2023
64137cb
Updated comments in constants.py
akosira Jul 7, 2023
bf6f8ce
Updated constants.py, for spatial model shape is rewritten to cylinde…
akosira Jul 7, 2023
a1dec07
Update constants.py
akosira Jul 7, 2023
42033ba
Added test_snowing.py, but need to add a lot more tests
akosira Jul 7, 2023
4a2a017
Updated constants.py, moved checks from snowing
akosira Jul 7, 2023
08cb460
Removed single_vial_spatial_model and added more snowing tests
akosira Jul 7, 2023
32f1e03
more snowing tests added to improve coverage
akosira Aug 25, 2023
9c79af1
improved coverage
akosira Aug 28, 2023
4ab730f
Update tutorial.rst
akosira Aug 28, 2023
2a65144
modified getter functions snowing
akosira Aug 28, 2023
3971984
a few more tests for snowing plots
akosira Aug 28, 2023
c99c97d
one more plot test
akosira Aug 28, 2023
44d93c3
and one more test
akosira Aug 28, 2023
d119abd
Update tutorial.rst
akosira Aug 29, 2023
1618688
Update README.md - added SNOWing doi to description
akosira Feb 6, 2024
aeee07e
scalar mappable bug fix
akosira Feb 6, 2024
d862408
Update CITATION
akosira Feb 26, 2024
cefb0c2
final touches
akosira Feb 26, 2024
6891ac9
Merge branch 'snowing-develop' of https://github.com/SPL-ethz/snow in…
akosira Feb 26, 2024
36c5bc2
more final touches
akosira Feb 26, 2024
637c5d8
final touches more more more
akosira Feb 26, 2024
4f85310
some new docs files
akosira Feb 26, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion LICENSE.txt
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
The MIT License (MIT)

Copyright (c) 2021-2022 Leif-Thore Deck, David Ochsenbein
Copyright (c) 2021-2023 Leif-Thore Deck, Andraž Košir, David Ochsenbein

Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
Expand Down
14 changes: 10 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,17 +3,23 @@
![tag](https://img.shields.io/github/v/tag/SPL-ethz/snow) ![pypi](https://img.shields.io/pypi/v/ethz-snow) ![build](https://img.shields.io/github/workflow/status/SPL-ethz/snow/Python%20package)
![Coverage Status](https://coveralls.io/repos/github/SPL-ethz/snow/badge.svg?branch=main) ![](https://img.shields.io/github/stars/SPL-ethz/snow?style=social) ![](https://img.shields.io/github/watchers/SPL-ethz/snow?style=social) ![](https://img.shields.io/github/commit-activity/m/SPL-ethz/snow) ![](https://img.shields.io/github/issues-raw/SPL-ethz/snow) ![](https://img.shields.io/pypi/l/ethz-snow) ![](https://img.shields.io/badge/code%20style-black-black)

SNOW (**S**tochastic **N**ucleation **O**f **W**ater) is an open source modeling framework to simulate the freezing process in a large number of vials, tailored towards pharmaceutical freeze-drying processes. SNOW was developed as part of a research collaboration between ETH Zurich's Separation Processes Laboratory and Janssen (pharmaceutical companies of J&J). It is brought to you by Leif-Thore Deck and Dr. David Ochsenbein.
SNOW (**S**tochastic **N**ucleation **O**f **W**ater) is an open source modeling framework to simulate the freezing process in a large number of vials, tailored towards pharmaceutical freeze-drying processes. SNOW was developed as part of a research collaboration between ETH Zurich's Separation Processes Laboratory and Janssen (pharmaceutical companies of J&J). It is brought to you by Leif-Thore Deck, Andraž Košir and Dr. David Ochsenbein.

## Description

SNOW is a model capable of simulating the entire freezing process for a batch of vials, from the liquid state to the completely frozen state. It combines balance equations, thermodynamics and a stochastic approach to ice nucleation to provide a comprehensive view of freezing and is entirely derived from first principles.

In addition to the simulation of the thermal evolution of vials during freezing, SNOW tracks a number of characteristic quantities of the freezing process for each vial. These quantities are the nucleation time, the nucleation temperature and the solidification time. Both nucleation and solidification are correlated with attributes of the frozen product such as the mean crystal size and the product activity of an API. Variability in these quantities among vials may thus be used as surrogate for batch heterogeneity. SNOW consequently may be used in process design and optimization to identify suitable cooling protocols with sufficiently small batch heterogeneity.

A more detailed description of the modeling framework is presented in a recent publication, which is publicly accessible under https://doi.org/10.1016/j.ijpharm.2021.121276 While version 1.0 is tailored towards simulations of the freezing stage in freeze-drying, version 1.1. was developed for pallet freezing; pallet freezing is for example used in the manufacturing of the Janssen COVID-19 vaccine, which served as case study for the model. Version 1.1 and the case study on the COVID-vaccine are discussed in detail in a recent pre-print at ChemRxiv: https://doi.org/10.26434/chemrxiv-2022-gnwhf
A more detailed description of the modeling framework is presented in a recent publication, which is publicly accessible under https://doi.org/10.1016/j.ijpharm.2021.121276 While version 1.0 is tailored towards simulations of the freezing stage in freeze-drying, version 1.1. was developed for pallet freezing; pallet freezing is for example used in the manufacturing of the Janssen COVID-19 vaccine, which served as case study for the model. Version 1.1 and the case study on the COVID-vaccine are discussed in detail in a recent scientific publication: https://doi.org/10.1016/j.ijpharm.2022.122051

### Additional features currently supported (as of version 1.1)
An extension of the modeling framework for the simulation of the freezing process with spatial resolution within individual containers has been implemented in version 2.0 and will be discussed in detail within the scope of a scientific publication.

### Additional features supported by version 2.0
- Spatial simulation of freezing within individual containers with different dimensionalities (0D, 1D, 2D)
- Simulation of three process configurations (shelf-ramped freezing, vacuum-induced surface freezing, jacket-ramped freezing)

### Additional features supported by version 1.1
- Simulation of systems comprising vials arranged in three spatial dimensions
- Arbitrary initial temperature of the vials
- Improvements in the numerical implementation (Second method to compare the initial amount of ice formed, faster data saving)
Expand All @@ -35,6 +41,6 @@ A more detailed description of the modeling framework is presented in a recent p
Please report bugs as [Github issues](https://github.com/SPL-ethz/snow/issues/new?assignees=ltdeck&labels=bug) or via [Email](mailto:[email protected]), preferably
including a screenshot that illustrates the problem.

Copyright (c) 2021-2022 Leif-Thore Deck, David Ochsenbein
Copyright (c) 2021-2023 Leif-Thore Deck, Andraž Košir, David Ochsenbein

<sub>The snow package logo has been designed using resources from Flaticon.com.</sub>
1 change: 1 addition & 0 deletions docs_src/authors.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,3 +4,4 @@ Contributors

* Leif-Thore Deck <[email protected]>
* Dr. David R. Ochsenbein <[email protected]>
* Andraž Košir <[email protected]>
15 changes: 14 additions & 1 deletion docs_src/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,19 @@
Changelog
=========

Version 2.0
===========

- New implementation of freezing model for a single container with spatial resolution (termed snowing). The model considers the gradients in temperature and in ice mass that form during freezing.
- Currently supported features of the new spatial model:
- Simulation of three different freezing process configuration:
- Shelf-ramped freezing (commonly used in freeze-drying)
- Vacuum-induced surface freezing (process variation where vacuum is applied to promote freezing through surface evaporation)
- Jacket-ramped freezing (process variation where vial is surrounded by a temperature-controlled jacket
- Simulation of different heat transfer boundary conditions (natural convection, conduction, thermal radiation, surface evaporation)
- Simulation with different dimensionalities (0D, 1D, 2D)


Version 1.1
===========

Expand All @@ -24,4 +37,4 @@ Version 1.0
- Arbitrary cooling protocols (i.e., user may choose cooling rate, integrate holding steps and controlled nucleation)
- Tracking of nucleation times, nucleation temperatures and solidification times for all vials
- Stochastic nucleation in the form of a Monte Carlo approach as well as controlled nucleation in the form of forced initiation of nucleation at a certain point
- Cubic geometry of vial and rectangular arrangement on the shelf
- Cubic geometry of vial and rectangular arrangement on the shelf
21 changes: 12 additions & 9 deletions docs_src/refs.bib
Original file line number Diff line number Diff line change
Expand Up @@ -13,12 +13,15 @@ @article{deck2022
abstract = {Freezing and freeze-drying processes are commonly used to improve the stability and thus shelf life of pharmaceutical formulations. Despite strict product quality requirements, batch heterogeneity is widely observed in frozen products, thus potentially causing process failure. Such heterogeneity is the result of the stochasticity of ice nucleation and the variability in heat transfer among vials, which lead to unique freezing histories of individual vials. We present for the first time a modeling framework for large-scale freezing processes of vials on a shelf and publish an open source implementation in the form of a python package on pypi. The model is based on first principles and couples heat transfer with ice nucleation kinetics, thus enabling studies on batch heterogeneity. Ice nucleation is assumed to be an inhomogeneous Poisson process and it is simulated using a Monte Carlo approach. We applied the model to understand the individual pathways leading to batch heterogeneity. Our simulations revealed a novel mechanism how ice nucleation leads to heterogeneity based on thermal interaction among vials. We investigated the effect of various cooling protocols, namely shelf-ramped cooling, holding steps and controlled nucleation, on the nucleation and solidification behavior across the shelf. We found that under rather general conditions holding schemes lead to similar solidification times, as in the case of controlled nucleation, thus identifying a potential pathway for freezing process optimization.}
}

@article{deck2022_pallet,
place={Cambridge},
title={Stochastic ice nucleation governs the freezing
process of biopharmaceuticals in vials},
DOI={10.26434/chemrxiv-2022-gnwhf},
journal={ChemRxiv},
publisher={Cambridge Open Engage},
author={Deck, Leif-Thore and Ochsenbein, David Richard and Mazzotti, Marco},
year={2022}}
@article{deck2022_pallet,
doi = {10.1016/j.ijpharm.2022.122051},
url = {https://doi.org/10.1016/j.ijpharm.2022.122051},
year = {2022},
month = sep,
publisher = {Elsevier {BV}},
volume = {625},
pages = {122051},
author = {Leif-Thore Deck and David R. Ochsenbein and Marco Mazzotti},
title = {Stochastic ice nucleation governs the freezing process of biopharmaceuticals in vials},
journal = {International Journal of Pharmaceutics}
}
Loading