/*************************************************************************************************************************************/ /* */ /* M O D E L E D E I S I N G T R 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 cubique. */ /* 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 6 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, mais contrairement */ /* au cas bidimensionnel, elle n'est pas encore connue */ /* (a la date du 20001213105228...). */ /* */ /* Il s'agit d'un systeme auto-organise, ainsi qu'il */ /* possible de le voir dans les simulations. */ /* */ /* Appelons "noyau" (ou "voisinage") le tenseur */ /* 3x3x3 defini comme suit : */ /* */ /* /-------/ */ /* /| 0 0 0 | */ /* / | 0 1 0 | */ /* / | 0 0 0 | */ /* / /-------/ */ /* / / / */ /* /-------/ / */ /* /| 0 1 0 | / */ /* / | 1 0 1 | / */ /* / | 0 1 0 |/ */ /* / /-------/ */ /* / / / */ /* /-------/ / */ /* | 0 0 0 | / */ /* | 0 1 0 | / */ /* | 0 0 0 |/ */ /* /-------/ */ /* */ /* et qui sert a ponderer les spins des (3x3x3)-1=26 points */ /* voisins d'un point donne (represente par l'element */ /* central de cette matrice). La configuration */ /* ci-dessus correspond effectivement a la recherche */ /* des 6 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 tridimensionnelles. */ /* */ /* */ /*************************************************************************************************************************************/