使用 ASE 来完成晶胞及原子结构的进一步优化 mol = mol_ini.clone() p1 = spdkit.to_ase_atoms(mol) calc_elastic = ElasticModel(mol, chemenv) p1.set_calculator(calc_elastic) box = Mushybox(p1) # dyn = FIRE(p1, maxstep=0.1) dyn = FIRE(box, maxstep=0.1) dyn.run(fmax=0.001, steps=100)。修改上述代码,输出ASE晶胞优化的结构以及打印晶格参数到当前目录下
时间: 2024-03-07 19:47:01 浏览: 137
ase.rar_A*算法_ASE_NodeView.cpp_very_simple. ase
好的,您可以参考下面的代码来实现:
```
import os
import numpy as np
from ase.io import write
mol = mol_ini.clone()
p1 = spdkit.to_ase_atoms(mol)
calc_elastic = ElasticModel(mol, chemenv)
p1.set_calculator(calc_elastic)
box = Mushybox(p1)
dyn = FIRE(box, maxstep=0.1)
dyn.run(fmax=0.001, steps=100)
# 打印优化后的晶格参数
lattice_params = np.array(p1.get_cell_lengths_and_angles())
print("Optimized lattice parameters:")
print(lattice_params)
# 将优化后的结构输出至当前目录下的out.cif文件中
write(os.path.join(os.getcwd(), 'out.cif'), p1)
```
以上代码会将优化后的晶格参数打印在控制台上,同时将优化后的结构输出为 CIF 格式的文件 `out.cif`,保存在当前目录下。其中,晶格参数以空格分隔。您可以根据需要修改输出格式。
阅读全文