teaching:progappchim:matplotlib_gallery:potentiel_energy_surface

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
teaching:progappchim:matplotlib_gallery:potentiel_energy_surface [2015/05/08 11:01] villersdteaching:progappchim:matplotlib_gallery:potentiel_energy_surface [2020/12/07 17:22] (Version actuelle) – [Programme] villersd
Ligne 32: Ligne 32:
 ==== Programme ==== ==== Programme ====
  
-==== Sorties graphiques ====+<code python PES-contour-01.py> 
 +#!/usr/bin/env python 
 +# -*- coding: utf-8 -*- 
 +""" 
 +Tracés de lignes de niveau ou isolignes 
 +Application : Potentiel Energy Surface de la réaction 
 +H + H2 --> H2 + H
  
 +"""
 +# ref : http://bulldog2.redlands.edu/facultyfolder/deweerd/tutorials/Tutorial-ContourPlot.pdf
 +
 +import matplotlib.pyplot as plt  # directive d'importation standard de Matplotlib
 +import numpy as np               # directive d'importation standard de numpy
 +from mpl_toolkits.mplot3d import Axes3D  # Axes3D
 +
 +def Ebond(rAB):
 +    return D_e * (np.exp(-2.*beta*(rAB-r_e)) - 2.*np.exp(-beta*(rAB-r_e)))
 +def Eant(rAB):
 +    return 0.5 * D_e * (np.exp(-2.*beta*(rAB-r_e)) + 2.*np.exp(-beta*(rAB-r_e)))
 +def Q(rAB):
 +    return 0.5 * ((1.+k)*Ebond(rAB) + (1.-k)*Eant(rAB))
 +def a(rAB):
 +    return 0.5 * ((1.+k)*Ebond(rAB) - (1.-k)*Eant(rAB))
 +
 +beta=19.3E-3 # pm-1
 +r_e=74.1 # pm
 +D_e = .76 # E-18 J
 +k=0.18
 +rmin=10.
 +rmax=400.
 +num=100
 +x_1d = np.linspace(rmin,rmax, num)
 +print x_1d.shape, x_1d.dtype, x_1d.ndim
 +y_1d = np.linspace(rmin,rmax, num)
 +print y_1d.shape, y_1d.dtype, y_1d.ndim
 +X, Y = np.meshgrid(x_1d, y_1d)
 +print X.shape, X.dtype, X.ndim, Y.shape, Y.dtype, Y.ndim
 +E=(Q(X)+Q(Y)+Q(X+Y)-np.sqrt(2.*( (a(X)-a(Y) )**2.+(a(Y)-a(X+Y) )**2.+(a(X+Y)-a(X) )**2.) ))/(1.+k)
 +print np.min(E)  #valeur minimale de E
 +
 +fig = plt.figure(figsize=(12, 12), dpi=80)
 +ax = fig.add_subplot(111)
 +# cf. http://stackoverflow.com/questions/7965743/how-can-i-set-the-aspect-ratio-in-matplotlib
 +ax.set_aspect("equal")
 +levels = np.linspace(-1.7, 1.0, 53)
 +CS1 = plt.contour(X, Y, E, levels, colors='k')
 +plt.clabel(CS1, colors = 'k', fmt = '%2.2f', fontsize=14)
 +CS2 = plt.contourf(X, Y, E, levels)
 +#plt.colorbar(CS2)  # visualisation éventuelle de l'échelle de couleur
 +
 +plt.title('Isolignes')
 +plt.xlabel('x (pm)')
 +plt.ylabel('y (pm)')
 +
 +fig = plt.figure(2,figsize=(15, 15) )
 +ax = Axes3D(fig)
 +ax.plot_surface(X,Y,E, rstride=1,cstride=1 ,cmap=plt.cm.jet)
 +ax.set_xlabel('X')
 +ax.set_ylabel('Y')
 +ax.set_zlabel('E')
 +plt.show()
 +</code>
 +
 +Avec les paramètres essayés, la valeur minimale de E est environ -1.603
 +==== Sorties graphiques ====
 === Lignes de contour === === Lignes de contour ===
 +
 +{{:teaching:progappchim:matplotlib_gallery:pes-contour-01.png|}}
 +
 +=== Surface 3D ===
 +
 +{{:teaching:progappchim:matplotlib_gallery:pes-3d-01.png?300|}}
  
 ===== Références ===== ===== Références =====
Ligne 46: Ligne 115:
   * [[http://scitation.aip.org/content/aip/journal/jcp/23/3/10.1063/1.1742043|On a New Method of Drawing the Potential Energy Surface]], Shin Sato, J. Chem. Phys. 23, 592 (1955)   * [[http://scitation.aip.org/content/aip/journal/jcp/23/3/10.1063/1.1742043|On a New Method of Drawing the Potential Energy Surface]], Shin Sato, J. Chem. Phys. 23, 592 (1955)
   * [[http://www.tc.chemie.uni-siegen.de/jaquet/Copy-of-introPEStexpowerlight.pdf|Introduction to potential energy surfaces and graphical interpretation]], Ralph Jaquet (2002)   * [[http://www.tc.chemie.uni-siegen.de/jaquet/Copy-of-introPEStexpowerlight.pdf|Introduction to potential energy surfaces and graphical interpretation]], Ralph Jaquet (2002)
 +  * [[http://onlinelibrary.wiley.com/doi/10.1002/bbpc.192900025/abstract|QUANTENMECHANISCHE DEUTUNG DES VORGANGS DER AKTIVIERUNG]] F. London Zeitschrift für Elektrochemie und angewandte physikalische Chemie. Volume 35, Issue 9, pages 552–555, September 1929
 +  * [[https://www.youtube.com/playlist?list=PLkNVwyLvX_TFBLHCvApmvafqqQUHb6JwF|Computational Chemistry Universitu Minesota]], vidéos,...
 +  * W H Miller, Recent Advances in Quantum Mechanical Reactive Scattering Theory, Including Comparison of Recent Experiments with Rigorous Calculations of State-to-State Cross Sections for the H/D+H2→H2/HD+H Reactions, Annual Review of Physical Chemistry, Vol. 41: 245-281 (Volume publication date October 1990) DOI: 10.1146/annurev.pc.41.100190.001333
 +  * Peterson, Kirk A., Woon, David E., Dunning, Thom H. , Benchmark calculations with correlated molecular wave functions. IV. The classical barrier height of the H+H2→H2+H reaction,  Journal of Chemical Physics. 5/15/1994, Vol. 100 Issue 10, p7410
 +
  
  
 +Voir aussi :
 +  * [[http://chemistry.stackexchange.com/questions/47665/ballistic-behavior-of-molecules-on-potential-energy-surfaces]]
 +  * [[http://chemistry.stackexchange.com/questions/50253/compute-minimum-energy-paths-from-arbitrary-positions-on-the-potential-energy-su]]
 +  * [[http://pubs.acs.org/doi/full/10.1021/acs.jchemed.6b00572|Let Students Derive, by Themselves, Two-Dimensional Atomic and Molecular Quantum Chemistry from Scratch]], Yingbin Ge, J. Chem. Educ., 2016, 93 (12), pp 2033–2039 DOI: 10.1021/acs.jchemed.6b00572
  
  
  • teaching/progappchim/matplotlib_gallery/potentiel_energy_surface.1431075703.txt.gz
  • Dernière modification : 2015/05/08 11:01
  • de villersd