dmin=d;
}
}
- add_atom(moldyn,INS_TYPE,INS_MASS,INS_BRAND,
+ add_atom(moldyn,INS_TYPE,INS_BRAND,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|\
INS_ATTR,
&r,&v);
/* hook parameter structure */
t_hp hookparam;
- /* potential parameters */
- t_tersoff_mult_params tp;
- t_albe_mult_params ap;
-
/* testing location & velocity vector */
t_3dvec r,v;
memset(&r,0,sizeof(t_3dvec));
/* choose potential */
#ifdef ALBE
- set_potential3b_j1(&md,albe_mult_3bp_j1);
- set_potential3b_k1(&md,albe_mult_3bp_k1);
- set_potential3b_j2(&md,albe_mult_3bp_j2);
- set_potential3b_k2(&md,albe_mult_3bp_k2);
-#else
- set_potential1b(&md,tersoff_mult_1bp);
- set_potential3b_j1(&md,tersoff_mult_3bp_j1);
- set_potential3b_k1(&md,tersoff_mult_3bp_k1);
- set_potential3b_j2(&md,tersoff_mult_3bp_j2);
- set_potential3b_k2(&md,tersoff_mult_3bp_k2);
-#endif
-
-#ifdef ALBE
- set_potential_params(&md,&ap);
+ if(set_potential(&md,MOLDYN_POTENTIAL_AM)<0)
+ return -1;
#else
- set_potential_params(&md,&tp);
+ if(set_potential(&md,MOLDYN_POTENTIAL_TM)<0)
+ return -1;
#endif
/* cutoff radius & bondlen */
#ifdef ALBE
set_cutoff(&md,ALBE_S_SI);
- set_bondlen(&md,ALBE_S_SI,ALBE_S_C,ALBE_S_SIC);
//set_cutoff(&md,ALBE_S_C);
#else
set_cutoff(&md,TM_S_SI);
- set_bondlen(&md,TM_S_SI,TM_S_C,-1.0);
//set_cutoff(&md,TM_S_C);
#endif
* potential parameters
*/
+#ifndef ALBE
/*
* tersoff mult potential parameters for SiC
*/
- tp.S[0]=TM_S_SI;
- tp.R[0]=TM_R_SI;
- tp.A[0]=TM_A_SI;
- tp.B[0]=TM_B_SI;
- tp.lambda[0]=TM_LAMBDA_SI;
- tp.mu[0]=TM_MU_SI;
- tp.beta[0]=TM_BETA_SI;
- tp.n[0]=TM_N_SI;
- tp.c[0]=TM_C_SI;
- tp.d[0]=TM_D_SI;
- tp.h[0]=TM_H_SI;
-
- tp.S[1]=TM_S_C;
- tp.R[1]=TM_R_C;
- tp.A[1]=TM_A_C;
- tp.B[1]=TM_B_C;
- tp.lambda[1]=TM_LAMBDA_C;
- tp.mu[1]=TM_MU_C;
- tp.beta[1]=TM_BETA_C;
- tp.n[1]=TM_N_C;
- tp.c[1]=TM_C_C;
- tp.d[1]=TM_D_C;
- tp.h[1]=TM_H_C;
-
- tp.chi=TM_CHI_SIC;
-
- tersoff_mult_complete_params(&tp);
-
+ tersoff_mult_set_params(&md,SI,C);
+#else
/*
* albe mult potential parameters for SiC
*/
- ap.S[0]=ALBE_S_SI;
- ap.R[0]=ALBE_R_SI;
- ap.A[0]=ALBE_A_SI;
- ap.B[0]=ALBE_B_SI;
- ap.r0[0]=ALBE_R0_SI;
- ap.lambda[0]=ALBE_LAMBDA_SI;
- ap.mu[0]=ALBE_MU_SI;
- ap.gamma[0]=ALBE_GAMMA_SI;
- ap.c[0]=ALBE_C_SI;
- ap.d[0]=ALBE_D_SI;
- ap.h[0]=ALBE_H_SI;
-
- ap.S[1]=ALBE_S_C;
- ap.R[1]=ALBE_R_C;
- ap.A[1]=ALBE_A_C;
- ap.B[1]=ALBE_B_C;
- ap.r0[1]=ALBE_R0_C;
- ap.lambda[1]=ALBE_LAMBDA_C;
- ap.mu[1]=ALBE_MU_C;
- ap.gamma[1]=ALBE_GAMMA_C;
- ap.c[1]=ALBE_C_C;
- ap.d[1]=ALBE_D_C;
- ap.h[1]=ALBE_H_C;
-
- ap.Smixed=ALBE_S_SIC;
- ap.Rmixed=ALBE_R_SIC;
- ap.Amixed=ALBE_A_SIC;
- ap.Bmixed=ALBE_B_SIC;
- ap.r0_mixed=ALBE_R0_SIC;
- ap.lambda_m=ALBE_LAMBDA_SIC;
- ap.mu_m=ALBE_MU_SIC;
- ap.gamma_m=ALBE_GAMMA_SIC;
- ap.c_mixed=ALBE_C_SIC;
- ap.d_mixed=ALBE_D_SIC;
- ap.h_mixed=ALBE_H_SIC;
-
- albe_mult_complete_params(&ap);
+ albe_mult_set_params(&md,SI,C);
+#endif
/* set (initial) dimensions of simulation volume */
#ifdef ALBE
// diamond
#ifdef ALBE
#ifdef INIT_SI
- create_lattice(&md,DIAMOND,ALBE_LC_SI,SI,M_SI,
+ create_lattice(&md,DIAMOND,ALBE_LC_SI,SI,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 0,LCNTX,LCNTY,LCNTZ,NULL);
+ 0,LCNTX,LCNTY,LCNTZ,NULL,0,NULL);
#endif
#ifdef INIT_C
- create_lattice(&md,DIAMOND,ALBE_LC_C,C,M_C,
+ create_lattice(&md,DIAMOND,ALBE_LC_C,C,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 1,LCNTX,LCNTY,LCNTZ,NULL);
+ 1,LCNTX,LCNTY,LCNTZ,NULL,0,NULL);
#endif
#else
#ifdef INIT_SI
- create_lattice(&md,DIAMOND,LC_SI,SI,M_SI,
+ create_lattice(&md,DIAMOND,LC_SI,SI,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 0,LCNTX,LCNTY,LCNTZ,NULL);
+ 0,LCNTX,LCNTY,LCNTZ,NULL,0,NULL);
#endif
#ifdef INIT_C
- create_lattice(&md,DIAMOND,LC_C,SI,M_SI,
+ create_lattice(&md,DIAMOND,LC_C,SI,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 1,LCNTX,LCNTY,LCNTZ,NULL);
+ 1,LCNTX,LCNTY,LCNTZ,NULL,0,NULL);
#endif
#endif
#ifdef INIT_3CSIC
#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,
+ create_lattice(&md,FCC,ALBE_LC_SIC,SI,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 0,LCNTX,LCNTY,LCNTZ,&r);
+ 0,LCNTX,LCNTY,LCNTZ,&r,0,NULL);
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,
+ create_lattice(&md,FCC,ALBE_LC_SIC,C,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB|ATOM_ATTR_VB,
- 1,LCNTX,LCNTY,LCNTZ,&r);
+ 1,LCNTX,LCNTY,LCNTZ,&r,0,NULL);
#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,
+ create_lattice(&md,FCC,TM_LC_SIC,SI,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 0,LCNTX,LCNTY,LCNTZ,&r);
+ 0,LCNTX,LCNTY,LCNTZ,&r,0,NULL);
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,
+ create_lattice(&md,FCC,TM_LC_SIC,C,
ATOM_ATTR_1BP|ATOM_ATTR_2BP|ATOM_ATTR_3BP|ATOM_ATTR_HB,
- 1,LCNTX,LCNTY,LCNTZ,&r);
+ 1,LCNTX,LCNTY,LCNTZ,&r,0,NULL);
#endif
#endif