average calc moved, more fscking virial testing
[physik/posic.git] / sic.c
diff --git a/sic.c b/sic.c
index d50c35e..ba7de3d 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -35,14 +35,6 @@ int hook(void *moldyn,void *hook_params) {
 
        md=moldyn;
 
-// vortrag
-set_temperature(moldyn,(4-md->schedule.count)*1000.0);
-set_pt_scale(md,0,0,T_SCALE_BERENDSEN,100.0);
-
-return 0;
-
-       printf("\nschedule hook: ");
-
        if(!(md->schedule.count%2)) {
                /* add carbon at random place, and enable t scaling */
                for(j=0;j<NR_ATOMS;j++) {
@@ -209,36 +201,55 @@ int main(int argc,char **argv) {
        albe_mult_complete_params(&ap);
 
        /* set (initial) dimensions of simulation volume */
-       set_dim(&md,6*LC_SI_ALBE,6*LC_SI_ALBE,6*LC_SI_ALBE,TRUE);
-       //set_dim(&md,6*LC_SI,6*LC_SI,6*LC_SI,TRUE);
-       //set_dim(&md,6*LC_C_ALBE,6*LC_C_ALBE,6*LC_C_ALBE,TRUE);
-       //set_dim(&md,6*LC_C,6*LC_C,6*LC_C,TRUE);
-       //set_dim(&md,6*LC_SIC_ALBE,6*LC_SIC_ALBE,6*LC_SIC_ALBE,TRUE);
+#ifdef ALBE
+       //set_dim(&md,8*ALBE_LC_SI,8*ALBE_LC_SI,8*ALBE_LC_SI,TRUE);
+       //set_dim(&md,8*ALBE_LC_C,8*ALBE_LC_C,8*ALBE_LC_C,TRUE);
+       set_dim(&md,8*ALBE_LC_SIC,8*ALBE_LC_SIC,8*ALBE_LC_SIC,TRUE);
+#else
+       //set_dim(&md,8*LC_SI,8*LC_SI,8*LC_SI,TRUE);
+       //set_dim(&md,8*LC_C,8*LC_C,8*LC_C,TRUE);
+       set_dim(&md,8*TM_LC_SIC,8*TM_LC_SIC,8*TM_LC_SIC,TRUE);
+#endif
 
        /* set periodic boundary conditions in all directions */
        set_pbc(&md,TRUE,TRUE,TRUE);
 
        /* create the lattice / place atoms */
+#ifdef ALBE
+       //create_lattice(&md,DIAMOND,ALBE_LC_SI,SI,M_SI,
+       //create_lattice(&md,DIAMOND,ALBE_LC_C,C,M_C,
+#else
        //create_lattice(&md,DIAMOND,LC_SI,SI,M_SI,
-       //create_lattice(&md,DIAMOND,LC_C_ALBE,C,M_C,
-       create_lattice(&md,DIAMOND,LC_SI_ALBE,SI,M_SI,
-                      ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
+#endif
+       //               ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
        //               ATOM_ATTR_2BP|ATOM_ATTR_HB,
-                      0,6,6,6,NULL);
-       //               1,6,6,6,NULL);
+       //               0,8,8,8,NULL);
+       //               1,8,8,8,NULL);
 
-       /* create centered zinc blende lattice */
-       /*
-       r.x=0.5*0.25*LC_SIC_ALBE; r.y=r.x; r.z=r.x;
-       create_lattice(&md,FCC,LC_SIC_ALBE,SI,M_SI,
+       /* create zinkblende structure */
+       /**/
+#ifdef ALBE
+       r.x=0.5*0.25*ALBE_LC_SIC; r.y=r.x; r.z=r.x;
+       create_lattice(&md,FCC,ALBE_LC_SIC,SI,M_SI,
                       ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
-                      0,6,6,6,&r);
-       r.x+=0.25*LC_SIC_ALBE; r.y=r.x; r.z=r.x;
-       create_lattice(&md,FCC,LC_SIC_ALBE,C,M_C,
+                      0,8,8,8,&r);
+       r.x+=0.25*ALBE_LC_SIC; r.y=r.x; r.z=r.x;
+       create_lattice(&md,FCC,ALBE_LC_SIC,C,M_C,
+                      ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
+                      1,8,8,8,&r);
+#else
+       r.x=0.5*0.25*TM_LC_SIC; r.y=r.x; r.z=r.x;
+       create_lattice(&md,FCC,TM_LC_SIC,SI,M_SI,
                       ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
-                      1,6,6,6,&r);
-       */
+                      0,8,8,8,&r);
+       r.x+=0.25*TM_LC_SIC; r.y=r.x; r.z=r.x;
+       create_lattice(&md,FCC,TM_LC_SIC,C,M_C,
+                      ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
+                      1,8,8,8,&r);
+#endif
+       /**/
 
+       /* check for right atom placing */
        moldyn_bc_check(&md);
 
        /* testing configuration */
@@ -277,10 +288,14 @@ int main(int argc,char **argv) {
        set_temperature(&md,atof(argv[2])+273.0);
        set_pressure(&md,BAR);
 
+       /* set amount of steps to skip before average calc */
+       set_avg_skip(&md,1000);
+
        /* set p/t scaling */
+       //set_pt_scale(&md,0,0,T_SCALE_BERENDSEN,100.0);
        //set_pt_scale(&md,P_SCALE_BERENDSEN,0.001,
        //                 T_SCALE_BERENDSEN,100.0);
-       //set_pt_scale(&md,0,0,T_SCALE_DIRECT,1.0);
+       //set_pt_scale(&md,0,0,T_SCALE_dIRECT,1.0);
        //set_pt_scale(&md,P_SCALE_BERENDSEN,0.001,0,0);
        
        /* initial thermal fluctuations of particles (in equilibrium) */
@@ -322,7 +337,7 @@ int main(int argc,char **argv) {
         * integration of newtons equations
         */
        moldyn_integrate(&md);
-#ifdef DEBUG
+#ifdef dEBUG
 return 0;
 #endif
 
@@ -330,10 +345,6 @@ return 0;
         * post processing the data
         */
 
-       /* response functions expressed by energy fluctuations */
-       calc_fluctuations(1000.0,9999.0,&md);
-       get_heat_capacity(&md);
-
        /* close */
        moldyn_shutdown(&md);