APOSTRUCT は、結晶の対称性解析をローカルで行う Python パッケージです。 同梱の BYU ISOTROPY テーブルから、k ベクトル、既約表現、秩序変数方向、isotropy 部分群、不変基底、対称性適合モード、Landau不変量を計算します。
名前について — apo- は「離れて」を意味するギリシャ語の接頭辞で、apomorphy(祖先形質から派生した形質)と同じ語法にあたります。 ISODISTORT の iso- が秩序変数を不変に保つ部分群、すなわち対称性の残る側を名指すのに対し、apo- は親構造から離れる側を名指します。 struct はその対象であり、変位・磁気・歪みを含む構造そのものを指します。
- parent入力: CIF、またはspace groupとordered Wyckoff site
- distortion入力: displacive site、magnetic site、homogeneous strain、1から4個の ordered k/irrep factor
- forward pipeline: parent情報、k point、発現irrep、OPD、subgroup、invariant basis、atomic/strain mode definition
- embedding query: 指定したparent/subgroupのbasisとoriginに両立するordinaryまたは time-odd OP direction
- 出力: compact JSON、optionalなfull pipeline state、text mode table、保存JSON case
- interface:
apocommandとlocal browser interface
CLIとGUIは同じbackend serviceへの入口です。 workflowと表示粒度は異なりますが、科学計算の経路は共通です。
repositoryをcloneし、packageをinstallします。
python -m pip install .開発時はpython -m pip install -e .を使います。
どちらもapo commandをinstallし、必要な群論tableもpackageに含まれます。
以下はSrを1a、Tiを1b、Oを3cに置いたSrTiO3 parentの例です。 各段が返すidentifierを次段の入力に使います。
# parentと選択可能なcrystallographic siteを確認
apo info structure.cif
# k pointとirrepを探索
apo kpoints structure.cif
apo irreps structure.cif --k R --displacive O
# OPDを列挙し、返されたexact labelを1つ選択
apo opds structure.cif --k R --irrep R5- --displacive O
apo modes structure.cif \
--k R --irrep R5- --displacive O --opd P1
# 選択domain上のLandau invariant basisを計算
apo invariants structure.cif \
--k R --irrep R5- --displacive O --opd P1 \
--minimum-degree 2 --maximum-degree 6具体的なCIFを必要としない場合はspace-group/Wyckoff経路を使います。
apo opds \
--sg 221 --wyckoff 1a 1b 3c \
--k R --irrep R5- --displacive cこの原点選択では反位相八面体回転はR5-です。
parent原点を (1/2,1/2,1/2)だけ移し、Tiを1a、Oを3dに置く規約では、同じ物理的回転が Howard-Stokesの慣用記号R4+になります。
自由なWyckoff座標はOPD・invariant段まで未指定のまま保持できます。
atomic modeの geometryを構成するmodes段でのみ具体値が必要です。
CLIガイドにcommand workflow、入力規約、coupled selection、parametric k、saved case、exact embeddingの再利用、secondary invariant factor、machine-readable出力をまとめています。
apo serve --host 127.0.0.1 --port 8300 --open-browser既存caseはapo show --case case.jsonで稼働中GUIへ読み込めます。
GUIは通常のCIF workflowに加え、space groupとWyckoff siteを直接指定するsymbolic workflowを備えています。
pipeline commandは既定でcompact JSONを標準出力します。
modesは --format textにも対応し、利用可能なcommandでは--full-stateで完全な計算stateを取得できます。
-o PATHを指定した場合だけfileを作成します。
検証方法と結果はValidation.ja.mdを参照してください。
source checkoutには、apoとは独立した単一branch用の検証手段をVerification/に収録します。
元のISODISTORT softwareと群論tableはHarold T. Stokes、Dorian M. Hatch、Branton J. Campbell(Brigham Young University)の成果です。 研究で使用する際は謝辞をお願いします。 詳細はNOTICEを参照してください。
