Repository: materialsproject/custodian (python)

Issue:
Use of ADDGRID in VASP Custodian should be investigated
As noted in the [VASP manual](https://www.vasp.at/wiki/index.php/ADDGRID), when using ADDGRID, the VASP team "recommend[s] performing careful tests, on whether ADDGRID works as desired; please do not use this tag as default in all your calculations!" Empirically, I have found that `AECCAR` files oftentimes are not valid when `ADDGRID` is set to True, which can influence partial atomic charge calculations (and related methods like bond order analyses) downstream. This begs the question of whether `ADDGRID` should be used at all in Custodian. This should be investigated and reconsidered. Personally, I am currently leaning towards removing it altogether from Custodian. It's not used in many places as-is.

Pull request description:
VASP Handler: Do not set `ADDGRID` to True
This closes #226. In short, the VASP manual strongly advises caution against using the `ADDGRID` command, and in my experience, I have seen that it produces invalid `AECCAR` files. It should not be set in Custodian as a rule.

Patch:
diff --git a/custodian/vasp/handlers.py b/custodian/vasp/handlers.py
index 0edaeefa..496233e5 100644
--- a/custodian/vasp/handlers.py
+++ b/custodian/vasp/handlers.py
@@ -898,11 +898,8 @@ class DriftErrorHandler(ErrorHandler):
         # Move CONTCAR to POSCAR
         actions.append({"file": "CONTCAR", "action": {"_file_copy": {"dest": "POSCAR"}}})
 
-        # First try adding ADDGRID
-        if not incar.get("ADDGRID", False):
-            actions.append({"dict": "INCAR", "action": {"_set": {"ADDGRID": True}}})
-        # Otherwise set PREC to High so ENAUG can be used to control Augmentation Grid Size
-        elif incar.get("PREC", "Accurate").lower() != "high":
+        # Set PREC to High so ENAUG can be used to control Augmentation Grid Size
+        if incar.get("PREC", "Accurate").lower() != "high":
             actions.append({"dict": "INCAR", "action": {"_set": {"PREC": "High"}}})
             actions.append(
                 {


Test patch:
diff --git a/custodian/vasp/tests/test_handlers.py b/custodian/vasp/tests/test_handlers.py
index 3e3ce360..4f7eb912 100644
--- a/custodian/vasp/tests/test_handlers.py
+++ b/custodian/vasp/tests/test_handlers.py
@@ -1179,10 +1179,6 @@ class DriftErrorHandlerTest(unittest.TestCase):
 
         h = DriftErrorHandler(max_drift=0.0001, enaug_multiply=2)
         h.check()
-        h.correct()
-        incar = Incar.from_file("INCAR")
-        self.assertTrue(incar.get("ADDGRID", False))
-
         h.correct()
         incar = Incar.from_file("INCAR")
         self.assertEqual(incar.get("PREC"), "High")