X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=sic.c;h=30de32874025ff60b8dfae01224730c95032c037;hb=25c22fe95e80365056c6a7fadc548119360ca8ce;hp=426998a15fefbf87e436408189a3a1a746f1d8eb;hpb=0fbd532d8ddce9848df592ed586ffba439369284;p=physik%2Fposic.git diff --git a/sic.c b/sic.c index 426998a..30de328 100644 --- a/sic.c +++ b/sic.c @@ -210,12 +210,13 @@ int main(int argc,char **argv) { /* set (initial) dimensions of simulation volume */ #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); + //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,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,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 */ @@ -223,28 +224,40 @@ int main(int argc,char **argv) { /* create the lattice / place atoms */ #ifdef ALBLE - create_lattice(&md,DIAMOND,LC_SI_ALBE,SI,M_SI, + //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,SI,M_SI, #endif - ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB, + // 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,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, - 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, + 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, + 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,6,6,6,&r); - */ + 1,8,8,8,&r); +#endif + /**/ + /* check for right atom placing */ moldyn_bc_check(&md); /* testing configuration */ @@ -283,6 +296,9 @@ 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_mean_skip(&md,500); + /* set p/t scaling */ //set_pt_scale(&md,0,0,T_SCALE_BERENDSEN,100.0); //set_pt_scale(&md,P_SCALE_BERENDSEN,0.001, @@ -295,7 +311,7 @@ int main(int argc,char **argv) { /* create the simulation schedule */ /* initial configuration */ - moldyn_add_schedule(&md,3000,1.0); + moldyn_add_schedule(&md,1500,1.0); //moldyn_add_schedule(&md,1000,1.0); //moldyn_add_schedule(&md,1000,1.0); //moldyn_add_schedule(&md,1000,1.0);