Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentes Révision précédente | |||
| teaching:progappchim:matplotlib_gallery:potentiel_morse [2015/05/18 11:02] – [Références] villersd | teaching:progappchim:matplotlib_gallery:potentiel_morse [2020/02/25 10:04] (Version actuelle) – villersd | ||
|---|---|---|---|
| Ligne 4: | Ligne 4: | ||
| Code source : | Code source : | ||
| - | <sxh python; title : potentiel_Morse-04.py> | + | <code python potentiel_Morse-04.py> |
| #! / | #! / | ||
| # -*- coding: utf-8 -*- | # -*- coding: utf-8 -*- | ||
| Ligne 25: | Ligne 25: | ||
| return D_e * (a*(r-r_e))**2. | return D_e * (a*(r-r_e))**2. | ||
| - | a=19.3E9 # en unité m-1 # paramètre de contrôle de la largeur du potentiel | + | a = 19.3E9 # en unité m-1 # paramètre de contrôle de la largeur du potentiel |
| - | r_e=74.1E-12 # en unité m # distance interatomique d' | + | r_e = 74.1E-12 # en unité m # distance interatomique d' |
| - | #a=19.3E-3 # en unité pm-1 | + | #a = 19.3E-3 # en unité pm-1 |
| - | #r_e=74.1 # en unité pm | + | #r_e = 74.1 # en unité pm |
| D_e = 7.6E-19 # J # énergie de dissociation | D_e = 7.6E-19 # J # énergie de dissociation | ||
| - | NA=6.02214129E23 | + | NA = 6.02214129E23 |
| - | h=1.054571726E-34 | + | h = 1.054571726E-34 |
| - | mH=1.007825E-3/ | + | mH = 1.007825E-3/ |
| - | nu0=(a/ | + | nu0 = (a/ |
| hnu0 = h * nu0 # quantum d' | hnu0 = h * nu0 # quantum d' | ||
| plt.figure(figsize=(12, | plt.figure(figsize=(12, | ||
| plt.title(u" | plt.title(u" | ||
| - | r=np.linspace(10., | + | r = np.linspace(10., |
| - | u, | + | u,uh = V(r),Vh(r) |
| plt.plot(r, | plt.plot(r, | ||
| plt.plot(r, | plt.plot(r, | ||
| - | xmax=400.E-12 | + | xmax = 400.E-12 |
| plt.xlim(0., | plt.xlim(0., | ||
| - | ymax=1.E-18 | + | ymax = 1.E-18 |
| plt.ylim(-0.5e-19, | plt.ylim(-0.5e-19, | ||
| plt.xlabel(u" | plt.xlabel(u" | ||
| plt.ylabel(u" | plt.ylabel(u" | ||
| # annotations des courbes | # annotations des courbes | ||
| - | xy_annoth=(r_e+np.sqrt(ymax*0.85/ | + | xy_annoth = (r_e+np.sqrt(ymax*0.85/ |
| plt.annotate(r' | plt.annotate(r' | ||
| xy=xy_annoth, | xy=xy_annoth, | ||
| xytext=(+40, | xytext=(+40, | ||
| arrowprops=dict(arrowstyle=" | arrowprops=dict(arrowstyle=" | ||
| - | xy_annotm=(xmax*0.95, | + | xy_annotm = (xmax*0.95, |
| plt.annotate(r' | plt.annotate(r' | ||
| xy=xy_annotm, | xy=xy_annotm, | ||
| Ligne 68: | Ligne 68: | ||
| # niveaux de vibrations de l' | # niveaux de vibrations de l' | ||
| for v in range(10): | for v in range(10): | ||
| - | E=hnu0*(v+0.5) | + | E = hnu0*(v+0.5) |
| - | dr=np.sqrt(E/ | + | dr = np.sqrt(E/ |
| plt.plot([r_e-dr, | plt.plot([r_e-dr, | ||
| # niveaux de vibrations du potentiel de Morse : | # niveaux de vibrations du potentiel de Morse : | ||
| - | # | + | #vmax = int((2.*D_e-hnu0)/ |
| - | vmax=8 # compromis pour la représentation | + | vmax = 8 # compromis pour la représentation |
| for v in range(vmax): | for v in range(vmax): | ||
| - | E=hnu0*(v+0.5) - (hnu0*(v+0.5))**2/ | + | E = hnu0*(v+0.5) - (hnu0*(v+0.5))**2/ |
| - | r1, | + | r1,r2 = r_e-np.log(1.+np.sqrt(E/ |
| plt.plot([r1, | plt.plot([r1, | ||
| # description de l' | # description de l' | ||
| Ligne 87: | Ligne 87: | ||
| # numérotation des niveaux de vibration | # numérotation des niveaux de vibration | ||
| plt.text(r2*1.05, | plt.text(r2*1.05, | ||
| - | #print v,E | + | #print(v,E) |
| plt.show() | plt.show() | ||
| - | </sxh> | + | </code> |
| Figure : | Figure : | ||