Pymatgen построение графиков DOSPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Pymatgen построение графиков DOS

Сообщение Anonymous »

Я пытаюсь построить график DOS (плотность состояний) с помощью pymatgen, но у меня не получается. Впервые сталкиваюсь с функциями self и class в Python, поэтому я в растерянности.

Эта ссылка объясняет пакет, который имеет нужную мне функцию (мне нужно использовать get_site_t2g_eg_resolved_dos(site) часть класса CompleteDos ). По этой ссылке есть исходный код для этих функций. Глядя на примеры, найденные в Интернете, я написал этот код

from pymatgen.electronic_structure.dos import CompleteDos
from pymatgen.electronic_structure.plotter import DosPlotter
from pymatgen.electronic_structure.core import Spin, Orbital

data = CompleteDos.get_site_t2g_eg_resolved_dos
plot = DosPlotter(data)
plot.get_plot(-5,5).show()


Этот код возвращает ошибку, и я уверен, что это потому, что функция get_site_t2g_eg_resolved_dos используется неправильно.

Даже если вы не знаете pymatgen по предоставленным ссылкам, я думаю, вы могли бы помочь мне правильно использовать функции, я был бы очень признателен. Заранее спасибо!



Изменить: как сейчас выглядит код, который я пробую, оставьте оба, потому что я не уверен. если я все делаю правильно.

from pymatgen.electronic_structure.dos import CompleteDos
from pymatgen.electronic_structure.plotter import DosPlotter
from pymatgen.electronic_structure.core import Spin, Orbital
from pymatgen.io.vasp.outputs import Vasprun, Procar
from pymatgen.core.ion import Ion

vasprun = Vasprun("./vasprun.xml")

pdos = vasprun.pdos
tdos = vasprun.tdos
efermi = vasprun.efermi
energy = vasprun.eigenvalues
structure = vasprun.structures

a = CompleteDos(structure, tdos, pdos)
data = a.get_site_t2g_eg_resolved_dos(structure)
plot = DosPlotter(data)
plot.get_plot().show()


Ошибка вывода:

Traceback (most recent call last):
File "t2g2g.py", line 21, in
data= a.get_site_t2g_eg_resolved_dos(structure)
File "/usr/local/lib/python2.7/dist-packages/pymatgen/electronic_structure/dos.py", line 351, in get_site_t2g_eg_resolved_dos
for s, atom_dos in self.pdos.items():
AttributeError: 'list' object has no attribute 'items'


Подробнее здесь: https://stackoverflow.com/questions/423 ... otting-dos
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Получение данных XRD из pymatgen, а не графика
    Anonymous » » в форуме Python
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous
  • Получение данных XRD из pymatgen, а не графика
    Anonymous » » в форуме Python
    0 Ответы
    17 Просмотры
    Последнее сообщение Anonymous
  • ModuleNotFoundError: нет модуля с именем «pymatgen.anaанализ.interface».
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Модуль pymatgen не найден в vscode
    Anonymous » » в форуме Python
    0 Ответы
    8 Просмотры
    Последнее сообщение Anonymous
  • Как улучшить отзывчивость интерактивных линейных графиков, созданных в виде графиков, сохраненных в виде html-файлов?
    Anonymous » » в форуме Python
    0 Ответы
    39 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»