"Shift",
"User",
"Generalized-Born (unused)",
- "Reaction-Field-nec",
- "Encad-shift",
+ "Reaction-Field-nec (unsupported)",
+ "Encad-shift (unused)",
"PME-User",
"PME-Switch",
"PME-User-Switch",
const char* eljpme_names[eljpmeNR + 1] = { "Geometric", "Lorentz-Berthelot", nullptr };
-const char* evdw_names[evdwNR + 1] = { "Cut-off", "Switch", "Shift", "User",
- "Encad-shift", "PME", nullptr };
+const char* evdw_names[evdwNR + 1] = { "Cut-off", "Switch", "Shift", "User", "Encad-shift (unused)",
+ "PME", nullptr };
const char* econstr_names[econtNR + 1] = { "Lincs", "Shake", nullptr };
etabLJ6Switch,
etabLJ12Switch,
etabCOULSwitch,
- etabLJ6Encad,
- etabLJ12Encad,
- etabCOULEncad,
etabEXPMIN,
etabUSER,
etabNR
/* This structure holds name and a flag that tells whether
this is a Coulomb type funtion */
static const t_tab_props tprops[etabNR] = {
- { "LJ6", FALSE },
- { "LJ12", FALSE },
- { "LJ6Shift", FALSE },
- { "LJ12Shift", FALSE },
- { "Shift", TRUE },
- { "RF", TRUE },
- { "RF-zero", TRUE },
- { "COUL", TRUE },
- { "Ewald", TRUE },
- { "Ewald-Switch", TRUE },
- { "Ewald-User", TRUE },
- { "Ewald-User-Switch", TRUE },
- { "LJ6Ewald", FALSE },
- { "LJ6Switch", FALSE },
- { "LJ12Switch", FALSE },
- { "COULSwitch", TRUE },
- { "LJ6-Encad shift", FALSE },
- { "LJ12-Encad shift", FALSE },
- { "COUL-Encad shift", TRUE },
- { "EXPMIN", FALSE },
- { "USER", FALSE },
+ { "LJ6", FALSE }, { "LJ12", FALSE }, { "LJ6Shift", FALSE },
+ { "LJ12Shift", FALSE }, { "Shift", TRUE }, { "RF", TRUE },
+ { "RF-zero", TRUE }, { "COUL", TRUE }, { "Ewald", TRUE },
+ { "Ewald-Switch", TRUE }, { "Ewald-User", TRUE }, { "Ewald-User-Switch", TRUE },
+ { "LJ6Ewald", FALSE }, { "LJ6Switch", FALSE }, { "LJ12Switch", FALSE },
+ { "COULSwitch", TRUE }, { "EXPMIN", FALSE }, { "USER", FALSE },
};
typedef struct
Ftab = reppow * Vtab / r;
}
break;
- case etabLJ6Encad:
- if (r < rc)
- {
- Vtab = -(r6 - 6.0 * (rc - r) * rc6 / rc - rc6);
- Ftab = -(6.0 * r6 / r - 6.0 * rc6 / rc);
- }
- else /* r>rc */
- {
- Vtab = 0;
- Ftab = 0;
- }
- break;
- case etabLJ12Encad:
- if (r < rc)
- {
- Vtab = -(r12 - 12.0 * (rc - r) * rc12 / rc - rc12);
- Ftab = -(12.0 * r12 / r - 12.0 * rc12 / rc);
- }
- else /* r>rc */
- {
- Vtab = 0;
- Ftab = 0;
- }
- break;
case etabCOUL:
Vtab = 1.0 / r;
Ftab = 1.0 / r2;
Vtab = expr;
Ftab = expr;
break;
- case etabCOULEncad:
- if (r < rc)
- {
- Vtab = 1.0 / r - (rc - r) / (rc * rc) - 1.0 / rc;
- Ftab = 1.0 / r2 - 1.0 / (rc * rc);
- }
- else /* r>rc */
- {
- Vtab = 0;
- Ftab = 0;
- }
- break;
default:
gmx_fatal(FARGS, "Table type %d not implemented yet. (%s,%d)", tp, __FILE__, __LINE__);
}
case eelRF_ZERO: tabsel[etiCOUL] = etabRF_ZERO; break;
case eelSWITCH: tabsel[etiCOUL] = etabCOULSwitch; break;
case eelUSER: tabsel[etiCOUL] = etabUSER; break;
- case eelENCADSHIFT: tabsel[etiCOUL] = etabCOULEncad; break;
default: gmx_fatal(FARGS, "Invalid eeltype %d", eltype);
}
tabsel[etiLJ6] = etabLJ6;
tabsel[etiLJ12] = etabLJ12;
break;
- case evdwENCADSHIFT:
- tabsel[etiLJ6] = etabLJ6Encad;
- tabsel[etiLJ12] = etabLJ12Encad;
- break;
case evdwPME:
tabsel[etiLJ6] = etabLJ6Ewald;
tabsel[etiLJ12] = etabLJ12;