X-Git-Url: https://www.hackdaworld.org/gitweb/?a=blobdiff_plain;f=sic.c;h=5bdfeeab8b0cf7c64c5398146d2e5a49d6937a20;hb=d4af1d076a5e811d5c35832e7ea5f720554b295b;hp=d50c35ea353021153c172a08fa8bfbb2db9cecfc;hpb=58fd691b276fbe87593036714f26dbfe7486cbeb;p=physik%2Fposic.git diff --git a/sic.c b/sic.c index d50c35e..5bdfeea 100644 --- a/sic.c +++ b/sic.c @@ -209,36 +209,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,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, - 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*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 */ @@ -277,10 +296,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_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, // 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 +345,7 @@ int main(int argc,char **argv) { * integration of newtons equations */ moldyn_integrate(&md); -#ifdef DEBUG +#ifdef dEBUG return 0; #endif @@ -330,10 +353,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);