isecurity checkin .. .we have the diffs anyways!
[physik/posic.git] / sic.c
diff --git a/sic.c b/sic.c
index 20c80d1..05de728 100644 (file)
--- a/sic.c
+++ b/sic.c
@@ -39,8 +39,8 @@
 #define LCNTX          9
 #define LCNTY          9
 #define LCNTZ          9
-#define PRERUN         10
-#define POSTRUN                4000
+#define PRERUN         40
+#define POSTRUN                3000
 
 #define R_TITLE                "Silicon self-interstitial"
 #define LOG_E          10
@@ -110,14 +110,35 @@ int hook_add_atom(void *moldyn,void *hook_params) {
        for(j=0;j<NR_ATOMS;j++) {
                run=1;
                while(run) {
-                       r.x=1.0/8.0*ALBE_LC_SI;
+                       // tetrahedral
+                       /*
+                       r.x=0.0;
+                       r.y=0.0;
+                       r.z=0.0;
+                       */
+                       // hexagonal
+                       //
+                       r.x=-1.0/8.0*ALBE_LC_SI;
                        r.y=-1.0/8.0*ALBE_LC_SI;
-                       r.z=-1.0/8.0*ALBE_LC_SI;
-                       //r.x=(rand_get_double(&(md->random))-0.5)*INJ_LENX;
+                       r.z=1.0/8.0*ALBE_LC_SI;
+                       //
+                       // 110 dumbbell
+                       /*
+                       r.x=(-0.5+0.25+0.125)*ALBE_LC_SI;
+                       r.y=(-0.5+0.25+0.125)*ALBE_LC_SI;
+                       r.z=(-0.5+0.25)*ALBE_LC_SI;
+                       md->atom[4372].r.x=(-0.5+0.125+0.125)*ALBE_LC_SI;
+                       md->atom[4372].r.y=(-0.5+0.125+0.125)*ALBE_LC_SI;
+                       */
+                       // random
+                       /*
+                       r.x=(rand_get_double(&(md->random))-0.5)*INJ_LENX;
+                       r.y=(rand_get_double(&(md->random))-0.5)*INJ_LENY;
+                       r.z=(rand_get_double(&(md->random))-0.5)*INJ_LENZ;
+                       */
+                       // offset
                        r.x+=INJ_OFFSET;
-                       //r.y=(rand_get_double(&(md->random))-0.5)*INJ_LENY;
                        r.y+=INJ_OFFSET;
-                       //r.z=(rand_get_double(&(md->random))-0.5)*INJ_LENZ;
                        r.z+=INJ_OFFSET;
                        /* assume valid coordinates */
                        run=0;
@@ -127,6 +148,7 @@ int hook_add_atom(void *moldyn,void *hook_params) {
                                d=v3_absolute_square(&dist);
                                /* reject coordinates */
                                if(d<R_C) {
+                                       //printf("atom %d - %f\n",i,d);
                                        run=1;
                                        break;
                                }
@@ -300,6 +322,7 @@ int main(int argc,char **argv) {
        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,
@@ -310,6 +333,7 @@ int main(int argc,char **argv) {
        //               ATOM_ATTR_2BP|ATOM_ATTR_HB,
                       0,LCNTX,LCNTY,LCNTZ,NULL);
        //               1,LCNTX,LCNTY,LCNTZ,NULL);
+       //
 
        /* create zinkblende structure */
        /*