move two_charge_force calc to occur at init, not constructor

This commit is contained in:
Steve Plimpton
2020-01-21 14:24:55 -07:00
parent 7728c5069f
commit b29ffabe56
11 changed files with 57 additions and 8 deletions

View File

@ -39,7 +39,8 @@ KSpace::KSpace(LAMMPS *lmp) : Pointers(lmp)
virial[0] = virial[1] = virial[2] = virial[3] = virial[4] = virial[5] = 0.0;
triclinic_support = 1;
ewaldflag = pppmflag = msmflag = dispersionflag = tip4pflag = dipoleflag = spinflag = 0;
ewaldflag = pppmflag = msmflag = dispersionflag = tip4pflag =
dipoleflag = spinflag = 0;
compute_flag = 1;
group_group_enable = 0;
stagger_flag = 0;
@ -78,9 +79,6 @@ KSpace::KSpace(LAMMPS *lmp) : Pointers(lmp)
accuracy_absolute = -1.0;
accuracy_real_6 = -1.0;
accuracy_kspace_6 = -1.0;
two_charge_force = force->qqr2e *
(force->qelectron * force->qelectron) /
(force->angstrom * force->angstrom);
neighrequest_flag = 1;
mixflag = 0;
@ -158,6 +156,17 @@ KSpace::~KSpace()
memory->destroy(dgcons);
}
/* ----------------------------------------------------------------------
calculate this in init() so that units are finalized
------------------------------------------------------------------------- */
void KSpace::two_charge()
{
two_charge_force = force->qqr2e *
(force->qelectron * force->qelectron) /
(force->angstrom * force->angstrom);
}
/* ---------------------------------------------------------------------- */
void KSpace::triclinic_check()