X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=moldyn.c;h=15dcedef5fd105b05ce69e2c9d49ad5a8c4c353e;hb=f0e4c6422ec1aff0cf86597fef919335bba75c1b;hp=d3d63eb844ff7c1f0e2bd7dd59f2aa5d87d38a1f;hpb=beac6be36b6859ff09d1d5c426b762a9fb34c03d;p=physik%2Fposic.git diff --git a/moldyn.c b/moldyn.c index d3d63eb..15dcede 100644 --- a/moldyn.c +++ b/moldyn.c @@ -520,7 +520,8 @@ int moldyn_log_shutdown(t_moldyn *moldyn) { int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element, u8 attr,u8 brand,int a,int b,int c,t_3dvec *origin, - t_part_params *p_params,t_defect_params *d_params) { + t_part_params *p_params,t_defect_params *d_params, + t_offset_params *o_params) { int new,count; int ret; @@ -592,6 +593,8 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element, switch(type) { case CUBIC: + if(o_params->use) + v3_add(&orig,&orig,&(o_params->o)); set_nn_dist(moldyn,lc); ret=cubic_init(a,b,c,lc,atom,&orig,p_params,d_params); strcpy(name,"cubic"); @@ -599,6 +602,8 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element, case FCC: if(!origin) v3_scale(&orig,&orig,0.5); + if(o_params->use) + v3_add(&orig,&orig,&(o_params->o)); set_nn_dist(moldyn,0.5*sqrt(2.0)*lc); ret=fcc_init(a,b,c,lc,atom,&orig,p_params,d_params); strcpy(name,"fcc"); @@ -606,6 +611,8 @@ int create_lattice(t_moldyn *moldyn,u8 type,double lc,int element, case DIAMOND: if(!origin) v3_scale(&orig,&orig,0.25); + if(o_params->use) + v3_add(&orig,&orig,&(o_params->o)); set_nn_dist(moldyn,0.25*sqrt(3.0)*lc); ret=diamond_init(a,b,c,lc,atom,&orig,p_params,d_params); strcpy(name,"diamond"); @@ -806,8 +813,6 @@ int del_atom(t_moldyn *moldyn,int tag) { case DEFECT_STYPE_DB_Z:\ d_o.z=d_params->od;\ d_d.z=d_params->dd;\ -d_d.x=0.9;\ -d_d.y=0.9;\ break;\ case DEFECT_STYPE_DB_R:\ break;\ @@ -2283,7 +2288,9 @@ int velocity_verlet(t_moldyn *moldyn) { delta.y=-delta.x; } #endif +#ifndef QUENCH v3_add(&(atom[i].r),&(atom[i].r),&delta); +#endif v3_scale(&delta,&(atom[i].f),h*tau_square); #ifdef CONSTRAINT_110_5832 if(i==5832) {