X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fising.git;a=blobdiff_plain;f=ising.c;h=d3690247f9a94136609a8495d27ad637656ba65a;hp=e43b4be0a7df9ec7134f9cd5d668f651904e2dc7;hb=HEAD;hpb=78fcc4451906fd4fbc2830fc72fd511563d9bf98 diff --git a/ising.c b/ising.c index e43b4be..d369024 100644 --- a/ising.c +++ b/ising.c @@ -7,32 +7,63 @@ * */ +#define _GNU_SOURCE #include #include #include #include #include +#include +#include +#include +#include + #include "dfbapi.h" #define X 200 #define Y 200 -#define MAX_T 100 +#define I 20 +#define S 1 + +int usage(void) +{ + puts("usage:"); + puts(""); + puts("-h \t show this help"); + puts("-o \t save T - M values to file"); + puts("-i \t specify itteration value"); + puts("-x \t # x lattice sites"); + puts("-y \t # y lattice sites"); + puts("-s \t spin interaction strength"); + puts("-r \t run in interactive mode (still in work)"); + puts("-d \t refresh display rate"); + puts("-t maximal temperature"); + + return 1; +} int main(int argc, char **argv) { unsigned char *atom; - char *arg_v[4]; - char m_text[30]; - char t_text[30]; - char b_text[30]; + char *arg_v[7]; + char m_text[64]; + char t_text[64]; + char b_text[64]; + char s_text[64]; + char output_file[64]; + int of_fd=0; int max_x,x_c,max_y,y_c; int i; + int itt; int count_p; - unsigned int T; - double S; - int M; + double T; + double s; + int M=0; double beta; double delta_e; + int runfree=0; + double max_T; + int dr=1; /* random stuff*/ srand(time(0)); @@ -40,59 +71,166 @@ int main(int argc, char **argv) /* display stuff */ d2_lattice d2_l; - /* we will parse argv later ... */ max_x=X; max_y=Y; - + itt=I; + s=S; + strcpy(output_file,""); + max_T=0; + /* parse argv */ + for(i=1;i0;T-=.05) + { + beta=1.0/T; /* k_B = 1 */ + for(i=0;i