apply clang-format
This commit is contained in:
120
src/respa.cpp
120
src/respa.cpp
@ -1,4 +1,3 @@
|
|||||||
// clang-format off
|
|
||||||
/* ----------------------------------------------------------------------
|
/* ----------------------------------------------------------------------
|
||||||
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
LAMMPS - Large-scale Atomic/Molecular Massively Parallel Simulator
|
||||||
https://www.lammps.org/, Sandia National Laboratories
|
https://www.lammps.org/, Sandia National Laboratories
|
||||||
@ -46,9 +45,8 @@ using namespace LAMMPS_NS;
|
|||||||
/* ---------------------------------------------------------------------- */
|
/* ---------------------------------------------------------------------- */
|
||||||
|
|
||||||
Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
||||||
Integrate(lmp, narg, arg),
|
Integrate(lmp, narg, arg), step(nullptr), loop(nullptr), hybrid_level(nullptr),
|
||||||
step(nullptr), loop(nullptr), hybrid_level(nullptr), hybrid_compute(nullptr),
|
hybrid_compute(nullptr), newton(nullptr), fix_respa(nullptr)
|
||||||
newton(nullptr), fix_respa(nullptr)
|
|
||||||
{
|
{
|
||||||
nhybrid_styles = 0;
|
nhybrid_styles = 0;
|
||||||
if (narg < 1) error->all(FLERR, "Illegal run_style respa command");
|
if (narg < 1) error->all(FLERR, "Illegal run_style respa command");
|
||||||
@ -126,8 +124,7 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
PairHybrid *hybrid = (PairHybrid *) force->pair;
|
PairHybrid *hybrid = (PairHybrid *) force->pair;
|
||||||
nhybrid_styles = hybrid->nstyles;
|
nhybrid_styles = hybrid->nstyles;
|
||||||
// each hybrid sub-style needs to be assigned to a respa level
|
// each hybrid sub-style needs to be assigned to a respa level
|
||||||
if (iarg+nhybrid_styles > narg)
|
if (iarg + nhybrid_styles > narg) error->all(FLERR, "Illegal run_style respa command");
|
||||||
error->all(FLERR,"Illegal run_style respa command");
|
|
||||||
hybrid_level = new int[nhybrid_styles];
|
hybrid_level = new int[nhybrid_styles];
|
||||||
hybrid_compute = new int[nhybrid_styles];
|
hybrid_compute = new int[nhybrid_styles];
|
||||||
for (int i = 0; i < nhybrid_styles; ++i) {
|
for (int i = 0; i < nhybrid_styles; ++i) {
|
||||||
@ -135,19 +132,18 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
hybrid_level[i] = utils::inumeric(FLERR, arg[iarg], false, lmp) - 1;
|
hybrid_level[i] = utils::inumeric(FLERR, arg[iarg], false, lmp) - 1;
|
||||||
}
|
}
|
||||||
++iarg;
|
++iarg;
|
||||||
} else error->all(FLERR,"Illegal run_style respa command");
|
} else
|
||||||
|
error->all(FLERR, "Illegal run_style respa command");
|
||||||
}
|
}
|
||||||
|
|
||||||
// cannot specify both pair and inner/middle/outer
|
// cannot specify both pair and inner/middle/outer
|
||||||
|
|
||||||
if (level_pair >= 0 &&
|
if (level_pair >= 0 && (level_inner >= 0 || level_middle >= 0 || level_outer >= 0))
|
||||||
(level_inner >= 0 || level_middle >= 0 || level_outer >= 0))
|
|
||||||
error->all(FLERR, "Cannot set both respa pair and inner/middle/outer");
|
error->all(FLERR, "Cannot set both respa pair and inner/middle/outer");
|
||||||
|
|
||||||
// if either inner and outer is specified, then both must be
|
// if either inner and outer is specified, then both must be
|
||||||
|
|
||||||
if ((level_inner >= 0 && level_outer == -1) ||
|
if ((level_inner >= 0 && level_outer == -1) || (level_outer >= 0 && level_inner == -1))
|
||||||
(level_outer >= 0 && level_inner == -1))
|
|
||||||
error->all(FLERR, "Must set both respa inner and outer");
|
error->all(FLERR, "Must set both respa inner and outer");
|
||||||
|
|
||||||
// middle cannot be set without inner/outer
|
// middle cannot be set without inner/outer
|
||||||
@ -157,9 +153,10 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
|
|
||||||
// cannot combine hybrid with any of pair/inner/middle/outer
|
// cannot combine hybrid with any of pair/inner/middle/outer
|
||||||
|
|
||||||
if ((nhybrid_styles > 0) && (level_pair >= 0 || level_inner >= 0
|
if ((nhybrid_styles > 0) &&
|
||||||
|| level_middle >= 0 || level_outer >= 0))
|
(level_pair >= 0 || level_inner >= 0 || level_middle >= 0 || level_outer >= 0))
|
||||||
error->all(FLERR,"Cannot set respa hybrid and "
|
error->all(FLERR,
|
||||||
|
"Cannot set respa hybrid and "
|
||||||
"any of pair/inner/middle/outer");
|
"any of pair/inner/middle/outer");
|
||||||
|
|
||||||
// set defaults if user did not specify level
|
// set defaults if user did not specify level
|
||||||
@ -174,8 +171,7 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
if (level_dihedral == -1) level_dihedral = level_angle;
|
if (level_dihedral == -1) level_dihedral = level_angle;
|
||||||
if (level_improper == -1) level_improper = level_dihedral;
|
if (level_improper == -1) level_improper = level_dihedral;
|
||||||
|
|
||||||
if (level_pair == -1 && level_inner == -1 && nhybrid_styles < 1)
|
if (level_pair == -1 && level_inner == -1 && nhybrid_styles < 1) level_pair = nlevels - 1;
|
||||||
level_pair = nlevels-1;
|
|
||||||
|
|
||||||
if (level_kspace == -1 && level_pair >= 0) level_kspace = level_pair;
|
if (level_kspace == -1 && level_pair >= 0) level_kspace = level_pair;
|
||||||
if (level_kspace == -1 && level_pair == -1) {
|
if (level_kspace == -1 && level_pair == -1) {
|
||||||
@ -184,8 +180,7 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
} else {
|
} else {
|
||||||
int max_hybrid_level = -1;
|
int max_hybrid_level = -1;
|
||||||
for (int i = 0; i < nhybrid_styles; ++i) {
|
for (int i = 0; i < nhybrid_styles; ++i) {
|
||||||
if (max_hybrid_level < hybrid_level[i])
|
if (max_hybrid_level < hybrid_level[i]) max_hybrid_level = hybrid_level[i];
|
||||||
max_hybrid_level = hybrid_level[i];
|
|
||||||
}
|
}
|
||||||
level_kspace = max_hybrid_level;
|
level_kspace = max_hybrid_level;
|
||||||
}
|
}
|
||||||
@ -215,21 +210,19 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
|
|
||||||
// check that levels are in correct order
|
// check that levels are in correct order
|
||||||
|
|
||||||
if (level_angle < level_bond || level_dihedral < level_angle ||
|
if (level_angle < level_bond || level_dihedral < level_angle || level_improper < level_dihedral)
|
||||||
level_improper < level_dihedral)
|
|
||||||
error->all(FLERR, "Invalid order of forces within respa levels");
|
error->all(FLERR, "Invalid order of forces within respa levels");
|
||||||
if (level_pair >= 0) {
|
if (level_pair >= 0) {
|
||||||
if (level_pair < level_improper || level_kspace < level_pair)
|
if (level_pair < level_improper || level_kspace < level_pair)
|
||||||
error->all(FLERR, "Invalid order of forces within respa levels");
|
error->all(FLERR, "Invalid order of forces within respa levels");
|
||||||
}
|
}
|
||||||
if (level_pair == -1 && level_middle == -1 && nhybrid_styles < 1) {
|
if (level_pair == -1 && level_middle == -1 && nhybrid_styles < 1) {
|
||||||
if (level_inner < level_improper || level_outer < level_inner ||
|
if (level_inner < level_improper || level_outer < level_inner || level_kspace < level_outer)
|
||||||
level_kspace < level_outer)
|
|
||||||
error->all(FLERR, "Invalid order of forces within respa levels");
|
error->all(FLERR, "Invalid order of forces within respa levels");
|
||||||
}
|
}
|
||||||
if (level_pair == -1 && level_middle >= 0) {
|
if (level_pair == -1 && level_middle >= 0) {
|
||||||
if (level_inner < level_improper || level_middle < level_inner ||
|
if (level_inner < level_improper || level_middle < level_inner || level_outer < level_inner ||
|
||||||
level_outer < level_inner || level_kspace < level_outer)
|
level_kspace < level_outer)
|
||||||
error->all(FLERR, "Invalid order of forces within respa levels");
|
error->all(FLERR, "Invalid order of forces within respa levels");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -237,11 +230,11 @@ Respa::Respa(LAMMPS *lmp, int narg, char **arg) :
|
|||||||
|
|
||||||
int flag = 0;
|
int flag = 0;
|
||||||
for (int i = 0; i < nlevels; i++)
|
for (int i = 0; i < nlevels; i++)
|
||||||
if (level_bond != i && level_angle != i && level_dihedral != i &&
|
if (level_bond != i && level_angle != i && level_dihedral != i && level_improper != i &&
|
||||||
level_improper != i && level_pair != i && level_inner != i &&
|
level_pair != i && level_inner != i && level_middle != i && level_outer != i &&
|
||||||
level_middle != i && level_outer != i && level_kspace != i) flag = 1;
|
level_kspace != i)
|
||||||
if (flag && comm->me == 0)
|
flag = 1;
|
||||||
error->warning(FLERR,"One or more respa levels compute no forces");
|
if (flag && comm->me == 0) error->warning(FLERR, "One or more respa levels compute no forces");
|
||||||
|
|
||||||
// check cutoff consistency if inner/middle/outer are enabled
|
// check cutoff consistency if inner/middle/outer are enabled
|
||||||
|
|
||||||
@ -341,13 +334,13 @@ void Respa::init()
|
|||||||
for (int ilevel = 0; ilevel < nlevels; ilevel++) {
|
for (int ilevel = 0; ilevel < nlevels; ilevel++) {
|
||||||
newton[ilevel] = 0;
|
newton[ilevel] = 0;
|
||||||
if (force->newton_bond) {
|
if (force->newton_bond) {
|
||||||
if (level_bond == ilevel || level_angle == ilevel ||
|
if (level_bond == ilevel || level_angle == ilevel || level_dihedral == ilevel ||
|
||||||
level_dihedral == ilevel || level_improper == ilevel)
|
level_improper == ilevel)
|
||||||
newton[ilevel] = 1;
|
newton[ilevel] = 1;
|
||||||
}
|
}
|
||||||
if (force->newton_pair) {
|
if (force->newton_pair) {
|
||||||
if (level_pair == ilevel || level_inner == ilevel ||
|
if (level_pair == ilevel || level_inner == ilevel || level_middle == ilevel ||
|
||||||
level_middle == ilevel || level_outer == ilevel)
|
level_outer == ilevel)
|
||||||
newton[ilevel] = 1;
|
newton[ilevel] = 1;
|
||||||
|
|
||||||
if (nhybrid_styles > 0) {
|
if (nhybrid_styles > 0) {
|
||||||
@ -382,9 +375,7 @@ void Respa::setup(int flag)
|
|||||||
for (int l = 0; l < modify->n_post_force_respa; ++l) {
|
for (int l = 0; l < modify->n_post_force_respa; ++l) {
|
||||||
Fix *f = modify->fix[modify->list_post_force_respa[l]];
|
Fix *f = modify->fix[modify->list_post_force_respa[l]];
|
||||||
if (f->respa_level >= 0)
|
if (f->respa_level >= 0)
|
||||||
mesg += fmt::format(" {}:{}[{}]",
|
mesg += fmt::format(" {}:{}[{}]", MIN(f->respa_level + 1, nlevels), f->style, f->id);
|
||||||
MIN(f->respa_level+1,nlevels),
|
|
||||||
f->style,f->id);
|
|
||||||
}
|
}
|
||||||
mesg += "\n";
|
mesg += "\n";
|
||||||
fputs(mesg.c_str(), screen);
|
fputs(mesg.c_str(), screen);
|
||||||
@ -429,22 +420,14 @@ void Respa::setup(int flag)
|
|||||||
set_compute_flags(ilevel);
|
set_compute_flags(ilevel);
|
||||||
force->pair->compute(eflag, vflag);
|
force->pair->compute(eflag, vflag);
|
||||||
}
|
}
|
||||||
if (level_pair == ilevel && pair_compute_flag)
|
if (level_pair == ilevel && pair_compute_flag) force->pair->compute(eflag, vflag);
|
||||||
force->pair->compute(eflag,vflag);
|
if (level_inner == ilevel && pair_compute_flag) force->pair->compute_inner();
|
||||||
if (level_inner == ilevel && pair_compute_flag)
|
if (level_middle == ilevel && pair_compute_flag) force->pair->compute_middle();
|
||||||
force->pair->compute_inner();
|
if (level_outer == ilevel && pair_compute_flag) force->pair->compute_outer(eflag, vflag);
|
||||||
if (level_middle == ilevel && pair_compute_flag)
|
if (level_bond == ilevel && force->bond) force->bond->compute(eflag, vflag);
|
||||||
force->pair->compute_middle();
|
if (level_angle == ilevel && force->angle) force->angle->compute(eflag, vflag);
|
||||||
if (level_outer == ilevel && pair_compute_flag)
|
if (level_dihedral == ilevel && force->dihedral) force->dihedral->compute(eflag, vflag);
|
||||||
force->pair->compute_outer(eflag,vflag);
|
if (level_improper == ilevel && force->improper) force->improper->compute(eflag, vflag);
|
||||||
if (level_bond == ilevel && force->bond)
|
|
||||||
force->bond->compute(eflag,vflag);
|
|
||||||
if (level_angle == ilevel && force->angle)
|
|
||||||
force->angle->compute(eflag,vflag);
|
|
||||||
if (level_dihedral == ilevel && force->dihedral)
|
|
||||||
force->dihedral->compute(eflag,vflag);
|
|
||||||
if (level_improper == ilevel && force->improper)
|
|
||||||
force->improper->compute(eflag,vflag);
|
|
||||||
if (level_kspace == ilevel && force->kspace) {
|
if (level_kspace == ilevel && force->kspace) {
|
||||||
force->kspace->setup();
|
force->kspace->setup();
|
||||||
if (kspace_compute_flag) force->kspace->compute(eflag, vflag);
|
if (kspace_compute_flag) force->kspace->compute(eflag, vflag);
|
||||||
@ -506,22 +489,14 @@ void Respa::setup_minimal(int flag)
|
|||||||
force->pair->compute(eflag, vflag);
|
force->pair->compute(eflag, vflag);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (level_pair == ilevel && pair_compute_flag)
|
if (level_pair == ilevel && pair_compute_flag) force->pair->compute(eflag, vflag);
|
||||||
force->pair->compute(eflag,vflag);
|
if (level_inner == ilevel && pair_compute_flag) force->pair->compute_inner();
|
||||||
if (level_inner == ilevel && pair_compute_flag)
|
if (level_middle == ilevel && pair_compute_flag) force->pair->compute_middle();
|
||||||
force->pair->compute_inner();
|
if (level_outer == ilevel && pair_compute_flag) force->pair->compute_outer(eflag, vflag);
|
||||||
if (level_middle == ilevel && pair_compute_flag)
|
if (level_bond == ilevel && force->bond) force->bond->compute(eflag, vflag);
|
||||||
force->pair->compute_middle();
|
if (level_angle == ilevel && force->angle) force->angle->compute(eflag, vflag);
|
||||||
if (level_outer == ilevel && pair_compute_flag)
|
if (level_dihedral == ilevel && force->dihedral) force->dihedral->compute(eflag, vflag);
|
||||||
force->pair->compute_outer(eflag,vflag);
|
if (level_improper == ilevel && force->improper) force->improper->compute(eflag, vflag);
|
||||||
if (level_bond == ilevel && force->bond)
|
|
||||||
force->bond->compute(eflag,vflag);
|
|
||||||
if (level_angle == ilevel && force->angle)
|
|
||||||
force->angle->compute(eflag,vflag);
|
|
||||||
if (level_dihedral == ilevel && force->dihedral)
|
|
||||||
force->dihedral->compute(eflag,vflag);
|
|
||||||
if (level_improper == ilevel && force->improper)
|
|
||||||
force->improper->compute(eflag,vflag);
|
|
||||||
if (level_kspace == ilevel && force->kspace) {
|
if (level_kspace == ilevel && force->kspace) {
|
||||||
force->kspace->setup();
|
force->kspace->setup();
|
||||||
if (kspace_compute_flag) force->kspace->compute(eflag, vflag);
|
if (kspace_compute_flag) force->kspace->compute(eflag, vflag);
|
||||||
@ -605,8 +580,7 @@ void Respa::recurse(int ilevel)
|
|||||||
|
|
||||||
timer->stamp();
|
timer->stamp();
|
||||||
modify->initial_integrate_respa(vflag, ilevel, iloop);
|
modify->initial_integrate_respa(vflag, ilevel, iloop);
|
||||||
if (modify->n_post_integrate_respa)
|
if (modify->n_post_integrate_respa) modify->post_integrate_respa(ilevel, iloop);
|
||||||
modify->post_integrate_respa(ilevel,iloop);
|
|
||||||
timer->stamp(Timer::MODIFY);
|
timer->stamp(Timer::MODIFY);
|
||||||
|
|
||||||
// at outermost level, check on rebuilding neighbor list
|
// at outermost level, check on rebuilding neighbor list
|
||||||
@ -630,8 +604,7 @@ void Respa::recurse(int ilevel)
|
|||||||
}
|
}
|
||||||
timer->stamp();
|
timer->stamp();
|
||||||
comm->exchange();
|
comm->exchange();
|
||||||
if (atom->sortfreq > 0 &&
|
if (atom->sortfreq > 0 && update->ntimestep >= atom->nextsort) atom->sort();
|
||||||
update->ntimestep >= atom->nextsort) atom->sort();
|
|
||||||
comm->borders();
|
comm->borders();
|
||||||
if (triclinic) domain->lamda2x(atom->nlocal + atom->nghost);
|
if (triclinic) domain->lamda2x(atom->nlocal + atom->nghost);
|
||||||
timer->stamp(Timer::COMM);
|
timer->stamp(Timer::COMM);
|
||||||
@ -731,8 +704,7 @@ void Respa::recurse(int ilevel)
|
|||||||
timer->stamp(Timer::COMM);
|
timer->stamp(Timer::COMM);
|
||||||
}
|
}
|
||||||
timer->stamp();
|
timer->stamp();
|
||||||
if (modify->n_post_force_respa)
|
if (modify->n_post_force_respa) modify->post_force_respa(vflag, ilevel, iloop);
|
||||||
modify->post_force_respa(vflag,ilevel,iloop);
|
|
||||||
modify->final_integrate_respa(ilevel, iloop);
|
modify->final_integrate_respa(ilevel, iloop);
|
||||||
timer->stamp(Timer::MODIFY);
|
timer->stamp(Timer::MODIFY);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user