changed energy fluctuation calc and heat cap calc
[physik/posic.git] / sic.c
diff --git a/sic.c b/sic.c
index cea2644..426998a 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -35,6 +35,12 @@ 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)) {
@@ -203,26 +209,32 @@ 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);
+#ifdef ALBLE
+       set_dim(&md,6*LC_SI_ALBE,6*LC_SI_ALBE,6*LC_SI_ALBE,TRUE);
        //set_dim(&md,6*LC_C_ALBE,6*LC_C_ALBE,6*LC_C_ALBE,TRUE);
+       //set_dim(&md,6*LC_SIC_ALBE,6*LC_SIC_ALBE,6*LC_SIC_ALBE,TRUE);
+#else
+       set_dim(&md,6*LC_SI,6*LC_SI,6*LC_SI,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);
+#endif
 
        /* set periodic boundary conditions in all directions */
        set_pbc(&md,TRUE,TRUE,TRUE);
 
        /* create the lattice / place atoms */
-       //create_lattice(&md,DIAMOND,LC_SI,SI,M_SI,
+#ifdef ALBLE
+       create_lattice(&md,DIAMOND,LC_SI_ALBE,SI,M_SI,
+#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);
+                      0,6,6,6,NULL);
        //               1,6,6,6,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,
                       ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
@@ -231,7 +243,7 @@ int main(int argc,char **argv) {
        create_lattice(&md,FCC,LC_SIC_ALBE,C,M_C,
                       ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
                       1,6,6,6,&r);
-       /**/
+       */
 
        moldyn_bc_check(&md);
 
@@ -272,6 +284,7 @@ int main(int argc,char **argv) {
        set_pressure(&md,BAR);
 
        /* 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);
@@ -282,7 +295,12 @@ int main(int argc,char **argv) {
 
        /* create the simulation schedule */
        /* initial configuration */
-       moldyn_add_schedule(&md,10000,1.0);
+       moldyn_add_schedule(&md,3000,1.0);
+       //moldyn_add_schedule(&md,1000,1.0);
+       //moldyn_add_schedule(&md,1000,1.0);
+       //moldyn_add_schedule(&md,1000,1.0);
+       //moldyn_add_schedule(&md,1000,1.0);
+       //moldyn_add_schedule(&md,1000,1.0);
        /* adding atoms */
        //for(inject=0;inject<INJECT;inject++) {
        //      /* injecting atom and run with enabled t scaling */
@@ -291,6 +309,7 @@ int main(int argc,char **argv) {
        //      moldyn_add_schedule(&md,1100,1.0);
        //}
 
+
        /* schedule hook function */
        moldyn_set_schedule_hook(&md,&hook,NULL);
 
@@ -314,6 +333,10 @@ int main(int argc,char **argv) {
 return 0;
 #endif
 
+       /*
+        * post processing the data
+        */
+
        /* close */
        moldyn_shutdown(&md);