ab_initio:original
差分
このページの2つのバージョン間の差分を表示します。
次のリビジョン | 前のリビジョン | ||
ab_initio:original [2019/05/23 00:34] – 作成 kimi | ab_initio:original [2022/08/23 13:34] (現在) – 外部編集 127.0.0.1 | ||
---|---|---|---|
行 1: | 行 1: | ||
- | ====== Jacapo | + | ====== Jacapo |
- | + | -- Dacapoに対するASEのpythonインターフェイス -- | |
+ | このページは[[https:// | ||
===== Introduction ===== | ===== Introduction ===== | ||
- | + | JacapoはDacapoのためのASEのインターフェイスで、ASE((訳注:第3版))と完全な互換性がある。JacapoはNumeric pythonとASE第2版を用いていた古いDacapoインターフェイスを置き換えるものである。プログラムは元々John Kitchinによって開発され、詳細な説明書が多くの例題とともに[[http:// | |
- | + | JacapoはASEのオプション的な計算エンジンといった位置付けであり、前述の説明書とは若干の差異が生じているが、説明書自体もうメンテナンスをされていない。 | |
- | Jacapo | + | |
- | + | ||
- | http:// | + | |
- | + | ||
- | Jacapo | + | |
===== Jacapo calculator ===== | ===== Jacapo calculator ===== | ||
+ | JacapoインターフェイスはASEのインストールと同時に自動的にインストールされ、以下のように読み込むことができる: | ||
+ | <code python> | ||
+ | (ただし、Dacapoのインストール作業は必要である) | ||
- | + | ==== class ase.calculators.jacapo.Jacapo | |
- | The Jacapo interface is automatically installed with ase and can be imported using: | + | 計算エンジンを初期化するために必要なキーワード引数のリストを以下に示す。 |
- | + | ^キーワード引数^型^引数の意味^ | |
- | from ase.calculators.jacapo import Jacapo | + | |nc |文字列|出力用NetCDFファイル、既に存在するときには入力にも使われる| |
- | (You will need to have a working installation of Dacapo, however.) | + | |outnc |文字列|出力用NetCDFファイル、デフォルトではncと同一| |
- | + | |atoms |オブジェクト|Atomsクラスオブジェクト| | |
- | class ase.calculators.jacapo.Jacapo | + | |pw |実数|波動函数に対するエネルギーカットオフ(eV単位)| |
- | Here is a list of available keywords to initialize the calculator: | + | |dw |実数|電荷密度に対するエネルギーカットオフ(eV単位)| |
- | + | |xc |文字列|交換相関汎関数、[‘PZ’, | |
- | ^keyword ^type ^description^ | + | |nbands |整数|固有状態の数| |
- | |nc |str |Output | + | |ft |実数|フェルミ温度| |
- | |outnc |str |Output file. By default equal to nc.| | + | |kpts |リスト|K点サンプルの指定、kpts = (2,2,1)等| |
- | ||atoms |object |Atoms | + | |spinpol |論理型|スピン分極計算の可否| |
- | |pw |float |Planewave cutoff in eV| | + | |fixmagmom |文字列|単位胞あたりの磁気モーメント| |
- | |dw |float |Density cutoff in eV| | + | |symmetry |論理型|対称性による計算機リソースの軽減の可否| |
- | |xc |str |Exchange-correlation functional. One of [‘PZ’, | + | |stress |論理型|応力計算の可否| |
- | |nbands |int |Number of bands| | + | |dipole |論理型|電気双極子補正の可否| |
- | |ft |float |Fermi temperature| | + | |ados |辞書|原子軌道に投影した状態密度計算移管する情報| |
- | |kpts |list |K-point grid, e.g. kpts = (2,2,1)| | + | |stay_alive |論理型|Turn on/off stay alive| |
- | |spinpol |boolean |Turn on/off spin-polarization| | + | |debug |整数|Set debug level (0=off, 10=extreme)| |
- | |fixmagmom |str |Magnetic moment of the unit cell| | + | |deletenc |論理型|If the nc file exists, delete it (to ensure a fresh run). Default is False.| |
- | |symmetry |boolean |Turn on/off symmetry reduction| | + | |
- | |stress |boolean |Turn on/off stress calculation| | + | |
- | |dipole |boolean |Turn on/off dipole correction| | + | |
- | |ados |dict |Atom-projected density of states| | + | |
- | |stay_alive |boolean |Turn on/off stay alive| | + | |
- | |debug |int |Set debug level (0=off, 10=extreme)| | + | |
- | |deletenc |boolean |If the nc file exists, delete it (to ensure a fresh run). Default is False.| | + | |
===== Example ===== | ===== Example ===== | ||
行 51: | 行 41: | ||
This is an example only - the parameters are not physically meaningful! | This is an example only - the parameters are not physically meaningful! | ||
+ | <code python> | ||
from ase import Atoms, Atom | from ase import Atoms, Atom | ||
from ase.io import write | from ase.io import write | ||
行 72: | 行 63: | ||
print(atoms.get_potential_energy()) | print(atoms.get_potential_energy()) | ||
write(' | write(' | ||
+ | </ | ||
Note that all calculator parameters should be set in the calculator definition itself. Do not attempt to use the calc.set_* commands as they are intended to be internal to the calculator. Note also that Dacapo can only operate with periodic boundary conditions, so be sure that pbc is set to True. | Note that all calculator parameters should be set in the calculator definition itself. Do not attempt to use the calc.set_* commands as they are intended to be internal to the calculator. Note also that Dacapo can only operate with periodic boundary conditions, so be sure that pbc is set to True. | ||
- | Restarting from an old calculation | + | ===== Restarting from an old calculation |
If the file you specify to Jacapo with the nc keyword exists, Jacapo will assume you are attempting to restart an existing calculation. If you do not want this behavior, turn the flag deletenc to True in your calculator definition. | If the file you specify to Jacapo with the nc keyword exists, Jacapo will assume you are attempting to restart an existing calculation. If you do not want this behavior, turn the flag deletenc to True in your calculator definition. | ||
行 80: | 行 73: | ||
For example, it is possible to continue a geometry optimization with something like this: | For example, it is possible to continue a geometry optimization with something like this: | ||
+ | <code python> | ||
calc = Jacapo(' | calc = Jacapo(' | ||
atoms = calc.get_atoms() | atoms = calc.get_atoms() | ||
dyn = QuasiNewton(atoms, | dyn = QuasiNewton(atoms, | ||
dyn.run(fmax=0.05) | dyn.run(fmax=0.05) | ||
+ | </ | ||
Note, that the stay_alive flag is not stored in the .nc file and must be set when the calculator instance is created. | Note, that the stay_alive flag is not stored in the .nc file and must be set when the calculator instance is created. | ||
- | Atom-projected density of states | + | ===== Atom-projected density of states |
To find the atom-projected density of states with Jacapo, first specify the ados dictionary in your calculator definition, as in: | To find the atom-projected density of states with Jacapo, first specify the ados dictionary in your calculator definition, as in: | ||
+ | <code python> | ||
calc = Jacapo( ... , | calc = Jacapo( ... , | ||
ados={' | ados={' | ||
行 95: | 行 92: | ||
' | ' | ||
' | ' | ||
+ | </ | ||
After this is established, | After this is established, | ||
+ | <code python> | ||
energies, dos = calc.get_ados(atoms=[0], | energies, dos = calc.get_ados(atoms=[0], | ||
orbitals=[' | orbitals=[' | ||
cutoff=' | cutoff=' | ||
spin=[0]) | spin=[0]) | ||
- | Next Previous | + | </ |
+ | |||
+ | © Copyright 2017, ASE-developers. Last updated on Wed, 22 May 2019 07:03:39. | ||
ab_initio/original.1558539262.txt.gz · 最終更新: 2022/08/23 13:34 (外部編集)