目次

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で等値面を描くときに色分けのデータとして使用されます。