5.6. [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
5.6.1. 入力形式¶
keyword = values
の形式でキーワードとその値を指定します.
また,#をつけることでコメントを入力することができます(それ以降の文字は無視されます).
5.6.2. キーワード¶
solver.type != "potts"
の場合¶
格子の指定
unitcell
形式 : list型
説明 : 格子ベクトル \(\bf{a}, \bf{b}, \bf{c}\) を, リスト形式で [ \(\bf{a}, \bf{b}, \bf{c}\) ] として指定します.
supercell
形式 : list型
説明 : 超格子の大きさをリスト形式で [ \(\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
形式 : 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
形式 : 自然数のリスト
説明 : 超立方格子のサイズ.