Also removed unused member ndelta from t_inputrec.
Change-Id: Idde132176582001bdffafa6fa64af2eed9d0c242
Unused.
-.. mdp:: ns-type
-
- .. mdp-value:: grid
-
- Make a grid in the box and only check atoms in neighboring grid
- cells when constructing a new neighbor list every
- :mdp:`nstlist` steps. In large systems grid search is much
- faster than simple search.
-
- .. mdp-value:: simple
-
- Check every atom in the box when constructing a new neighbor
- list every :mdp:`nstlist` steps (only with :mdp-value:`cutoff-scheme=group`
- cut-off scheme).
-
.. mdp:: pbc
.. mdp-value:: xyz
gmx_fatal(FARGS, "With pbc=%s can only do domain decomposition in the x-direction", epbc_names[ir->ePBC]);
}
- if (ir->ns_type == ensSIMPLE)
- {
- gmx_fatal(FARGS, "Domain decomposition does not support simple neighbor searching, use grid searching or run with one MPI rank");
- }
-
if (ir->nstlist == 0)
{
gmx_fatal(FARGS, "Domain decomposition does not work with nstlist=0");
{
ir->cutoff_scheme = ecutsGROUP;
}
- serializer->doInt(&ir->ns_type);
+ serializer->doInt(&idum); /* used to be ns_type; not used anymore */
serializer->doInt(&ir->nstlist);
serializer->doInt(&idum); /* used to be ndelta; not used anymore */
/* make exclusions between QM atoms and remove charges if needed */
if (ir->bQMMM)
{
- if (ir->QMMMscheme == eQMMMschemenormal && ir->ns_type == ensSIMPLE)
- {
- gmx_fatal(FARGS, "electrostatic embedding only works with grid neighboursearching, use ns-type=grid instead\n");
- }
- else
- {
- generate_qmexcl(&sys, ir, wi, GmxQmmmMode::GMX_QMMM_ORIGINAL);
- }
+ generate_qmexcl(&sys, ir, wi, GmxQmmmMode::GMX_QMMM_ORIGINAL);
if (ir->QMMMscheme != eQMMMschemeoniom)
{
std::vector<int> qmmmAtoms = qmmmAtomIndices(*ir, sys);
{
sprintf(err_buf, "TPI only works with pbc = %s", epbc_names[epbcXYZ]);
CHECK(ir->ePBC != epbcXYZ);
- sprintf(err_buf, "TPI only works with ns = %s", ens_names[ensGRID]);
- CHECK(ir->ns_type != ensGRID);
sprintf(err_buf, "with TPI nstlist should be larger than zero");
CHECK(ir->nstlist <= 0);
sprintf(err_buf, "TPI does not work with full electrostatics other than PME");
replace_inp_entry(inp, "gb-dielectric-offset", nullptr);
replace_inp_entry(inp, "sa-algorithm", nullptr);
replace_inp_entry(inp, "sa-surface-tension", nullptr);
+ replace_inp_entry(inp, "ns-type", nullptr);
/* replace the following commands with the clearer new versions*/
replace_inp_entry(inp, "unconstrained-start", "continuation");
ir->cutoff_scheme = get_eeenum(&inp, "cutoff-scheme", ecutscheme_names, wi);
printStringNoNewline(&inp, "nblist update frequency");
ir->nstlist = get_eint(&inp, "nstlist", 10, wi);
- printStringNoNewline(&inp, "ns algorithm (simple or grid)");
- ir->ns_type = get_eeenum(&inp, "ns-type", ens_names, wi);
printStringNoNewline(&inp, "Periodic boundary conditions: xyz, no, xy");
ir->ePBC = get_eeenum(&inp, "pbc", epbc_names, wi);
ir->bPeriodicMols = get_eeenum(&inp, "periodic-molecules", yesno_names, wi) != 0;
bool bHasAnyConstraints,
warninp_t wi)
{
- real min_size;
char warn_buf[STRLEN];
const char *ptr;
{
warning(wi, "With nstlist=0 atoms are only put into the box at step 0, therefore drifting atoms might cause the simulation to crash.");
}
- if (ir->ns_type == ensGRID)
+ if (gmx::square(ir->rlist) >= max_cutoff2(ir->ePBC, box))
{
- if (gmx::square(ir->rlist) >= max_cutoff2(ir->ePBC, box))
- {
- sprintf(warn_buf, "ERROR: The cut-off length is longer than half the shortest box vector or longer than the smallest box diagonal element. Increase the box size or decrease rlist.\n");
- warning_error(wi, warn_buf);
- }
- }
- else
- {
- min_size = std::min(box[XX][XX], std::min(box[YY][YY], box[ZZ][ZZ]));
- if (2*ir->rlist >= min_size)
- {
- sprintf(warn_buf, "ERROR: One of the box lengths is smaller than twice the cut-off length. Increase the box size or decrease rlist.");
- warning_error(wi, warn_buf);
- if (TRICLINIC(box))
- {
- fprintf(stderr, "Grid search might allow larger cut-off's than simple search with triclinic boxes.");
- }
- }
+ sprintf(warn_buf, "ERROR: The cut-off length is longer than half the shortest box vector or longer than the smallest box diagonal element. Increase the box size or decrease rlist.\n");
+ warning_error(wi, warn_buf);
}
}
}
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Verlet
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
cutoff-scheme = Group
; nblist update frequency
nstlist = 10
-; ns algorithm (simple or grid)
-ns-type = Grid
; Periodic boundary conditions: xyz, no, xy
pbc = xyz
periodic-molecules = no
/* Neighbour searching stuff */
fr->cutoff_scheme = ir->cutoff_scheme;
- fr->bGrid = (ir->ns_type == ensGRID);
fr->ePBC = ir->ePBC;
/* Determine if we will do PBC for distances in bonded interactions */
* It can be set to esolNO to disable all water optimization */
int solvent_opt = 0;
int nWatMol = 0;
- gmx_bool bGrid = FALSE;
gmx_bool bExcl_IntraCGAll_InterCGNone = FALSE;
struct cginfo_mb_t *cginfo_mb = nullptr;
std::vector<int> cginfo;
/* Neighborsearching parameters */
PS("cutoff-scheme", ECUTSCHEME(ir->cutoff_scheme));
PI("nstlist", ir->nstlist);
- PS("ns-type", ENS(ir->ns_type));
PS("pbc", epbc_names[ir->ePBC]);
PS("periodic-molecules", EBOOL(ir->bPeriodicMols));
PR("verlet-buffer-tolerance", ir->verletbuf_tol);
cmp_int(fp, "inputrec->ePBC", -1, ir1->ePBC, ir2->ePBC);
cmp_bool(fp, "inputrec->bPeriodicMols", -1, ir1->bPeriodicMols, ir2->bPeriodicMols);
cmp_int(fp, "inputrec->cutoff_scheme", -1, ir1->cutoff_scheme, ir2->cutoff_scheme);
- cmp_int(fp, "inputrec->ns_type", -1, ir1->ns_type, ir2->ns_type);
cmp_int(fp, "inputrec->nstlist", -1, ir1->nstlist, ir2->nstlist);
cmp_int(fp, "inputrec->nstcomm", -1, ir1->nstcomm, ir2->nstcomm);
cmp_int(fp, "inputrec->comm_mode", -1, ir1->comm_mode, ir2->comm_mode);
int nstcalcenergy;
//! Group or verlet cutoffs
int cutoff_scheme;
- //! Which neighbor search method should we use?
- int ns_type;
//! Number of steps before pairlist is generated
int nstlist;
- //! Number of cells per rlong
- int ndelta;
//! Number of steps after which center of mass motion is removed
int nstcomm;
//! Center of mass motion removal algorithm
"no", "yes", nullptr
};
-const char *ens_names[ensNR+1] =
-{
- "Grid", "Simple", nullptr
-};
-
const char *ei_names[eiNR+1] =
{
"md", "steep", "cg", "bd", "sd2 - removed", "nm", "l-bfgs", "tpi", "tpic", "sd", "md-vv", "md-vv-avek", "mimic", nullptr
//! Macro to tell us whether we use LJPME
#define EVDW_PME(e) ((e) == evdwPME)
-//! Neighborsearching algorithm
-enum {
- ensGRID, ensSIMPLE, ensNR
-};
-//! String corresponding to neighborsearching
-extern const char *ens_names[ensNR+1];
-//! Macro for correct NS algorithm
-#define ENS(e) enum_name(e, ensNR, ens_names)
-
/*! \brief Integrator algorithm
*
* eiSD2 has been removed, but we keep a renamed enum entry,