X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=sic.c;h=7c40a7e6c8f603f8ff375b08b40c30e8f37ce9ea;hb=180ff86ae35ca0ea6ee857e92e56120e65315d17;hp=9cb2c554f42c0d81e98e202ab12223d65c19b976;hpb=56fe12b9eabe0cfa493e2f1b1d0d7d219ae8705b;p=physik%2Fposic.git diff --git a/sic.c b/sic.c index 9cb2c55..7c40a7e 100644 --- a/sic.c +++ b/sic.c @@ -14,9 +14,6 @@ #include "posic.h" -#define TRUE 1 -#define FALSE 0 - int main(int argc,char **argv) { /* main moldyn structure */ @@ -64,11 +61,11 @@ int main(int argc,char **argv) { /* cutoff radius */ printf("[sic] setting cutoff radius\n"); - set_cutoff(&md,LC_SI); + set_cutoff(&md,1*LC_SI); /* set (initial) dimensions of simulation volume */ printf("[sic] setting dimensions\n"); - set_dim(&md,10*LC_SI,10*LC_SI,10*LC_SI,TRUE); + set_dim(&md,4*LC_SI,4*LC_SI,4*LC_SI,TRUE); /* set periodic boundary conditions in all directions */ printf("[sic] setting periodic boundary conditions\n"); @@ -76,37 +73,34 @@ int main(int argc,char **argv) { /* create the lattice / place atoms */ printf("[sic] creating atoms\n"); - memset(&v,0,sizeof(t_3dvec)); - r.y=0; - r.z=0; - r.x=0.23*sqrt(3.0)*LC_SI/2.0; - add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v); - r.x=-r.x; - add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v); - printf("[sic] check: there are %d atoms\n",md.count); - printf("[sic] check: atoms x pos: %.15f %.15f\n",md.atom[0].r.x,md.atom[1].r.x); - printf("[sic] check: atoms x vel: %.15f %.15f\n",md.atom[0].v.x,md.atom[1].v.x); - printf("[sic] check: atoms mass: %.35f %.35f\n",md.atom[0].mass,md.atom[1].mass); + //memset(&v,0,sizeof(t_3dvec)); + //r.y=0; + //r.z=0; + //r.x=0.23*sqrt(3.0)*LC_SI/2.0; + //add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v); + //r.x=-r.x; + //add_atom(&md,SI,M_SI,0,ATOM_ATTR_2BP,&r,&v); + create_lattice(&md,DIAMOND,LC_SI,SI,M_SI,ATOM_ATTR_2BP,0,4,4,4); + + /* setting a nearest neighbour distance for the moldyn checks */ + set_nn_dist(&md,sqrt(3.0)*LC_SI/4.0); /* diamond ! */ /* set temperature */ printf("[sic] setting temperature\n"); - set_temperature(&md,0.0); + set_temperature(&md,273.0); /* initial thermal fluctuations of particles */ printf("[sic] thermal init\n"); thermal_init(&md); - printf("[sic] check: there are %d atoms\n",md.count); - printf("[sic] check: atoms x pos: %.15f %.15f\n",md.atom[0].r.x,md.atom[1].r.x); - printf("[sic] check: atoms x vel: %.15f %.15f\n",md.atom[0].v.x,md.atom[1].v.x); /* create the simulation schedule */ printf("[sic] adding schedule\n"); - moldyn_add_schedule(&md,10000,1.0e-12); + moldyn_add_schedule(&md,10000,1.0e-15); /* activate logging */ printf("[sic] activate logging\n"); - moldyn_set_log(&md,LOG_TOTAL_ENERGY,"saves/test-energy",1); - moldyn_set_log(&md,VISUAL_STEP,"saves/test-visual",1); + moldyn_set_log(&md,LOG_TOTAL_ENERGY,"saves/test-energy",100); + moldyn_set_log(&md,VISUAL_STEP,"saves/test-visual",100); /* * let's do the actual md algorithm now