Révision cdc1edbe

b/modules/formats.py
172 172
    return Atoms(symbols=symbols, positions=positions)
173 173

  
174 174

  
175
def read_coords_vasp(file, spec_atoms=tuple()):
176
    """Reads the coordinates from VASP OUTCAR and returns an ase.Atoms object.
177

  
178
    @param file: The file to read containing the coordinates.
179
    @param spec_atoms: List of tuples containing the pairs of chemical symbols.
180
    @return: ase.Atoms object of the coordinates in the file.
181
    """
182
    import os
183
    import ase.io
184
    if not os.path.isfile(file):
185
        err_msg = f"File {file} not found."
186
        logger.error(err_msg)
187
        raise FileNotFoundError(err_msg)
188
    if len(spec_atoms) > 0:
189
        add_special_atoms(spec_atoms)
190
    return ase.io.read(file)
191

  
192

  
175 193
def collect_coords(conf_list, code, run_type, spec_atms=tuple()):
176 194
    """Directs the reading of coordinates on a set of subdirectories.
177 195

  
......
196 214
        if code == 'cp2k':
197 215
            atoms_list.append(read_coords_cp2k(glob(f"{run_type}/{conf}/*-1"
198 216
                                                    f".restart")[0], spec_atms))
199
        # elif code == 'vasp'
217
        elif code == 'vasp':
218
            atoms_list.append(read_coords_vasp(f"{run_type}/{conf}/OUTCAR",
219
                                               spec_atms))
220
        else:
221
            err_msg = f"Collect coordinates not implemented for '{code}'."
222
            logger.error(err_msg)
223
            raise NotImplementedError(err_msg)
200 224
    return atoms_list
201 225

  
202 226

  
......
239 263
        if code == 'cp2k':
240 264
            energies.append(read_energy_cp2k(
241 265
                glob(f"{run_type}/{conf}/*.out")[0]))
266
        else:
267
            err_msg = f"Collect energies not implemented for '{code}'."
268
            logger.error(err_msg)
269
            raise NotImplementedError(err_msg)
242 270

  
243 271
    if len(energies) == 0:
244 272
        err = f"No results found on {run_type}"
b/modules/screening.py
39 39

  
40 40
    # Read properties
41 41
    if 'energy' in magns:
42
        conf_enrgs = collect_energies(calc_dirs, code, 'isolated')
42
        if code == 'cp2k':
43
            conf_enrgs = collect_energies(calc_dirs, code, 'isolated')
44
        elif code == 'vasp':
45
            conf_enrgs = np.array([conf.get_total_energy()
46
                                   for conf in orig_conf_list])
43 47
    if 'moi' in magns:
44 48
        mois = np.array([conf.get_moments_of_inertia() for conf in conf_list])
45 49

  

Formats disponibles : Unified diff