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

This commit is contained in:
sjplimp
2010-07-15 23:23:37 +00:00
parent bd420610f5
commit 5bbed4347d
6 changed files with 20 additions and 4 deletions

View File

@ -91,6 +91,7 @@ class Fix : protected Pointers {
virtual void init() {} virtual void init() {}
virtual void init_list(int, class NeighList *) {} virtual void init_list(int, class NeighList *) {}
virtual void setup(int) {} virtual void setup(int) {}
virtual void setup_pre_force(int) {}
virtual void min_setup(int) {} virtual void min_setup(int) {}
virtual void initial_integrate(int) {} virtual void initial_integrate(int) {}
virtual void post_integrate() {} virtual void post_integrate() {}

View File

@ -169,12 +169,13 @@ void FixAdapt::init()
if (!input->variable->equalstyle(ivar[m])) if (!input->variable->equalstyle(ivar[m]))
error->all("Variable for fix adapt is not equal style"); error->all("Variable for fix adapt is not equal style");
} }
}
// set params to values for initial force calculation /* ---------------------------------------------------------------------- */
// needs to happen here in init() instead of setup()
// because modify->setup() is called after pre-Verlet forces are computed
pre_force(0); void FixAdapt::setup_pre_force(int vflag)
{
pre_force(vflag);
} }
/* ---------------------------------------------------------------------- */ /* ---------------------------------------------------------------------- */

View File

@ -30,6 +30,7 @@ class FixAdapt : public Fix {
~FixAdapt(); ~FixAdapt();
int setmask(); int setmask();
void init(); void init();
void setup_pre_force(int);
void pre_force(int); void pre_force(int);
private: private:

View File

@ -248,6 +248,16 @@ void Modify::setup(int vflag)
for (int i = 0; i < nfix; i++) fix[i]->min_setup(vflag); for (int i = 0; i < nfix; i++) fix[i]->min_setup(vflag);
} }
/* ----------------------------------------------------------------------
setup pre_force call, only for relevant fixes
------------------------------------------------------------------------- */
void Modify::setup_pre_force(int vflag)
{
for (int i = 0; i < n_pre_force; i++)
fix[list_pre_force[i]]->setup_pre_force(vflag);
}
/* ---------------------------------------------------------------------- /* ----------------------------------------------------------------------
1st half of integrate call, only for relevant fixes 1st half of integrate call, only for relevant fixes
------------------------------------------------------------------------- */ ------------------------------------------------------------------------- */

View File

@ -42,6 +42,7 @@ class Modify : protected Pointers {
~Modify(); ~Modify();
void init(); void init();
void setup(int); void setup(int);
void setup_pre_force(int);
void initial_integrate(int); void initial_integrate(int);
void post_integrate(); void post_integrate();
void pre_decide(); void pre_decide();

View File

@ -102,6 +102,7 @@ void Verlet::setup()
ev_set(update->ntimestep); ev_set(update->ntimestep);
force_clear(); force_clear();
modify->setup_pre_force(vflag);
if (force->pair) force->pair->compute(eflag,vflag); if (force->pair) force->pair->compute(eflag,vflag);
@ -152,6 +153,7 @@ void Verlet::setup_minimal(int flag)
ev_set(update->ntimestep); ev_set(update->ntimestep);
force_clear(); force_clear();
modify->setup_pre_force(vflag);
if (force->pair) force->pair->compute(eflag,vflag); if (force->pair) force->pair->compute(eflag,vflag);