jablonski 0.3 release #6
olistarosta
announced in
Announcements
Replies: 0 comments
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Uh oh!
There was an error while loading. Please reload this page.
Jablonski, dyscolab's photochemical systems simulation library, just got an update including new features such as stochastic simulation, a revamped excitations API, and helper functions for excitations. Units in
save_atfor simulation are also now handled properly.If you're new to jablonski you can see the getting started with jablonski or the original release announcement for a quick primer.
Stochastic simulation
Version 0.3 brings stochastic simulations with Gillespie's algorithm via an interface with the rebop library. The implementation is very similar to simbio's rebop interface, but support for piecewise simulation was added to support time dependent excitations of systems. To give an example, we can first declare a model
In this case we create a
RebopSimulatorinstead of a normal onethen use the
rebop_piecewisefunction to simulateRevamped excitations API and helpers
The way excitations are handled in simulation functions was changed: instead of taking two separate parameters for
excitation_transitionandheight, they now all take a dictionary with{excitation_transition: height}. Sobecomes
This makes it easier to excite multiple transitions, makes excitations reusable, and allows for the creation of helper functionsto create pumps easily. Version 0.3 includes
pump_from_laserto calculate the effect of a laser of a certain wavelength, power, beam width, and linewidth.Simulation time units
Previously, units in simulation times would just be stripped. Now simulation functions are aware of the units and time is scaled accordingly, so that
save_at=np.linspace(0,30e-9,100) * u.sandsave_at=np.linspace(0,30,100) * u.nshave the same effect. The use of appropriate units insave_atis now required; using the wrong units will raise a warning, and in future versions it will raise an error.Roadmap
Work on jablonski is ongoing. The next step is adding more analysis tools such as more sweeps, functions for fitting models to experimental results, and automatic lifetime calculation. A longer term goal is adding the concept of inewidths and line profiles to jablonski so that proper continuous emission and absorption spectra can be calculated.
For more information on jablonski see the documentation, or for more information about dyscolab packages see the dyscolab homepage.
All reactions