pycdt generate_input

163 views
Skip to first unread message

mimo fad

unread,
Dec 7, 2020, 12:08:37 PM12/7/20
to PyCDT forum

Hello


I am trying to create defect files using POSCAR file.


I use the following command

pycdt generate_input --structure_file POSCAR --nmax 80

I don't want to use vasp so I will use pycdt only to generate input files

but it doesn't work, i get this log file

2020-12-07 13:48:44,357 - root - INFO - MPID: None

2020-12-07 13:48:44,357 - root - INFO - structure file: POSCAR

2020-12-07 13:48:44,357 - root - INFO - Max. no of atoms in the supercell supercell: 80

2020-12-07 13:48:44,357 - root - INFO - oxi_state: None

2020-12-07 13:48:44,357 - root - INFO - oxi_range: None

2020-12-07 13:48:44,358 - root - INFO - antisites: True

2020-12-07 13:48:44,358 - root - INFO - struct_type: semiconductor

2020-12-07 13:48:44,358 - root - INFO - include_interstitials?: False

2020-12-07 13:48:44,358 - root - INFO - interstitials elements: []

2020-12-07 13:48:46,262 - root - ERROR - ERROR in running PyCDT:

PyCDT is a script that generates vasp input files, parses vasp output files, and computes the formation energy of charged defects.

This script works based on several sub-commands with their own options. To see the options for sub-commands, type: pycdt -h

Traceback (most recent call last):

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/EGG-INFO/scripts/pycdt", line 545, in main

args.func(args)

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/EGG-INFO/scripts/pycdt", line 155, in generate_input

make_vasp_dielectric_files(prim_struct, user_settings=settings)

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/pycdt/utils/vasp.py", line 568, in make_vasp_dielectric_files

dielectric_set.write_input(path)

File "/usr/local/lib/python3.8/dist-packages/pymatgen/io/vasp/sets.py", line 736, in write_input

super().write_input(

File "/usr/local/lib/python3.8/dist-packages/pymatgen/io/vasp/sets.py", line 215, in write_input

vinput = self.get_vasp_input()

File "/usr/local/lib/python3.8/dist-packages/pymatgen/io/vasp/sets.py", line 170, in get_vasp_input

potcar=self.potcar,

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/pycdt/utils/vasp.py", line 229, in potcar

return PotcarMod(symbols=self.potcar_symbols,

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/pycdt/utils/vasp.py", line 83, in __init__

super(self.__class__, self).__init__(**kwargs)

File "/usr/local/lib/python3.8/dist-packages/pymatgen/io/vasp/inputs.py", line 2236, in __init__

self.set_symbols(symbols, functional, sym_potcar_map)

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/pycdt/utils/vasp.py", line 107, in set_symbols

p = PotcarSingleMod.from_symbol_and_functional(el, functional)

File "/usr/local/lib/python3.8/dist-packages/pycdt-2.0.5-py3.8.egg/pycdt/utils/vasp.py", line 48, in from_symbol_and_functional

if not os.path.isdir(os.path.join(

File "/usr/lib/python3.8/posixpath.py", line 76, in join

a = os.fspath(a)

TypeError: expected str, bytes or os.PathLike object, not NoneType

PyCDT forum

unread,
Mar 4, 2021, 8:47:01 AM3/4/21
to PyCDT forum
Unfortunately you need VASP pseudopotentials to generate the charge dependent parameters in the input files.
Reply all
Reply to author
Forward
0 new messages