Skip to content

LyoHUB/LyoPronto.jl

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

272 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LyoPronto.jl

This package is a Julia complement to LyoPRONTO, an open source Python package. It has some overlapping functionality with LyoPRONTO, especially simulation of primary drying for conventional lyophilization. LyoPRONTO (the Python version) also has functionality for generating a design space, estimating time to freeze, and picking optimal drying conditions. On the other hand, this package has much more advanced utilities for fitting empirical parameters (such as $R_p$ and $K_v$) to experimental data. This package also provides that fitting functionality for a model applicable to microwave-assisted lyophilization.

Installation

From the Julia REPL's Pkg mode (open a REPL and type ] so that the prompt turns blue), add this package from the General registry with:

add LyoPronto

Documentation

The "badge" up above is a link to the documentation, which is also here.

Versioning

In an attempt to adhere to Julia community conventions, this package will use semantic versioning.

Authors

Written by Isaac S. Wheeler, a PhD student at Purdue University, advised by Prof. Vivek Narsimhan and Prof. Alina Alexeenko. This work was supported in part by funding for NIIMBL project PC4.1-307 .

License

MIT License; see LICENSE file.

Example usage

using LyoPronto

# Vial information
Ap, Av = @. π*get_vial_radii("6R")^2  # cross-sectional area inside the vial
KC = 2.75e-4u"cal/s/K/cm^2"
KP = 8.93e-4u"cal/s/K/cm^2/Torr"
KD = 0.46u"1/Torr"
Kshf = RpFormFit(KC, KP, KD)

# Formulation parameters
csolid = 0.06u"g/mL" # g solute / mL solution
ρsolution = 1u"g/mL" # g/mL total solution density
R0 = 0.8u"cm^2*Torr*hr/g" # Guess
A1 = 14.0u"cm*Torr*hr/g" # Guess
A2 = 1.0u"1/cm" # Guess
Rp = RpFormFit(R0, A1, A2)

# Cycle parameters
Vfill = 3u"mL" # ml
pch = RampedVariable(70u"mTorr")
Tsh = RampedVariable([-15u"°C", 10u"°C"].|>u"K", 0.5u"K/minute")
hf0 = Vfill / Ap

# Put information together
po = ParamObjPikal((
    (Rp, hf0, csolid, ρsolution),
    (Kshf, Av, Ap),
    (pch, Tsh)
))

prob = ODEProblem(po)
sol = solve(prob, Rosenbrock23())

modconvtplot(sol)

To go beyond one solution to the realm of fitting solutions to experiment, see the docs.

About

Julia version of LyoPRONTO.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages