Skip to content

A collection of interactive simulations of Thermodynamics and Statistical Physics.

License

Notifications You must be signed in to change notification settings

jongablop/MinervaLab

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Binder Documentation Status


MinervaLab is a collection of interactive simulations of Thermodynamics and Statistical Physics developed in order to provide both teachers and students with a tool to visualize some specially difficult concepts related to this subjects.


Try it now live:

Notebooks can be executed directly on Binder just by click on the file paths of the table below.


Theoretical explanations:

Theoretical explanations about phase transitions and van der Waals isotherms can be found in Read the Docs (in Basque).


Structure:

A Product Breakdown Structure (PBS) system has been used during the development of this proyect, assigning a unique code to every concept/program/element. The following chart can be useful as a guide to understand the names of the variables used along all the programs.

PBS # Concept File path Description
#110-000 Van der Waals equation of state apps/van_der_waals A collection of programs aimed to visualize the different aspects of the phase transitions of a gas that follows the Van der Waals equation of state.
#111-000 Maxwell’s construction on van der Waals isotherms apps/van_der_waals/p_v_2D.ipynb A two-dimensional representation of the p(v,T) space during a gas-liquid phase transition (using reduced variables).
#112-000 Visualization of molar volume during a liquid-gas phase transition apps/van_der_waals/phase_transition_volume.ipynb A visualization of how each phase volume changes during a phase transition.
#113-000 Critical points for various fluids apps/van_der_waals/critical_points.ipynb An interactive database of Van der Waals equation's a and b parameters that allows to visualize the critical points of a sort of elements.
#114-000 Effect of a and b in van der Waals isotherms apps/van_der_waals/effect_of_a_and_b.ipynb A sort of representations of p(v,T) which gives the opportunity to interact with the a and b parameters in absolute variables.
#115-000 Compare elements’ isotherms apps/van_der_waals/compare_elements.ipynb A program which allows to compare the p(v,T) isotherms for a given sort of elements.
#116-000 Van der Waals isotherms in 3D apps/van_der_waals/p_v_T_3D.ipynb A three-dimensional representation of the p(v,T) space during a gas-liquid phase transition (using reduced variables).
#117-000 Chemical potential of a van der Waals real gas apps/van_der_waals/chemical_potential.ipynb A program that allows to construct the chemical potential starting from the p(v,T) space.
#118-000 Mathematical analysis of the van der Waals isotherms apps/van_der_waals/mathematical_analysis.ipynb A visualization of Vander Waals' equation of state from a analytical point of view.
#119-000 Mathematical analysis of the effect of a and b parameters apps/van_der_waals/parameters_analysis.ipynb A visualization of Vander Waals' equation of state from a analytical point of view in order to study the effect of a and b parameters on the mathematical function.
#11A-000 Stability condition on van der Waals isotherms apps/van_der_waals/stability.ipynb A visualization of dp/dv in order to study the stability of the system.
#11B-000 p-T plane and Gibbs free energy apps/van_der_waals/p_T_2D.ipynb An interactive visualization of the p(T) plane and the Gibbs free energy for a gas-liquid phase transition.
#11C-000 Effect of a and b in van der Waals isotherms (reduced variables) apps/van_der_waals/effect_of_a_and_b_reduced.ipynb A sort of representations of p(v,T) which gives the opportunity to interact with the a and b parameters in reduced variables.
#11D-000 Change in molar entropy during a first-order phase transition apps/van_der_waals/entropy.ipynb The aim of this notebook is to visualize the change in molar entropy during a first-orden liquid-gas transition.

Dependencies:

  • bqplot (version = 0.11.6)
  • ipywidgets
  • scipy
  • numpy[1][2]
  • pip
  • matplotlib[3]
  • qgrid
  • ipyvolume
  • pandas[4]
  • appmode

LaTeX is required to generate matplotlib figures. Further information can be found in the files inside binder folder.


How to install

Using pip:

  1. Install virtualenv and create a new virtual environment to isolate MinervaLab: virtualenv installation guide.

  2. Activate the virtual environment and install Jupyter in it: install Jupyter using pip

  3. Install all the dependencies listed in the section Dependencies. Some may require to activate them as a Jupyter extension.

  4. Git clone (using git clone https://github.com/jongablop/MinervaLab.git) or download the repo.

  5. Put it in the root of the new virtual environment and start Jupyter:

    cd MinervaLab
    jupyter notebook

License

This software is licensed under the GNU General Public License v3.0. See the LICENSE file for details.


References

[1] Travis E. Oliphant. A guide to NumPy, USA: Trelgol Publishing, (2006).

[2] Stéfan van der Walt, S. Chris Colbert and Gaël Varoquaux. The NumPy Array: A Structure for Efficient Numerical Computation, Computing in Science & Engineering, 13, 22-30 (2011), DOI:10.1109/MCSE.2011.37 (publisher link)

[3] J. D. Hunter, Matplotlib: A 2D Graphics Environment, Computing in Science & Engineering, vol. 9, no. 3, pp. 90-95, 2007

[4] Wes McKinney. Data Structures for Statistical Computing in Python, Proceedings of the 9th Python in Science Conference, 51-56 (2010) (publisher link)

Fernando Pérez and Brian E. Granger. IPython: A System for Interactive Scientific Computing, Computing in Science & Engineering, 9, 21-29 (2007), DOI:10.1109/MCSE.2007.53 (publisher link)

About

A collection of interactive simulations of Thermodynamics and Statistical Physics.

Resources

License

Stars

Watchers

Forks

Packages

No packages published