.. highlight:: none .. _config-section: [config] セクション ------------------------------- 多元系の原子配置やPotts 模型の格子サイズなど,配位に関するパラメータを指定します. 以下のようなファイルフォーマットをしています. :: [config] unitcell = [[8.1135997772, 0.0000000000, 0.0000000000], [0.0000000000, 8.1135997772, 0.0000000000], [0.0000000000, 0.0000000000, 8.1135997772]] supercell = [1,1,1] [[config.base_structure]] type = "O" coords = [ [0.237399980, 0.237399980, 0.237399980], [0.762599945, 0.762599945, 0.762599945], ## 中略 [0.262599975, 0.262599975, 0.762599945], ] relaxation = [ [true, true, true], ## 中略 [false, false, false], ] magnetization = [0.0, 0.5, ...中略..., 0.0] [[config.defect_structure]] coords = [ [0.000000000, 0.000000000, 0.000000000], [0.749999940, 0.249999985, 0.499999970], ## 中略 [0.124999993, 0.624999940, 0.124999993], ] [[config.defect_structure.groups]] name = 'Al' # species = ['Al'] # default # coords = [[[0,0,0]]] # default # relaxation = [[true, true, true]] # default # magnetization = [0.0] # default num = 16 [[config.defect_structure.groups]] name = 'Mg' # species = ['Mg'] # default # coords = [[[0,0,0]]] # default # relaxation = [[true, true, true]] # default # magnetization = [0.0] # default num = 8 入力形式 ^^^^^^^^^^^^ ``keyword = values`` の形式でキーワードとその値を指定します. また,#をつけることでコメントを入力することができます(それ以降の文字は無視されます). キーワード ^^^^^^^^^^ ``solver.type != "potts"`` の場合 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - 格子の指定 - ``unitcell`` **形式 :** list型 **説明 :** 格子ベクトル :math:`\bf{a}, \bf{b}, \bf{c}` を, リスト形式で [ :math:`\bf{a}, \bf{b}, \bf{c}` ] として指定します. - ``supercell`` **形式 :** list型 **説明 :** 超格子の大きさをリスト形式で [ :math:`\bf{a}, \bf{b}, \bf{c}` ] 指定します. - ``init_structure`` **形式 :** str型 **説明 :** モンテカルロサンプリングの初期構造ファイル(POSCAR やCIF 形式など)を指定します. 指定しなかった場合,ランダムに生成されます. - ``constraint_module`` **形式 :** bool型 **説明 :** 配位に対して拘束条件を課すかどうかを指定します.デフォルト値は ``false`` です. ``true`` の場合,拘束条件はユーザが定義する関数で与えます.この関数は ``constraint_module.py`` 内に ``constraint_func`` という関数名で配置し,pymatgen.core.Structure 型の構造データを引数にとりbool型の値を返す関数として定義します.また, ``shuffle`` を行う際に構造データからエネルギー値を計算する ``constraint_energy`` 関数を定義して使用することもできます. - ``constraint`` **形式 :** str型 **説明 :** 配位に対する拘束条件を与えるユーザ定義関数を指定します.指定しない場合は拘束条件を課しません.デフォルト値は指定なしです. 拘束条件は,任意のモジュール内に配置された,pymatgen.core.Structure型の構造データを引数にとりbool型の値を返す関数として定義します. ``constraint`` パラメータには関数名を ``"モジュール名.関数名"`` の形式で指定します. ``constraint_module`` が ``true`` に指定されている場合は, ``constraint`` パラメータの指定が優先されます. - ``[[config.base_structure]]`` セクション ``type`` と ``coords`` によりモンテカルロ計算で動かさない原子種とその座標を指定します. 原子種が複数ある場合には,複数の [[config.base_strucure]] セクションを指定します. - ``type`` **形式 :** str型 **説明 :** 原子種を指定します. - ``coords`` **形式 :** listのlist もしくは 文字列 **説明 :** 座標を指定します. 3次元座標を表す3要素のリストをN 個(原子の数)だけ並べたリストか,座標を N 行 3列に並べた文字列で指定します. - ``relaxation`` **形式 :** listのlist もしくは 文字列 **説明 :** 原子・空間次元ごとに,構造最適化を行うかどうかを指定します. 真偽値("true" or "false")を表す3要素のリストをN 個(原子の数)だけ並べたリストか,真偽値を N 行 3列に並べた文字列で指定します. デフォルトはすべて "true" です. - ``magnetization`` **形式 :** list **説明 :** 原子ごとに磁化(up/down 電子個数差)を指定します. デフォルトはすべて 0.0 です. - ``[[config.defect_structure]]`` セクション モンテカルロで更新する原子が入る座標 (coords)と入りうる原子(団) (group) を指定します. - ``coords`` **形式 :** listのlist もしくは 文字列 **説明 :** 原子が入る座標を指定します. 3次元座標を表す3要素のリストをN 個(原子の数)だけ並べたリストか,座標を N 行 3列に並べた文字列で指定します. - ``[[config.defect_structure.groups]]`` セクション モンテカルロで更新する原子グループの情報を指定します. - ``name`` **形式 :** str型 **説明 :** 原子グループの名前を指定します. - ``species`` **形式 :** list型 **説明 :** 原子グループに属する原子種を指定します. デフォルト値は ``name`` で指定したものがひとつだけ含まれたリストです. また,空のリストを用いて欠陥を表現できます. .. _coords-orr: - ``coords`` **形式 :** listのlistのlist **説明 :** 原子グループ中の各原子の座標を,局所回転の向きごとに指定します. 3次元座標を表す3要素のリストをN 個(原子の数)だけ並べたリストをさらに向きごとにならべた,3重のリストとして指定します. たとえば原子の数が2つあり,回転の方向としてx,y,z 向きの3種類考える場合には, :: coords = [ [ # dir-1 [0.0, 0.0, 0.0], [0.5, 0.0, 0.0] ], [ # dir-2 [0.0, 0.0, 0.0], [0.0, 0.5, 0.0] ], [ # dir-3 [0.0, 0.0, 0.0], [0.0, 0.0, 0.5] ], ] のように指定します. デフォルト値は `[[[0.0, 0.0, 0.0]]]` なので,原子が一つしかない場合には一般に省略可能です. - ``relaxation`` **形式 :** listのlist もしくは 文字列 **説明 :** 原子・空間次元ごとに,構造最適化を行うかどうかを指定します. 真偽値("true" or "false")を表す3要素のリストをN 個(原子の数)だけ並べたリストか,真偽値を N 行 3列に並べた文字列で指定します. デフォルトはすべて "true" です. - ``magnetization`` **形式 :** list **説明 :** 原子ごとに磁化(up/down 電子個数差)を指定します. デフォルトはすべて 0.0 です. - ``num`` **形式 :** int型 **説明 :** この原子グループの数を指定します. - ``[[config.chemical_potential]]`` セクション グランドカノニカルサンプリングにおいて,原子種や原子グループに対する化学ポテンシャルを指定します. - ``species`` **形式 :** str型 もしくは str型のリスト **説明 :** 原子種または原子グループの名前を指定します.複数の原子種・原子グループにまとめて同じ値を設定する場合は,それらをリストで指定します. - ``mu`` **形式 :** float型 **説明 :** ``species`` に対応する化学ポテンシャルの値を指定します. - ``[[config.grandcanonical_move]]`` セクション グランドカノニカルサンプリングにおいて,原子種または原子グループの増減や,原子種の入れ替えが起きる場合の入れ替わる原子種を指定します.指定方法は以下のとおりです. - 原子種または原子グループの増減 - ``species`` **形式 :** str型 もしくは str型のリスト **説明 :** 原子種または原子グループの名前を指定します.複数の原子種・原子グループを同時に増減させる場合は,それらをリストで指定します.同種の原子種を複数個指定することもできます. - 原子種の入れ替え - ``from``, ``to`` **形式 :** str型 もしくは str型のリスト **説明 :** 入れ替わる原子種または原子グループの名前を ``from A to B`` の形で指定します. ``from B to A`` の入れ替えも自動的に考慮されます. ``from``, ``to`` で指定する原子種の数は同じで,同一の defect sublattice に配置されているとします. ``grandcanonical_move`` の指定がないときは, ``chemical_potential`` に記述される原子種・原子グループまたはその組が増減する指定が自動的に挿入されます. 一方, ``grandcanonical_move`` の指定が一つでもあれば,その操作のみが行われます. ``solver.type = "potts"`` の場合 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - ``Q`` **形式 :** 自然数 **説明 :** Potts 模型でスピンが取りうる状態の数. - ``L`` **形式 :** 自然数のリスト **説明 :** 超立方格子のサイズ.