Implemented nbnxn LJ switch functions
[alexxy/gromacs.git] / src / gromacs / gmxlib / inputrec.c
index 74e186cc4011e0a0c96ada8bd581d6e67ba3425e..1ba89ef3aa71f9a140f550dacd0c49bf60f05e67 100644 (file)
@@ -203,12 +203,14 @@ gmx_bool ir_coulomb_switched(const t_inputrec *ir)
             ir->coulombtype == eelENCADSHIFT ||
             ir->coulombtype == eelPMESWITCH ||
             ir->coulombtype == eelPMEUSERSWITCH ||
-            ir->coulomb_modifier == eintmodPOTSWITCH);
+            ir->coulomb_modifier == eintmodPOTSWITCH ||
+            ir->coulomb_modifier == eintmodFORCESWITCH);
 }
 
 gmx_bool ir_coulomb_is_zero_at_cutoff(const t_inputrec *ir)
 {
-    return (ir_coulomb_switched(ir) || ir->coulomb_modifier != eintmodNONE ||
+    return (ir->cutoff_scheme == ecutsVERLET ||
+            ir_coulomb_switched(ir) || ir->coulomb_modifier != eintmodNONE ||
             ir->coulombtype == eelRF_ZERO);
 }
 
@@ -222,12 +224,14 @@ gmx_bool ir_vdw_switched(const t_inputrec *ir)
     return (ir->vdwtype == evdwSWITCH ||
             ir->vdwtype == evdwSHIFT ||
             ir->vdwtype == evdwENCADSHIFT ||
-            ir->vdw_modifier == eintmodPOTSWITCH);
+            ir->vdw_modifier == eintmodPOTSWITCH ||
+            ir->vdw_modifier == eintmodFORCESWITCH);
 }
 
 gmx_bool ir_vdw_is_zero_at_cutoff(const t_inputrec *ir)
 {
-    return (ir_vdw_switched(ir) || ir->vdw_modifier != eintmodNONE);
+    return (ir->cutoff_scheme == ecutsVERLET ||
+            ir_vdw_switched(ir) || ir->vdw_modifier != eintmodNONE);
 }
 
 gmx_bool ir_vdw_might_be_zero_at_cutoff(const t_inputrec *ir)