Error running wf_raman_spectra due to modifying incar

Hi,

I have tried to modify the INCAR in Raman calculation steps and deactivate charge calculation with ‘LCHARG’: False for decreasing the calculation’s time.
But during the calculation this error appeared:

Blockquote
Final e_wo_entrp differs from the final electronic step. VASP may have included some corrections, e.g., vdw. Vasprun will return the final e_wo_entrp, i.e., including corrections in such instances.
"Final e_wo_entrp differs from the final "
Traceback (most recent call last):
File “/atomate/atomate_env/lib/python3.7/site-packages/atomate/vasp/drones.py”, line 425, in process_vasprun
data = Chgcar.from_file(os.path.join(dir_name, d[“output_file_paths”][file]))
File “/atomate/atomate_env/lib/python3.7/site-packages/pymatgen/io/vasp/outputs.py”, line 4002, in from_file
(poscar, data, data_aug) = VolumetricData.parse_file(filename)
File “/atomate/atomate_env/lib/python3.7/site-packages/pymatgen/io/vasp/outputs.py”, line 3691, in parse_file
data = {“total”: all_dataset[0]}
IndexError: list index out of range During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File “/atomate/atomate_env/lib/python3.7/site-packages/fireworks/core/rocket.py”, line 262, in run
m_action = t.run_task(my_spec)
File “/atomate/atomate_env/lib/python3.7/site-packages/atomate/vasp/firetasks/parse_outputs.py”, line 105, in run_task
task_doc = drone.assimilate(calc_dir)
File “/atomate/atomate_env/lib/python3.7/site-packages/atomate/vasp/drones.py”, line 160, in assimilate
d = self.generate_doc(path, vasprun_files, outcar_files)
File “/atomate/atomate_env/lib/python3.7/site-packages/atomate/vasp/drones.py”, line 215, in generate_doc
for taskname, filename in vasprun_files.items()]
File “/atomate/atomate_env/lib/python3.7/site-packages/atomate/vasp/drones.py”, line 215, in
for taskname, filename in vasprun_files.items()]
File “/atomate/atomate_env/lib/python3.7/site-packages/atomate/vasp/drones.py”, line 429, in process_vasprun
d[“output_file_paths”][file]))
ValueError: Failed to parse chgcar at CHGCAR.gz.

I have tried to modify the drones.py file with comments outing the lines that want to parse the CHGCAR but it wasn’t worked.
I want to know how can I handle this issue because as you know it’s not necessary to calculate the charge for Raman tensors.

Best regards
Nima

Hello Nima,
are you sure that you absolutely do not want to write out the CHGCAR file? The charge density is calculated anyhow when you run VASP, and just writing the file is usually not a very long process in my experience. (LCHARG just regulates file output as far as I know.)

I think it is not a great idea to mess with the vasp drones or other atomate code, just to save a couple of minutes in writing the CHGCAR file.

On the other hand, if you really see a significant speed-up when setting LCHARG to False, then maybe I am not knowing what I am talking about…

I would run tests (outside of atomate) with LCHARG set to True and to False and really measure the impact in VASP execution time before I would do anything else though.

Cheers, Michael

Did you try setting parse_chargecar to False in the Drone?

Hi Michael

Thank you for your answer. at least it can reduce the file sizes to 50%.

Hi,
Thank you for your response.
this setting is False by default.

Blockquote
def init(self, runs=None, parse_dos=“auto”, bandstructure_mode=“auto”,
parse_locpot=True, additional_fields=None, use_full_uri=True,
parse_bader=bader_exe_exists, parse_chgcar=False, parse_aeccar=False,
parse_potcar_file=True,
store_volumetric_data=STORE_VOLUMETRIC_DATA,
store_additional_json=STORE_ADDITIONAL_JSON):

Sure, you will save space by setting LCHARG = False, but initially you wanted to save computation time. Maybe you can use the clean_up_files powerup from atomate to delete the files after the workflow is finished? That would be a very simple addition and save disc space, although only after the run is finished.

At least in atomate 0.9.5 the parse_chgcar option for the drone of VaspToDb in atomate.vasp.firetasks.parse_outputs seems to be deprecated.

drone = VaspDrone(additional_fields=self.get("additional_fields"),
                          parse_dos=self.get("parse_dos", False),
                          parse_potcar_file=self.get("parse_potcar_file", True),
                          bandstructure_mode=self.get("bandstructure_mode", False),
                          parse_bader=self.get("parse_bader", BADER_EXE_EXISTS),
                          parse_chgcar=self.get("parse_chgcar", False),  # deprecated
                          parse_aeccar=self.get("parse_aeccar", False),  # deprecated
                          store_volumetric_data=self.get("store_volumetric_data", STORE_VOLUMETRIC_DATA))

Maybe it is worth to set store_volumetric_data = False, since the error seems to occur during: (poscar, data, data_aug) = VolumetricData.parse_file(filename).

However, I still think the easier and cleaner way is to use a powerup to delete unneeded files after the fact.

Cheers, Michael

Yes but I want to clean these values from the database. I can do it easily by deleting chg values from my database after calculation but I wanted to know is there any direct way or not.
btw, thank you for your time and help.

This should be possible to change quite quickly in the atomate.vasp.config file. Here you can choose what type of volumetric data are saved in the database. I have:

# store data from these files in database if present
STORE_VOLUMETRIC_DATA = ()  # e.g. ("chgcar", "aeccar0", "aeccar2", "elfcar", "locpot")

so chgcars are not saved in the database. You probably have “chgcar” selected, and maybe other stuff too.

Thank you.
This is the exact thing I wanted.

Glad I was able to help. I was testing for quite some time with a free 500MB Atlas database and finding this setting made things a lot easier!