/* Steven Andrews, 12/02, 1/03, 3/04 */ /* See documentation called Ising doc */ /* Copyright 2003 by Steven Andrews. Permission is granted for non-commercial use of and modifications to the code. */ #ifndef __Ising_h #define __Ising_h typedef struct LatticeType { int *g; char shape; int nx; int ny; int spc; int rot; }* Lattice; Lattice SetUpIsing(char shape,int nx,int ny,int spc,int *nunit,int rot); void FreeIsing(Lattice lt); void DisplayIsing(Lattice lt); void MetropolisIsingS(Lattice lt,int itmax,float *eps); void MetropolisIsingH(Lattice lt,int itmax,float *eps); void MetropolisIsingT(Lattice lt,int itmax,float *eps); void MetropolisIsing(Lattice lt,int itmax,float *eps); float EnergyAtIsingS(Lattice lt,float *eps,int ix,int iy,int spc1,int rot1); float EnergyAtIsingH(Lattice lt,float *eps,int ix,int iy,int spc1,int rot1); float EnergyAtIsingT(Lattice lt,float *eps,int ix,int iy,int spc1,int rot1); float EnergyAtIsing(Lattice lt,float *eps,int ix,int iy,int spc1,int rot1); float EnergyIsingS(Lattice lt,float *eps); float EnergyIsingH(Lattice lt,float *eps); float EnergyIsingT(Lattice lt,float *eps); float EnergyIsing(Lattice lt,float *eps); int CtClustersIsing(Lattice lt,int *count,int ncount); void DisplayClustersIsing(Lattice lt); float MinDistIsing(Lattice lt,int ix,int iy,int jx,int jy); void RadCorrFnIsing(Lattice lt,int spc1,int spc2,float *bins,int nbins,float binsize); void DisplayRCFIsing(Lattice lt,int spc1,int spc2,float binsize); float LatticeSiteDistH(float *xptr,float *yptr,int *ixptr,int *iyptr,float sp); //#ifdef __gl_h_ void DisplayIsingGL(Lattice lt,float *colors); //#endif #endif