From b6b2b661b29e363c41428a27ede19dcde77f63c9 Mon Sep 17 00:00:00 2001 From: Alvin Noe Ladines <ladinesalvinnoe@gmail.com> Date: Wed, 3 Mar 2021 16:07:44 +0100 Subject: [PATCH] Fixed issue of atom labels not read from OUTCAR --- vaspparser/vasp_parser.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/vaspparser/vasp_parser.py b/vaspparser/vasp_parser.py index 09d7f50..b4b51a0 100644 --- a/vaspparser/vasp_parser.py +++ b/vaspparser/vasp_parser.py @@ -634,6 +634,20 @@ class VASPOutcar(Parser): ions = [ions] if isinstance(ions, int) else ions mass_valence = self.parser.get('mass_valence', []) if len(ions) != len(species): + # get it from POSCAR + path = os.path.join(self.parser.maindir, 'POSCAR%s' % os.path.basename( + self.parser.mainfile).strip('OUTCAR')) + path = path if os.path.isfile(path) else os.path.join( + self.parser.maindir, 'POSCAR') + with open(path) as f: + for _ in range(7): + line = f.readline() + try: + ions = [int(n) for n in line.split()] + except Exception: + pass + if len(ions) != len(species): + self.parser.logger.error('Inconsistent number of ions and species.') return self._atom_info self._atom_info['n_atoms'] = sum(ions) -- GitLab