no way to compare when less than two revisions
Différences
Ci-dessous, les différences entre deux révisions de la page.
— | teaching:progappchim:maxwell-boltzmann [2014/01/30 04:19] (Version actuelle) – créée villersd | ||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
+ | ====== Représentation de la distribution de vitesse de Maxwell-Boltzmann ====== | ||
+ | Pour la théorie, //cf.// le cours de physico-chimie ou la [[http:// | ||
+ | ===== Sans NumPy ===== | ||
+ | <sxh python; title : Maxwell-Boltzmann_01.py> | ||
+ | #! / | ||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | NumPy/ | ||
+ | version SANS utilisation de NumPy | ||
+ | cf cours et http:// | ||
+ | """ | ||
+ | import matplotlib.pyplot as plt | ||
+ | from math import pi, | ||
+ | plt.figure() | ||
+ | #from pylab import * | ||
+ | def fonc_dist(v): | ||
+ | kB = 1.3806504e-23 | ||
+ | NA = 6.02214179e23 | ||
+ | T = 298.15 | ||
+ | mmg= 28 # masse molaire en g | ||
+ | m=mmg/ | ||
+ | factor=4.*pi * (m/ | ||
+ | expofactor= -m/ | ||
+ | s = factor * v**2 * exp(expofactor * v**2) | ||
+ | return s | ||
+ | |||
+ | x=[] # liste standard en python | ||
+ | y=[] | ||
+ | xx=1. | ||
+ | while xx < 2000: | ||
+ | x.append(xx) | ||
+ | y.append(fonc_dist(xx)) | ||
+ | xx=xx+10. | ||
+ | |||
+ | plt.plot(x, | ||
+ | plt.show() | ||
+ | </ | ||
+ | |||
+ | ===== Avec NumPy ===== | ||
+ | <sxh python; title : Maxwell-Boltzmann_02.py> | ||
+ | #! / | ||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | NumPy/ | ||
+ | version AVEC utilisation de NumPy | ||
+ | cf cours et http:// | ||
+ | """ | ||
+ | import matplotlib.pyplot as plt | ||
+ | import numpy as np # utilisation des tableaux numpy, cf. http:// | ||
+ | #les fonctions mathématiques exp et pi seront issues de nummpy | ||
+ | |||
+ | plt.figure() | ||
+ | #from pylab import * | ||
+ | |||
+ | def fonc_dist(v): | ||
+ | kB = 1.3806504e-23 | ||
+ | NA = 6.02214179e23 | ||
+ | T = 298.15 | ||
+ | mmg= 28 # masse molaire en g | ||
+ | m=mmg/ | ||
+ | factor=4.*np.pi * (m/ | ||
+ | expofactor= -m/ | ||
+ | s = factor * v**2 * np.exp(expofactor * v**2) | ||
+ | return s | ||
+ | |||
+ | x = np.arange(0., | ||
+ | |||
+ | plt.plot(x, | ||
+ | plt.show() | ||
+ | </ | ||
+ | |||
+ | <note tip> |