====== 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ファイル形式を[[:software:vmd|VMD]]の入力ファイルとして使用することが想定されているようですが、VESTAでも使用できます。ただし、VESTAで使用する際には単位格子が斜方晶(単位格子ベクトルが互いに直交する)でない場合正しく表示されません。[[:ab_initio:makevestafileスクリプト|適当なWrapperを書く必要]]があります。 Cubeファイル形式の3次元データは実数でなければならないわけですが、もし''WriteCube''関数に複素数の配列が渡されたときには、一方には複素配列の絶対値が、他方にはその位相が書き出された二つのCubeファイルが作成されます。この位相のデータはVMDで等値面を描くときに色分けのデータとして使用されます。