Dear Esmaeil, It seems you haven't calculated the DOS quantities?
It says: "KeyError 'ADOS'" which is because the dos isn't stored in the file, you should add: TBT.DOS.A to your input file. :) Den ons. 16. jan. 2019 kl. 22.03 skrev Esmaeil Farajpour Bonab < e.farajpou...@gmail.com>: > Dear Nick, > I hope everything goes well with you. After making siesta.TBT.nc file > using TBtrans, I tried to extract PDOS of the device region in my system > (which defined atom 38 through 108) using SDATA command that mentioned in > TBtrnas manual as following: > *sdata auc70nafau.TBT_DN.nc <http://auc70nafau.TBT_DN.nc> --atom 38-109 > --dos --ados Left --out dos.out* > Then I got the following error: > ----------------------------------------------------------- > Traceback (most recent call last): > File "/home/esi/anaconda3/bin/sdata", line 11, in <module> > load_entry_point('sisl==0.9.4', 'console_scripts', 'sdata')() > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/utils/sdata.py", line > 122, in sdata > p.parse_args(argv, namespace=ns) > File "/home/esi/anaconda3/lib/python3.6/argparse.py", line 1734, in > parse_args > args, argv = self.parse_known_args(args, namespace) > File "/home/esi/anaconda3/lib/python3.6/argparse.py", line 1766, in > parse_known_args > namespace, args = self._parse_known_args(args, namespace) > File "/home/esi/anaconda3/lib/python3.6/argparse.py", line 1972, in > _parse_known_args > start_index = consume_optional(start_index) > File "/home/esi/anaconda3/lib/python3.6/argparse.py", line 1912, in > consume_optional > take_action(action, args, option_string) > File "/home/esi/anaconda3/lib/python3.6/argparse.py", line 1840, in > take_action > action(self, namespace, argument_values, option_string) > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/utils/cmd.py", line > 241, in run > A(*Aargs, **Akwargs) > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/utils/cmd.py", line > 208, in collect > return func(self, *args, **kwargs) > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 2013, in assign_E > return func(self, *args, **kwargs) > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 2243, in __call__ > data = ns._tbt.DOS(kavg=ns._krng, orbital=ns._Orng, norm=ns._norm) > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 520, in DOS > return self._DOS(self._value_E('DOS', kavg=kavg, E=E), > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 134, in _value_E > return self._value_avg(name, tree, kavg) > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 97, in _value_avg > v = self._variable(name, tree=tree) > File "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/sile.py", > line 741, in _variable > return self._variables(self, name, tree=tree) > File "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/sile.py", > line 754, in _variables > return n.variables[name] > KeyError: 'DOS' > -------------------------------------------------------------- > I also tried to extract the PDOS as following: > tbt=sisl.get_sile('auc70nafau.TBT_DN.nc*'*) > tbt.ADOS(0, E=0.99500106) > but unfortunately I got another error like below: > ------------------------------------------------------ > >>> tbt.ADOS(0, E=0.99500106) > Traceback (most recent call last): > File "<stdin>", line 1, in <module> > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 560, in ADOS > return self._DOS(self._value_E('ADOS', elec, kavg=kavg, E=E), > File > "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/tbtrans/tbt.py", > line 139, in _value_E > v = self._variable(name, tree=tree) > File "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/sile.py", > line 741, in _variable > return self._variables(self, name, tree=tree) > File "/home/esi/anaconda3/lib/python3.6/site-packages/sisl/io/sile.py", > line 763, in _variables > return g.variables[name] > KeyError: 'ADOS' > -------------------------------------------------------------------- > All the attributes in SISL are executable, for example, tbt.E, > tbt.a_device, and so on, but I don't know how to define the options in > corresponding methods (like kavg; you mentioned that it should be bool,int, > or optional. when I put kavg=True I got an error). By the way, I am > using sisl: 0.9.4 + 0. > I will appreciate if you help me to solve this problem. > > With my best regards, > Esmaeil Farajpour Bonab. > -- Kind regards Nick