Я сгенерировал наборы координат xyz для четырех атомов в димерах двухатомных молекул. где каждый из Al1, F1, Al2, F2 имеет свои координаты x, y и координаты z в отдельном массиве. каждый массив имеет длину 33177600, что означает, что у меня есть 33177600 конфигураций. Я хочу эффективно создать файл xyz, содержащий координаты всех конфигураций.
Для этого я использовал цикл for с объектом атомов библиотеки ASe, но думаю, что может возникнуть более вычислительно эффективный способ сделать это. Я хочу избежать цикла for и использовать для этой задачи NumPy, pandas или другие эффективные методы. Спасибо!
import numpy as np
import ase
from ase import io
from ase import Atoms
atoms=[]
for i in range(5):
atoms.append(Atoms(['Al','F','Al','F'], positions=[(x_al1, y_al1, z_al1), (x_f1, y_f1, z_f1),(x_al2, y_al2, z_al2),(x_f2, y_f2[i], z_f2[i])]))
ase.io.write(filename='tryj.xyz',images=atoms)
Выходной файл xyz для пяти конфигураций выглядит следующим образом
4
Properties=species:S:1:pos:R:3 pbc="F F F"
Al 2.57624552 -0.00195309 0.00000000
F 3.20148847 0.00277378 0.00000000
Al -0.25834347 0.00195220 -0.00005894
F 0.36689949 -0.00277251 0.00008371
4
Properties=species:S:1:pos:R:3 pbc="F F F"
Al 2.57624552 -0.00195309 0.00000000
F 3.20148847 0.00277378 0.00000000
Al -0.25834347 0.00188505 -0.00051102
F 0.36689949 -0.00267715 0.00072575
4
Properties=species:S:1:pos:R:3 pbc="F F F"
Al 2.57624552 -0.00195309 0.00000000
F 3.20148847 0.00277378 0.00000000
Al -0.25834347 0.00149618 -0.00125539
F 0.36689949 -0.00212488 0.00178290
4
Properties=species:S:1:pos:R:3 pbc="F F F"
Al 2.57624552 -0.00195309 0.00000000
F 3.20148847 0.00277378 0.00000000
Al -0.25834347 0.00058919 -0.00186210
F 0.36689949 -0.00083677 0.00264455
4
Properties=species:S:1:pos:R:3 pbc="F F F"
Al 2.57624552 -0.00195309 0.00000000
F 3.20148847 0.00277378 0.00000000
Al -0.25834347 -0.00058919 -0.00186210
F 0.36689949 0.00083677 0.00264455
Подробнее здесь: https://stackoverflow.com/questions/785 ... olecules-t
Эффективное преобразование массивов координат различной конфигурации молекул в файл xyz.file ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение