X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=blobdiff_plain;f=posic.c;h=04d9b7f1ff23bc0d3f5dcf504ff9f6f83b461979;hb=3961d57b84198e336085fd79263fec40837066a0;hp=4eb2d043e4be7972848ef059b4f69ad39204ce6d;hpb=eceebe3ee412aa8cea3e6a7f0038883707f78460;p=physik%2Fposic.git diff --git a/posic.c b/posic.c index 4eb2d04..04d9b7f 100644 --- a/posic.c +++ b/posic.c @@ -14,6 +14,8 @@ int main(int argc,char **argv) { + t_moldyn md; + t_atom *si; t_visual vis; @@ -21,10 +23,13 @@ int main(int argc,char **argv) { t_random random; int a,b,c; - double t,e; + double t,e,u; + double help; t_3dvec p; int count; + t_lj_params lj; + char fb[32]="saves/fcc_test"; /* init */ @@ -52,9 +57,6 @@ int main(int argc,char **argv) { printf("setting thermal fluctuations\n"); thermal_init(si,&random,count,t); - /* visualize */ - - visual_atoms(&vis,0.0,si,count); /* check kinetic energy */ @@ -66,12 +68,49 @@ int main(int argc,char **argv) { p=get_total_p(si,count); printf("total momentum: %f\n",v3_norm(&p)); + /* check potential energy */ + md.count=count; + md.atom=si; + md.potential=potential_lennard_jones; + md.force=force_lennard_jones; + md.cutoff_square=((LC_SI/4.0)*(LC_SI/4.0)); + md.pot_params=&lj; + md.integrate=velocity_verlet; + md.time_steps=RUNS; + md.tau=TAU; + md.status=0; + md.visual=&vis; + + lj.sigma6=3.0/16.0*LC_SI*LC_SI; + help=lj.sigma6*lj.sigma6; + lj.sigma6*=help; + lj.sigma12=lj.sigma6*lj.sigma6; + lj.epsilon=1; + + u=get_e_pot(&md); + + printf("potential energy: %f\n",u); + printf("total energy (1): %f\n",e+u); + printf("total energy (2): %f\n",get_total_energy(&md)); + + md.dim.x=a*LC_SI; + md.dim.y=b*LC_SI; + md.dim.z=c*LC_SI; + /* * let's do the actual md algorithm now * * integration of newtons equations */ + /* visualize */ + //visual_atoms(&vis,0.0,si,count); + + + moldyn_integrate(&md); + + printf("total energy (after integration): %f\n",get_total_energy(&md)); + /* close */ visual_tini(&vis);