Loading VASP state from .json file - vasp.out output

Hi ASE community,

I use the VASP module in ASE to automatize my workflows. I recently introduced loading VASP standard settings from .json files. For this I used a succesful VASP calculation in ASE and dumped that state into a .json file. When loading the settings from the .json file and running new calculations, the output that is supposed to go into the vasp.out file is being written into my command window. In the end of the calculation the vasp.out file is missing. This does not happen when I define all the VASP parameters manually within the python code. Has anyone experienced this? Am I missing some setting?

I am running Python 3.7.9, ASE 3.20.1 and VASP 6.2.

Thanks for your help,
Frank

It looks like the output is controlled by a txt= parameter with a default value of 'vasp.out' and this parameter is not included in the dictionary serialisation

    def asdict(self):
        """Return a dictionary representation of the calculator state.
        Does NOT contain information on the ``command``, ``txt`` or
        ``directory`` keywords.
        Contains the following keys:

            - ``ase_version``
            - ``vasp_version``
            - ``inputs``
            - ``results``
            - ``atoms`` (Only if the calculator has an ``Atoms`` object)
        """
...

so the information is lost when reloading. It’s not obvious why read_json / fromdict wouldn’t revert to the default ‘vasp.out’ value, though; for printing to standard out it should be set to ‘-’. Can you have a look at what is happening to the calc.txt attribute when you save and reload?

1 Like

Yes, defining the VASP calculation within the Python code gives a calculation object with property calc.txt = 'vasp.out' whereas the loaded calculation gives calc.txt = '-'. It should not be an issue for me to set this manually. Thanks a lot for your swift reply!