warning_error(wi, warn_buf);
}
- if (ir->implicit_solvent != eisNO)
- {
- warning_error(wi, "Implicit solvent is not (yet) supported with the with Verlet lists.");
- }
-
if (EEL_USER(ir->coulombtype))
{
sprintf(warn_buf, "Coulomb type %s is not supported with the verlet scheme", eel_names[ir->coulombtype]);
warning(wi, warn_buf);
}
- if (ir->epsilon_r != 1 && ir->implicit_solvent == eisGBSA)
- {
- sprintf(warn_buf, "epsilon-r = %g with GB implicit solvent, will use this value for inner dielectric", ir->epsilon_r);
- warning_note(wi, warn_buf);
- }
-
if (EEL_RF(ir->coulombtype) && ir->epsilon_rf == 1 && ir->epsilon_r != 1)
{
sprintf(warn_buf, "epsilon-r = %g and epsilon-rf = 1 with reaction field, proceeding assuming old format and exchanging epsilon-r and epsilon-rf", ir->epsilon_r);
if (ir->epsilon_r == 0)
{
sprintf(err_buf,
- "It is pointless to use long-range or Generalized Born electrostatics with infinite relative permittivity."
+ "It is pointless to use long-range electrostatics with infinite relative permittivity."
"Since you are effectively turning of electrostatics, a plain cutoff will be much faster.");
- CHECK(EEL_FULL(ir->coulombtype) || ir->implicit_solvent == eisGBSA);
+ CHECK(EEL_FULL(ir->coulombtype));
}
if (getenv("GMX_DO_GALACTIC_DYNAMICS") == nullptr)
warning_error(wi, warn_buf);
}
- if (ir->sa_algorithm == esaSTILL)
- {
- sprintf(err_buf, "Still SA algorithm not available yet, use %s or %s instead\n", esa_names[esaAPPROX], esa_names[esaNO]);
- CHECK(ir->sa_algorithm == esaSTILL);
- }
-
- if (ir->implicit_solvent == eisGBSA)
- {
- sprintf(err_buf, "With GBSA implicit solvent, rgbradii must be equal to rlist.");
- CHECK(ir->rgbradii != ir->rlist);
-
- if (ir->coulombtype != eelCUT)
- {
- sprintf(err_buf, "With GBSA, coulombtype must be equal to %s\n", eel_names[eelCUT]);
- CHECK(ir->coulombtype != eelCUT);
- }
- if (ir->vdwtype != evdwCUT)
- {
- sprintf(err_buf, "With GBSA, vdw-type must be equal to %s\n", evdw_names[evdwCUT]);
- CHECK(ir->vdwtype != evdwCUT);
- }
- if (ir->nstgbradii < 1)
- {
- sprintf(warn_buf, "Using GBSA with nstgbradii<1, setting nstgbradii=1");
- warning_note(wi, warn_buf);
- ir->nstgbradii = 1;
- }
- if (ir->sa_algorithm == esaNO)
- {
- sprintf(warn_buf, "No SA (non-polar) calculation requested together with GB. Are you sure this is what you want?\n");
- warning_note(wi, warn_buf);
- }
- if (ir->sa_surface_tension < 0 && ir->sa_algorithm != esaNO)
- {
- sprintf(warn_buf, "Value of sa_surface_tension is < 0. Changing it to 2.05016 or 2.25936 kJ/nm^2/mol for Still and HCT/OBC respectively\n");
- warning_note(wi, warn_buf);
-
- if (ir->gb_algorithm == egbSTILL)
- {
- ir->sa_surface_tension = 0.0049 * CAL2JOULE * 100;
- }
- else
- {
- ir->sa_surface_tension = 0.0054 * CAL2JOULE * 100;
- }
- }
- if (ir->sa_surface_tension == 0 && ir->sa_algorithm != esaNO)
- {
- sprintf(err_buf, "Surface tension set to 0 while SA-calculation requested\n");
- CHECK(ir->sa_surface_tension == 0 && ir->sa_algorithm != esaNO);
- }
-
- }
-
if (ir->bQMMM)
{
if (ir->cutoff_scheme != ecutsGROUP)
t_lambda *fep = ir->fepvals;
t_expanded *expand = ir->expandedvals;
+ const char *no_names[] = { "no", nullptr };
+
init_inputrec_strings();
gmx::TextInputFile stream(mdparin);
inp = read_inpfile(&stream, mdparin, &ninp, wi);
REM_TYPE("rlistlong");
REM_TYPE("nstcalclr");
REM_TYPE("pull-print-com2");
+ REM_TYPE("gb-algorithm");
+ REM_TYPE("nstgbradii");
+ REM_TYPE("rgbradii");
+ REM_TYPE("gb-epsilon-solvent");
+ REM_TYPE("gb-saltconc");
+ REM_TYPE("gb-obc-alpha");
+ REM_TYPE("gb-obc-beta");
+ REM_TYPE("gb-obc-gamma");
+ REM_TYPE("gb-dielectric-offset");
+ REM_TYPE("sa-algorithm");
+ REM_TYPE("sa-surface-tension");
/* replace the following commands with the clearer new versions*/
REPL_TYPE("unconstrained-start", "continuation");
EETYPE("ewald-geometry", ir->ewald_geometry, eewg_names);
RTYPE ("epsilon-surface", ir->epsilon_surface, 0.0);
- CCTYPE("IMPLICIT SOLVENT ALGORITHM");
- EETYPE("implicit-solvent", ir->implicit_solvent, eis_names);
-
- CCTYPE ("GENERALIZED BORN ELECTROSTATICS");
- CTYPE ("Algorithm for calculating Born radii");
- EETYPE("gb-algorithm", ir->gb_algorithm, egb_names);
- CTYPE ("Frequency of calculating the Born radii inside rlist");
- ITYPE ("nstgbradii", ir->nstgbradii, 1);
- CTYPE ("Cutoff for Born radii calculation; the contribution from atoms");
- CTYPE ("between rlist and rgbradii is updated every nstlist steps");
- RTYPE ("rgbradii", ir->rgbradii, 1.0);
- CTYPE ("Dielectric coefficient of the implicit solvent");
- RTYPE ("gb-epsilon-solvent", ir->gb_epsilon_solvent, 80.0);
- CTYPE ("Salt concentration in M for Generalized Born models");
- RTYPE ("gb-saltconc", ir->gb_saltconc, 0.0);
- CTYPE ("Scaling factors used in the OBC GB model. Default values are OBC(II)");
- RTYPE ("gb-obc-alpha", ir->gb_obc_alpha, 1.0);
- RTYPE ("gb-obc-beta", ir->gb_obc_beta, 0.8);
- RTYPE ("gb-obc-gamma", ir->gb_obc_gamma, 4.85);
- RTYPE ("gb-dielectric-offset", ir->gb_dielectric_offset, 0.009);
- EETYPE("sa-algorithm", ir->sa_algorithm, esa_names);
- CTYPE ("Surface tension (kJ/mol/nm^2) for the SA (nonpolar surface) part of GBSA");
- CTYPE ("The value -1 will set default value for Still/HCT/OBC GB-models.");
- RTYPE ("sa-surface-tension", ir->sa_surface_tension, -1);
+ /* Implicit solvation is no longer supported, but we need grompp
+ to be able to refuse old .mdp files that would have built a tpr
+ to run it. Thus, only "no" is accepted. */
+ EETYPE("implicit-solvent", ir->implicit_solvent, no_names);
/* Coupling stuff */
CCTYPE ("OPTIONS FOR WEAK COUPLING ALGORITHMS");
RTYPE("threshold", ir->swap->threshold, 1.0);
}
- /* AdResS is no longer supported, but we need mdrun to be able to refuse to run old AdResS .tpr files */
- EETYPE("adress", ir->bAdress, yesno_names);
+ /* AdResS is no longer supported, but we need grompp to be able to
+ refuse to process old .mdp files that used it. */
+ EETYPE("adress", ir->bAdress, no_names);
/* User defined thingies */
CCTYPE ("User defined thingies");
}
else
{
- if (ir->coulombtype == eelCUT && ir->rcoulomb > 0 && !ir->implicit_solvent)
+ if (ir->coulombtype == eelCUT && ir->rcoulomb > 0)
{
sprintf(err_buf,
"You are using a plain Coulomb cut-off, which might produce artifacts.\n"