make force_clear() a public pure function in min.h and integrate.h
these are required changes for adding NWChem couping support as a fix
This commit is contained in:
@ -35,6 +35,7 @@ class VerletKokkos : public Verlet {
|
||||
void setup(int) override;
|
||||
void setup_minimal(int) override;
|
||||
void run(int) override;
|
||||
void force_clear() override;
|
||||
|
||||
KOKKOS_INLINE_FUNCTION
|
||||
void operator() (const int& i) const {
|
||||
@ -43,13 +44,9 @@ class VerletKokkos : public Verlet {
|
||||
f(i,2) += f_merge_copy(i,2);
|
||||
}
|
||||
|
||||
|
||||
protected:
|
||||
DAT::t_f_array f_merge_copy,f;
|
||||
|
||||
void force_clear() override;
|
||||
};
|
||||
|
||||
}
|
||||
|
||||
#endif
|
||||
|
||||
@ -117,7 +117,7 @@ void RespaOMP::setup(int flag)
|
||||
ev_set(update->ntimestep);
|
||||
|
||||
for (int ilevel = 0; ilevel < nlevels; ilevel++) {
|
||||
force_clear(newton[ilevel]);
|
||||
force_clear();
|
||||
modify->setup_pre_force_respa(vflag,ilevel);
|
||||
|
||||
if (nhybrid_styles > 0) {
|
||||
@ -211,7 +211,7 @@ void RespaOMP::setup_minimal(int flag)
|
||||
ev_set(update->ntimestep);
|
||||
|
||||
for (int ilevel = 0; ilevel < nlevels; ilevel++) {
|
||||
force_clear(newton[ilevel]);
|
||||
force_clear();
|
||||
modify->setup_pre_force_respa(vflag,ilevel);
|
||||
|
||||
if (nhybrid_styles > 0) {
|
||||
@ -343,7 +343,7 @@ void RespaOMP::recurse(int ilevel)
|
||||
// so that any order dependencies are the same
|
||||
// when potentials are invoked at same level
|
||||
|
||||
force_clear(newton[ilevel]);
|
||||
force_clear();
|
||||
if (modify->n_pre_force_respa) {
|
||||
timer->stamp();
|
||||
modify->pre_force_respa(vflag,ilevel,iloop);
|
||||
|
||||
@ -26,6 +26,7 @@ class Integrate : protected Pointers {
|
||||
virtual void setup(int flag) = 0;
|
||||
virtual void setup_minimal(int) = 0;
|
||||
virtual void run(int) = 0;
|
||||
virtual void force_clear() = 0;
|
||||
virtual void cleanup() {}
|
||||
virtual void reset_dt() {}
|
||||
virtual double memory_usage() { return 0; }
|
||||
|
||||
@ -34,6 +34,7 @@ class Min : protected Pointers {
|
||||
virtual void setup(int flag = 1);
|
||||
virtual void setup_minimal(int);
|
||||
virtual void run(int);
|
||||
virtual void force_clear();
|
||||
void cleanup();
|
||||
int request(class Pair *, int, double);
|
||||
virtual double memory_usage() { return 0; }
|
||||
@ -138,7 +139,6 @@ class Min : protected Pointers {
|
||||
int neigh_every, neigh_delay, neigh_dist_check; // neighboring params
|
||||
|
||||
virtual double energy_force(int);
|
||||
virtual void force_clear();
|
||||
|
||||
void ev_setup();
|
||||
void ev_set(bigint);
|
||||
|
||||
@ -413,7 +413,7 @@ void Respa::setup(int flag)
|
||||
ev_set(update->ntimestep);
|
||||
|
||||
for (int ilevel = 0; ilevel < nlevels; ilevel++) {
|
||||
force_clear(newton[ilevel]);
|
||||
force_clear();
|
||||
modify->setup_pre_force_respa(vflag, ilevel);
|
||||
|
||||
if (nhybrid_styles > 0) {
|
||||
@ -481,7 +481,7 @@ void Respa::setup_minimal(int flag)
|
||||
ev_set(update->ntimestep);
|
||||
|
||||
for (int ilevel = 0; ilevel < nlevels; ilevel++) {
|
||||
force_clear(newton[ilevel]);
|
||||
force_clear();
|
||||
modify->setup_pre_force_respa(vflag, ilevel);
|
||||
|
||||
if (nhybrid_styles > 0) {
|
||||
@ -644,7 +644,7 @@ void Respa::recurse(int ilevel)
|
||||
// so that any order dependencies are the same
|
||||
// when potentials are invoked at same level
|
||||
|
||||
force_clear(newton[ilevel]);
|
||||
force_clear();
|
||||
if (modify->n_pre_force_respa) {
|
||||
timer->stamp();
|
||||
modify->pre_force_respa(vflag, ilevel, iloop);
|
||||
@ -717,7 +717,7 @@ void Respa::recurse(int ilevel)
|
||||
clear other arrays as needed
|
||||
------------------------------------------------------------------------- */
|
||||
|
||||
void Respa::force_clear(int /*newtonflag*/)
|
||||
void Respa::force_clear()
|
||||
{
|
||||
if (external_force_clear) return;
|
||||
|
||||
|
||||
@ -51,6 +51,7 @@ class Respa : public Integrate {
|
||||
void setup(int) override;
|
||||
void setup_minimal(int) override;
|
||||
void run(int) override;
|
||||
void force_clear() override;
|
||||
void cleanup() override;
|
||||
void reset_dt() override;
|
||||
|
||||
@ -65,7 +66,6 @@ class Respa : public Integrate {
|
||||
class FixRespa *fix_respa; // Fix to store the force level array
|
||||
|
||||
virtual void recurse(int);
|
||||
void force_clear(int);
|
||||
void sum_flevel_f();
|
||||
void set_compute_flags(int ilevel);
|
||||
};
|
||||
|
||||
@ -27,18 +27,16 @@ namespace LAMMPS_NS {
|
||||
class Verlet : public Integrate {
|
||||
public:
|
||||
Verlet(class LAMMPS *, int, char **);
|
||||
|
||||
void init() override;
|
||||
void setup(int flag) override;
|
||||
void setup_minimal(int) override;
|
||||
void run(int) override;
|
||||
void force_clear() override;
|
||||
void cleanup() override;
|
||||
|
||||
protected:
|
||||
int triclinic; // 0 if domain is orthog, 1 if triclinic
|
||||
int torqueflag, extraflag;
|
||||
|
||||
virtual void force_clear();
|
||||
};
|
||||
|
||||
} // namespace LAMMPS_NS
|
||||
|
||||
Reference in New Issue
Block a user