Définition du Modèle d'Ising Bidimensionnel






Jean-François COLONNA
[Contact me]

www.lactamme.polytechnique.fr

CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641, École polytechnique, Institut Polytechnique de Paris, CNRS, France
france telecom, France Telecom R&D

[Site Map, Help and Search [Plan du Site, Aide et Recherche]]
[The Y2K Bug [Le bug de l'an 2000]]
[Real Numbers don't exist in Computers and Floating Point Computations aren't safe. [Les Nombres Réels n'existent dans les Ordinateurs et les Calculs Flottants ne sont pas sûrs.]]
[N'oubliez pas de visiter Une Machine Virtuelle à Explorer l'Espace-Temps et au-delà où vous trouverez plusieurs milliers d'images et d'animations à la frontière de l'Art et de la Science]
(Site WWW CMAP28 : cette page a été créée le 01/05/2001 et mise à jour le 14/11/2023 17:51:42 -CET-)



/*************************************************************************************************************************************/
/*                                                                                                                                   */
/*        M O D E L E   D E   I S I N G   B I D I M E N S I O N N E L  :                                                             */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*        Definition :                                                                                                               */
/*                                                                                                                                   */
/*                    Considerons un ensemble de points                                                                              */
/*                  'P(i)' porteurs chacun d'un spin 'S(i)'                                                                          */
/*                  (valant en general -1/2 ou +1/2)                                                                                 */
/*                  et disposes sur un reseau carre.                                                                                 */
/*                  A chaque pas de temps, on choisira                                                                               */
/*                  aleatoirement quelques points pour                                                                               */
/*                  lesquels on evalue la quantite :                                                                                 */
/*                                                                                                                                   */
/*                                                  _____                                                                            */
/*                                                  \                                                                                */
/*                                                   \                                                                               */
/*                                      dE(i) = f.J. /    S(i).S(j)                                                                  */
/*                                                  /____                                                                            */
/*                                                    j                                                                              */
/*                                                                                                                                   */
/*                  ou l'indice 'j' parcourt les 4 premiers                                                                          */
/*                  voisins de 'P(i)' et ou 'J' designe la constante                                                                 */
/*                  de couplage (c'est-a-dire la force de celui-ci) et                                                               */
/*                  'f' une constante (positive en general, une valeur                                                               */
/*                  negative simulant l'anti-ferromagnetisme). Alors :                                                               */
/*                                                                                                                                   */
/*                                      si dE(i) <= 0, 'S(i)' est inverse : S(i) = -S(i)                                             */
/*                                                                                                                                   */
/*                                                                                   dE(i)                                           */
/*                                                                                - -------                                          */
/*                                                                                    k.T                                            */
/*                                      sinon, 'S(i)' n'est inverse que si : p < e                                                   */
/*                                                                                                                                   */
/*                  ou 'p' est un nombre aleatoire (dans [0,1]), 'k'                                                                 */
/*                  designe la constante de Boltzmann (dont la valeur est                                                            */
/*                  1.38066e-23 J^1K^-1 mais qui sera en general remplacee                                                           */
/*                  par 1 dans les simulations effectuees) et enfin 'T'                                                              */
/*                  est la temperature "locale".                                                                                     */
/*                                                                                                                                   */
/*                    Il existe une temperature critique (valable pour                                                               */
/*                  le cas bidimensionnel uniquement) en faisant                                                                     */
/*                  f=k=J=1 (pour simplifier) et avec des spins {-1/2,+1/2} :                                                        */
/*                                                                                                                                   */
/*                                                    1                                                                              */
/*                                      Tc = -------------------                                                                     */
/*                                                         ___                                                                       */
/*                                            2.A.ln(1 + \/ N )                                                                      */
/*                                                                                                                                   */
/*                  (le facteur 2 au denominateur compense le fait                                                                   */
/*                  qu'habituellement la constante 'f' vaut 2...)                                                                    */
/*                  avec A=2 (ou 1), suivant que les paires {S(i),S(j)}                                                              */
/*                  et {S(j),S(i)} sont considerees comme identiques (A=2)                                                           */
/*                  (ce qui est le cas dans l'implementation suivante...)                                                            */
/*                  ou differentes (A=1) ; le parametre 'N' donne le nombre                                                          */
/*                  d'etats du spin (en general N=2). On notera au passage                                                           */
/*                  qu'avec des spins {-1,+1}, la temperature critique est                                                           */
/*                  a diviser par (1/2)x(1/2). Enfin, la formule donnant 'Tc'                                                        */
/*                  est demontree pour le cas N=2 et conjecturee en ce qui                                                           */
/*                  concerne les cas N>2. Cette valeur theorique de 'Tc'                                                             */
/*                  correspond a un reseau infini ; pour les reseaux finis                                                           */
/*                  (ce qui est evidemment le cas dans ces simulations),                                                             */
/*                  la valeur de 'Tc' est inferieure...                                                                              */
/*                                                                                                                                   */
/*                    Il s'agit d'un systeme auto-organise, ainsi qu'il                                                              */
/*                  possible de le voir dans les simulations.                                                                        */
/*                                                                                                                                   */
/*                    Appelons "noyau" (ou "voisinage") la matrice                                                                   */
/*                  3x3 definie comme suit :                                                                                         */
/*                                                                                                                                   */
/*                                       -------                                                                                     */
/*                                      | 0 1 0 |                                                                                    */
/*                                      | 1 0 1 |                                                                                    */
/*                                      | 0 1 0 |                                                                                    */
/*                                       -------                                                                                     */
/*                                                                                                                                   */
/*                  et qui sert a ponderer les spins des (3x3)-1=8 points                                                            */
/*                  voisins d'un point donne (represente par l'element                                                               */
/*                  central de cette matrice). La configuration                                                                      */
/*                  ci-dessus correspond effectivement a la recherche                                                                */
/*                  des 4 premiers voisins. Il est alors possible de                                                                 */
/*                  generaliser cela et de definir ainsi des noyaux                                                                  */
/*                  de dimensions quelconques et contenant des valeurs                                                               */
/*                  arbitraires. Une application de cela est la generation                                                           */
/*                  de certains types de textures bidimensionnelles.                                                                 */
/*                                                                                                                                   */
/*                                                                                                                                   */
/*************************************************************************************************************************************/


(Nota : les lignes d'explications qui précèdent sont des commentaires extraits des programmes ayant été utilisés pour calculer les images correspondantes. Ce programme en est un exemple parmi des centaines.)


Copyright © Jean-François COLONNA, 2001-2023.
Copyright © France Telecom R&D and CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2001-2023.