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:lennard-jones [2015/03/05 11:08] – villersd | teaching:progappchim:lennard-jones [2015/03/05 12:14] (Version actuelle) – villersd | ||
---|---|---|---|
Ligne 49: | Ligne 49: | ||
La distance d' | La distance d' | ||
+ | |||
+ | Voici un programme non optimisé calculant les deux sommes pour la structure cubique à face centrée. Il serait bien sûr intéressant de modifier le programme pour réduire le nombre de calculs nécessaires, | ||
+ | |||
+ | <sxh python; title : Lennard-Jones-sum_fcc-01.py> | ||
+ | #! / | ||
+ | # -*- coding: utf-8 -*- | ||
+ | """ | ||
+ | Calcul des sommes utilisées dans l' | ||
+ | d'un cristal de gaz rare en utilisant le potentiel de Lennard-Jones | ||
+ | |||
+ | Version non optimisée comptabilisant toutes les interactions dans | ||
+ | un cristal fictif de structure cubique à face centrée. | ||
+ | Pour une telle maille, les positions des atomes à considérer sont | ||
+ | en coordonnées cristallographiques (0,0,0), (0.5, | ||
+ | (0, | ||
+ | """ | ||
+ | from math import * | ||
+ | |||
+ | motif = [(0, | ||
+ | R2= 0.5**2+0.5**2 | ||
+ | print R2 | ||
+ | nmax = 5 # nombre de mailles entre l' | ||
+ | sum6=0. | ||
+ | sum12=0. | ||
+ | for ic in range (-nmax, | ||
+ | for jc in range (-nmax, | ||
+ | for kc in range (-nmax, | ||
+ | # ic, jc, kc est la coordonnée du noeud de référence | ||
+ | # de la maille cubique. | ||
+ | noeud=[ic, | ||
+ | # print noeud # impression pour debug | ||
+ | for atome in motif: | ||
+ | d2=0 | ||
+ | for direct in range(3): | ||
+ | d2 += (noeud[direct]+atome[direct])**2 | ||
+ | #print direct, d2 # impression pour debug | ||
+ | if d2 != 0: | ||
+ | inv_pj6 = (R2/d2)**3 | ||
+ | inv_pj12 = inv_pj6**2 | ||
+ | sum6 += inv_pj6 | ||
+ | sum12 += inv_pj12 | ||
+ | |||
+ | print 'La somme " | ||
+ | print 'La somme " | ||
+ | </ | ||
==== Références ==== | ==== Références ==== |