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

This commit is contained in:
sjplimp
2009-08-28 20:28:23 +00:00
parent 877eb8283b
commit 5e18b620f3
10 changed files with 35 additions and 17 deletions

View File

@ -50,8 +50,9 @@ using namespace LAMMPS_NS;
#define PRE_FORCE_RESPA 2048
#define POST_FORCE_RESPA 4096
#define FINAL_INTEGRATE_RESPA 8192
#define MIN_POST_FORCE 16384
#define MIN_ENERGY 32768
#define MIN_PRE_EXCHANGE 16384
#define MIN_POST_FORCE 32768
#define MIN_ENERGY 65536
#define MIN(A,B) ((A) < (B)) ? (A) : (B)
#define MAX(A,B) ((A) > (B)) ? (A) : (B)
@ -69,7 +70,7 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp)
n_final_integrate = n_end_of_step = n_thermo_energy = 0;
n_initial_integrate_respa = n_post_integrate_respa = 0;
n_pre_force_respa = n_post_force_respa = n_final_integrate_respa = 0;
n_min_post_force = n_min_energy = 0;
n_min_pre_exchange = n_min_post_force = n_min_energy = 0;
fix = NULL;
fmask = NULL;
@ -81,7 +82,7 @@ Modify::Modify(LAMMPS *lmp) : Pointers(lmp)
list_initial_integrate_respa = list_post_integrate_respa = NULL;
list_pre_force_respa = list_post_force_respa = NULL;
list_final_integrate_respa = NULL;
list_min_post_force = list_min_energy = NULL;
list_min_pre_exchange = list_min_post_force = list_min_energy = NULL;
end_of_step_every = NULL;
@ -127,6 +128,7 @@ Modify::~Modify()
delete [] list_pre_force_respa;
delete [] list_post_force_respa;
delete [] list_final_integrate_respa;
delete [] list_min_pre_exchange;
delete [] list_min_post_force;
delete [] list_min_energy;
@ -171,6 +173,7 @@ void Modify::init()
list_init(FINAL_INTEGRATE_RESPA,
n_final_integrate_respa,list_final_integrate_respa);
list_init(MIN_PRE_EXCHANGE,n_min_pre_exchange,list_min_pre_exchange);
list_init(MIN_POST_FORCE,n_min_post_force,list_min_post_force);
list_init(MIN_ENERGY,n_min_energy,list_min_energy);
@ -388,6 +391,16 @@ void Modify::final_integrate_respa(int ilevel)
fix[list_final_integrate_respa[i]]->final_integrate_respa(ilevel);
}
/* ----------------------------------------------------------------------
minimizer pre-exchange call, only for relevant fixes
------------------------------------------------------------------------- */
void Modify::min_pre_exchange()
{
for (int i = 0; i < n_min_pre_exchange; i++)
fix[list_min_pre_exchange[i]]->min_pre_exchange();
}
/* ----------------------------------------------------------------------
minimizer force adjustment call, only for relevant fixes
------------------------------------------------------------------------- */