After studying the VASP source code and the patch provided by iPI code, I'm relatively confident it is possible to have VaspInteractive fully capable of handling both position and cell inputs, making the VaspInteractive calculator compatible with the iPI protocol.
Note the patch is only aimed at adding a new subroutine INLATT that handles the input of lattice parameters, avoiding the complexity that the original iPI patch. Future iPI interface in VaspInteractive will be solved at the python client level (should be another PR).
[x] Add the VASP patch files
[x] Fix truncated output in VASP 5.x
[x] Check if force writing vasprun.xml before each FORCE output is possible
[x] Add lattice I/O in VaspInteractive
[x] Prettify Fortran output of lattice direct / reciprocal
[x] Add ISIF constraint (at least ISIF >= 2)
[x] Make sure energy / stress values are identical to original VASP)
[x] Check if params like NGX affects accuracy
[x] Enhance main README & link to advanced topics
Something worth thinking in the design pattern
[x] Automatic detection if patch exists in VASP?
[x] Adaptive setting of allowed system changes
Summary of this PR:
Add the socket driver mode to VaspInteractive
Enhance readme with sections on the socket interface
After studying the VASP source code and the patch provided by iPI code, I'm relatively confident it is possible to have VaspInteractive fully capable of handling both position and cell inputs, making the VaspInteractive calculator compatible with the iPI protocol.
Note the patch is only aimed at adding a new subroutine
INLATT
that handles the input of lattice parameters, avoiding the complexity that the original iPI patch. Future iPI interface in VaspInteractive will be solved at the python client level (should be another PR).VaspInteractive
NGX
affects accuracySomething worth thinking in the design pattern
Summary of this PR:
VaspInteractive