From: hackbard Date: Thu, 25 Jan 2007 17:52:03 +0000 (+0000) Subject: nur foo ... X-Git-Url: https://www.hackdaworld.org/gitweb/?p=physik%2Fposic.git;a=commitdiff_plain;h=c0ddf2bdd8067456f39f6b63fe2261624ebde6b7 nur foo ... --- diff --git a/moldyn.c b/moldyn.c index f564075..881f0b6 100644 --- a/moldyn.c +++ b/moldyn.c @@ -344,7 +344,10 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element,double mass, switch(type) { case CUBIC: - ret=cubic_init(a,b,c,lc,atom,NULL); + origin.x=0.5*lc; + origin.y=0.5*lc; + origin.z=0.5*lc; + ret=cubic_init(a,b,c,lc,atom,&origin); break; case FCC: ret=fcc_init(a,b,c,lc,atom,NULL); @@ -399,8 +402,8 @@ int cubic_init(int a,int b,int c,double lc,t_atom *atom,t_3dvec *origin) { for(i=0;icount*EV; +printf("debug: %f\n",moldyn->atom[0].f.x); /* calculate initial forces */ potential_force_calc(moldyn); +printf("debug: %f\n",moldyn->atom[0].f.x); /* some stupid checks before we actually start calculating bullshit */ if(moldyn->cutoff>0.5*moldyn->dim.x) @@ -1232,8 +1237,8 @@ int moldyn_integrate(t_moldyn *moldyn) { if(!(i%v)) { visual_atoms(&(moldyn->vis),moldyn->time, moldyn->atom,moldyn->count); - printf("\rsched: %d, steps: %d, debug: %f | %f", - sched->count,i,moldyn->p/ATM,moldyn->p/ATM); + printf("\rsched: %d, steps: %d, debug: %f", + sched->count,i,moldyn->p/ATM); fflush(stdout); } } diff --git a/moldyn.h b/moldyn.h index 69cee96..0dbc1f9 100644 --- a/moldyn.h +++ b/moldyn.h @@ -146,7 +146,7 @@ typedef struct s_moldyn { t_random random; /* random interface */ - int debug; /* debugging stuff, ignore */ + double debug; /* debugging stuff, ignore */ } t_moldyn; #define MOLDYN_STAT_PBX 0x01 /* periodic boudaries in x */ @@ -235,7 +235,7 @@ typedef struct s_tersoff_exchange { t_3dvec dzeta_ji; } t_tersoff_exchange; -/* tersoff multi (2!) potential parameters */ +/* tersoff mult (2!) potential parameters */ typedef struct s_tersoff_mult_params { double S[2]; /* tersoff cutoff radii */ double S2[2]; /* tersoff cutoff radii squared */ @@ -290,7 +290,7 @@ typedef struct s_tersoff_mult_params { #define KILOGRAM (1.0/AMU) /* amu */ #define NEWTON (METER*KILOGRAM/(SECOND*SECOND)) /* A amu / fs^2 */ #define PASCAL (NEWTON/(METER*METER)) /* N / A^2 */ -#define ATM (1.0133e5*PASCAL) /* N / A^2 */ +#define ATM ((1.0133e5*PASCAL)) /* N / A^2 */ #define MOLDYN_TEMP 273.0 #define MOLDYN_TAU 1.0 @@ -330,7 +330,8 @@ typedef struct s_tersoff_mult_params { #define LC_SI (0.543105e-9*METER) /* A */ #define M_SI 28.08553 /* amu */ -#define LJ_SIGMA_SI ((0.25*sqrt(3.0)*LC_SI)/1.122462) /* A */ +//#define LJ_SIGMA_SI ((0.25*sqrt(3.0)*LC_SI)/1.122462) /* A */ +#define LJ_SIGMA_SI (LC_SI/1.122462) /* A */ #define LJ_EPSILON_SI (2.1678*EV) /* NA */ #define TM_R_SI (2.7e-10*METER) /* A */ diff --git a/sic.c b/sic.c index 999d860..7e1249c 100644 --- a/sic.c +++ b/sic.c @@ -59,13 +59,13 @@ int main(int argc,char **argv) { //set_potential2b(&md,tersoff_mult_2bp,&tp); //set_potential2b_post(&md,tersoff_mult_post_2bp,&tp); //set_potential3b(&md,tersoff_mult_3bp,&tp); - //set_potential2b(&md,lennard_jones,&lj); - set_potential2b(&md,harmonic_oscillator,&ho); + set_potential2b(&md,lennard_jones,&lj); + //set_potential2b(&md,harmonic_oscillator,&ho); /* cutoff radius */ //set_cutoff(&md,TM_S_SI); //set_cutoff(&md,2*LC_SI*0.5*sqrt(1.5)); - set_cutoff(&md,1.1*LC_SI); + set_cutoff(&md,2.0*LC_SI); /* * potential parameters @@ -81,7 +81,7 @@ int main(int argc,char **argv) { /* harmonic oscillator */ //ho.equilibrium_distance=0.25*sqrt(3.0)*LC_SI; ho.equilibrium_distance=LC_SI; - ho.spring_constant=.1; + ho.spring_constant=LJ_EPSILON_SI; /* * tersoff mult potential parameters for SiC @@ -115,18 +115,18 @@ int main(int argc,char **argv) { tersoff_mult_complete_params(&tp); /* set (initial) dimensions of simulation volume */ - //set_dim(&md,8*LC_SI*0.5*sqrt(1.5),8*LC_SI*0.5*sqrt(1.5),8*LC_SI*0.5*sqrt(1.5),TRUE); - set_dim(&md,8*LC_SI,8*LC_SI,8*LC_SI,TRUE); + set_dim(&md,6*LC_SI,6*LC_SI,6*LC_SI,TRUE); /* set periodic boundary conditions in all directions */ set_pbc(&md,TRUE,TRUE,TRUE); /* create the lattice / place atoms */ create_lattice(&md,CUBIC,LC_SI,SI,M_SI, + //create_lattice(&md,FCC,LC_SI,SI,M_SI, //create_lattice(&md,DIAMOND,LC_SI,SI,M_SI, // ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB, ATOM_ATTR_2BP|ATOM_ATTR_HB, - 0,8,8,8); + 0,6,6,6); moldyn_bc_check(&md); /* testing configuration */ @@ -171,7 +171,7 @@ int main(int argc,char **argv) { thermal_init(&md,TRUE); /* create the simulation schedule */ - moldyn_add_schedule(&md,1001,1.0); + moldyn_add_schedule(&md,100001,1.0); //moldyn_add_schedule(&md,501,1.0); //moldyn_add_schedule(&md,501,1.0); @@ -182,7 +182,7 @@ int main(int argc,char **argv) { moldyn_set_log_dir(&md,argv[1]); moldyn_set_report(&md,"Frank Zirkelbach","Test 1"); moldyn_set_log(&md,LOG_TOTAL_ENERGY,1); - moldyn_set_log(&md,VISUAL_STEP,10); + moldyn_set_log(&md,VISUAL_STEP,1000); moldyn_set_log(&md,CREATE_REPORT,0); /*