git-svn-id: svn://svn.icms.temple.edu/lammps-ro/trunk@7323 f3b2605a-c512-4ea7-a41b-209d697bcdaa

This commit is contained in:
sjplimp 2011-12-08 23:18:19 +00:00
parent 1f81fcf5e4
commit 650607a38b
2 changed files with 46 additions and 23 deletions

View File

@ -58,26 +58,31 @@ void ThrData::init_force(int nall, double **f, double **torque,
vatom_pair=vatom_bond=vatom_angle=vatom_dihed=vatom_imprp=vatom_kspce=NULL;
_f = f + _tid*nall;
memset(&(_f[0][0]),0,nall*3*sizeof(double));
if (nall > 0)
memset(&(_f[0][0]),0,nall*3*sizeof(double));
if (torque) {
_torque = torque + _tid*nall;
memset(&(_torque[0][0]),0,nall*3*sizeof(double));
if (nall > 0)
memset(&(_torque[0][0]),0,nall*3*sizeof(double));
} else _torque = NULL;
if (erforce) {
_erforce = erforce + _tid*nall;
memset(&(_erforce[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(_erforce[0]),0,nall*sizeof(double));
} else _erforce = NULL;
if (de) {
_de = de + _tid*nall;
memset(&(_de[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(_de[0]),0,nall*sizeof(double));
} else _de = NULL;
if (drho) {
_drho = drho + _tid*nall;
memset(&(_drho[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(_drho[0]),0,nall*sizeof(double));
} else _drho = NULL;
}
@ -88,7 +93,8 @@ void ThrData::init_force(int nall, double **f, double **torque,
void ThrData::init_eam(int nall, double *rho)
{
_rho = rho + _tid*nall;
memset(_rho, 0, nall*sizeof(double));
if (nall > 0)
memset(_rho, 0, nall*sizeof(double));
}
/* ---------------------------------------------------------------------- */
@ -99,8 +105,10 @@ void ThrData::init_adp(int nall, double *rho, double **mu, double **lambda)
_mu = mu + _tid*nall;
_lambda = lambda + _tid*nall;
memset(&(_mu[0][0]), 0, nall*3*sizeof(double));
memset(&(_lambda[0][0]), 0, nall*6*sizeof(double));
if (nall > 0) {
memset(&(_mu[0][0]), 0, nall*3*sizeof(double));
memset(&(_lambda[0][0]), 0, nall*6*sizeof(double));
}
}
/* ---------------------------------------------------------------------- */
@ -111,8 +119,10 @@ void ThrData::init_cdeam(int nall, double *rho, double *rhoB, double *D_values)
_rhoB = rhoB + _tid*nall;
_D_values = D_values + _tid*nall;
memset(_rhoB, 0, nall*sizeof(double));
memset(_D_values, 0, nall*sizeof(double));
if (nall > 0) {
memset(_rhoB, 0, nall*sizeof(double));
memset(_D_values, 0, nall*sizeof(double));
}
}
/* ---------------------------------------------------------------------- */
@ -122,7 +132,8 @@ void ThrData::init_eim(int nall, double *rho, double *fp)
init_eam(nall, rho);
_fp = fp + _tid*nall;
memset(_fp,0,nall*sizeof(double));
if (nall > 0)
memset(_fp,0,nall*sizeof(double));
}
/* ----------------------------------------------------------------------

View File

@ -70,55 +70,65 @@ void ThrOMP::ev_setup_thr(int eflag, int vflag, int nall, double *eatom,
if (thr_style & THR_PAIR) {
if (eflag & 2) {
thr->eatom_pair = eatom + tid*nall;
memset(&(thr->eatom_pair[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(thr->eatom_pair[0]),0,nall*sizeof(double));
}
if (vflag & 4) {
thr->vatom_pair = vatom + tid*nall;
memset(&(thr->vatom_pair[0][0]),0,nall*6*sizeof(double));
if (nall > 0)
memset(&(thr->vatom_pair[0][0]),0,nall*6*sizeof(double));
}
}
if (thr_style & THR_BOND) {
if (eflag & 2) {
thr->eatom_bond = eatom + tid*nall;
memset(&(thr->eatom_bond[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(thr->eatom_bond[0]),0,nall*sizeof(double));
}
if (vflag & 4) {
thr->vatom_bond = vatom + tid*nall;
memset(&(thr->vatom_bond[0][0]),0,nall*6*sizeof(double));
if (nall > 0)
memset(&(thr->vatom_bond[0][0]),0,nall*6*sizeof(double));
}
}
if (thr_style & THR_ANGLE) {
if (eflag & 2) {
thr->eatom_angle = eatom + tid*nall;
memset(&(thr->eatom_angle[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(thr->eatom_angle[0]),0,nall*sizeof(double));
}
if (vflag & 4) {
thr->vatom_angle = vatom + tid*nall;
memset(&(thr->vatom_angle[0][0]),0,nall*6*sizeof(double));
if (nall > 0)
memset(&(thr->vatom_angle[0][0]),0,nall*6*sizeof(double));
}
}
if (thr_style & THR_DIHEDRAL) {
if (eflag & 2) {
thr->eatom_dihed = eatom + tid*nall;
memset(&(thr->eatom_dihed[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(thr->eatom_dihed[0]),0,nall*sizeof(double));
}
if (vflag & 4) {
thr->vatom_dihed = vatom + tid*nall;
memset(&(thr->vatom_dihed[0][0]),0,nall*6*sizeof(double));
if (nall > 0)
memset(&(thr->vatom_dihed[0][0]),0,nall*6*sizeof(double));
}
}
if (thr_style & THR_IMPROPER) {
if (eflag & 2) {
thr->eatom_imprp = eatom + tid*nall;
memset(&(thr->eatom_imprp[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(thr->eatom_imprp[0]),0,nall*sizeof(double));
}
if (vflag & 4) {
thr->vatom_imprp = vatom + tid*nall;
memset(&(thr->vatom_imprp[0][0]),0,nall*6*sizeof(double));
if (nall > 0)
memset(&(thr->vatom_imprp[0][0]),0,nall*6*sizeof(double));
}
}
@ -126,11 +136,13 @@ void ThrOMP::ev_setup_thr(int eflag, int vflag, int nall, double *eatom,
if (thr_style & THR_KSPACE) {
if (eflag & 2) {
thr->eatom_kspce = eatom + tid*nall;
memset(&(thr->eatom_kspce[0]),0,nall*sizeof(double));
if (nall > 0)
memset(&(thr->eatom_kspce[0]),0,nall*sizeof(double));
}
if (vflag & 4) {
thr->vatom_kspce = vatom + tid*nall;
memset(&(thr->vatom_kspce[0][0]),0,nall*6*sizeof(double));
if (nall > 0)
memset(&(thr->vatom_kspce[0][0]),0,nall*6*sizeof(double));
}
}
#endif