ASE出力ライブラリ
xyz
The function WriteXYZ from module xyz can write a ASE Listofatoms or a trajectory in the the xyz file format.
3 This line is a comment. O 2.5 2.5 2.5 H 3.6 2.5 2.5 H 2.5 3.6 2.5
3 Frame: 0 O 2.5 2.5 2.5 H 3.6 2.5 2.5 H 2.5 3.6 2.5 3 Frame: 1 O 2.5 2.5 2.5 H 3.8 2.5 2.5 H 2.5 3.6 2.5 3 Frame: 2 O 2.5 2.5 2.5 H 4.0 2.5 2.5 H 2.5 3.6 2.5 3 Frame: 3 O 2.5 2.5 2.5 H 4.2 2.5 2.5 H 2.5 3.6 2.5
The WriteXYZ function is used like:
from ASE.IO.xyz import WriteXYZ
WriteXYZ(filename,atoms=listofatoms)
for writing a single frame xyz file, or it can be used like:
from ASE.IO.xyz import WriteXYZ
WriteXYZ(filename,trajectory=trajectory)
for writing a multiple frame xyz file.
The ReadXYZ function will read an xyz-file and return ListOfAtoms object.
PDB
PDBファイル形式よりもXYZファイル形式のほうが圧倒的に簡単なので、まずはXYZファイル形式を利用して下さい。
個々の原子を原子種(元素)で色分けするのではなく別の基準、例えば温度で色分けするような場合はPDBファイルが便利です。
The function WritePDB from module PDB can write a ASE Listofatoms object in the the Protein Data Band (PDB)file format.
The WritePDB function is used like:
>>> from ASE.IO.PDB import WritePDB >>> WritePDB(listofatoms,filename)
The module converts to the Angstrom length unit used in the PDB file format. …
Gaussian Cube file
Gaussian Cubeファイル形式は、元々は第一原理分子軌道計算のソフトウェアパッケージとして有名なGaussianで使うことを想定したファイル形式で、原子位置などだけではなく電荷密度などの3次元的なデータを記述することができるファイル形式です。
ASE.IO.Cube
モジュールにはWriteCube
関数が用意されており、ASEのListOfAtoms
オブジェクトの単位格子と原子座標の情報とともに任意の配列データをCubeファイル形式でファイルに書き出すことができます。
書き出す3次元データはListOfAtomオブジェクトの単位格子内で定義された実数の3次元配列です。
WriteCube
関数は
>>> from ASE.IO.Cube import WriteCube >>> WriteCube(listofatoms,numarray,filename)
のように使用します。
開発元(CAMP)では主にこのCubeファイル形式をVMDの入力ファイルとして使用することが想定されているようですが、VESTAでも使用できます。ただし、VESTAで使用する際には単位格子が斜方晶(単位格子ベクトルが互いに直交する)でない場合正しく表示されません。適当なWrapperを書く必要があります。
Cubeファイル形式の3次元データは実数でなければならないわけですが、もしWriteCube
関数に複素数の配列が渡されたときには、一方には複素配列の絶対値が、他方にはその位相が書き出された二つのCubeファイルが作成されます。この位相のデータはVMDで等値面を描くときに色分けのデータとして使用されます。