事例5:タクティシティの制御(アタクチック・ポリスチレン)
事例5:タクティシティの制御(アタクチック・ポリスチレン)
Section titled “事例5:タクティシティの制御(アタクチック・ポリスチレン)”ポリスチレン(PS)のように側鎖に嵩高いフェニル基を持つポリマーでは、その立体規則性(タクティシティ)がパッキングや物理的性質に大きく影響します。
fbtk では、Molecule.from_polymer メソッドを使用することで、アタクチック(ランダムな立体規則性)なポリマー鎖を独立した Molecule オブジェクトとして生成できます。
対象システム
Section titled “対象システム”- ポリマー: ポリスチレン (PS)
- 構成:
- 重合度 (DP):20
- 本数:10本
- タクティシティ: アタクチック (atactic)
- 総原子数: 3,220
- 初期設定密度: 0.10 g/cm³(低密度スタート)
計算コード (run.py)
Section titled “計算コード (run.py)”Molecule.from_polymer でアタクチック鎖を作成し、低密度から緩和を開始する推奨構成です。
import fbtk
# 1. モノマーをSMILESから作成monomer = fbtk.Molecule.from_smiles("*C(C*)c1ccccc1", name="PS")
# 2. アタクチック・ポリマー鎖の生成# from_polymer を用いて、タクティシティを指定した単一の Molecule オブジェクトを作成しますchain = fbtk.Molecule.from_polymer(monomer, degree=20, tacticity="atactic")
# 3. Builderの初期化(低密度 0.10 を指定)builder = fbtk.Builder(density=0.10)
# 4. 生成したポリマー鎖をシステムに追加builder.add_molecule(chain, count=10)
# 5. システムの構築と緩和system = builder.build()print("Starting relaxation for Atactic Polystyrene...")system.relax()
# 6. 結果の出力chain.to_file("ps_atactic_chain.mol") # 生成されたアタクチック鎖単体system.to_file("ps_atactic_cell.mol2") # 緩和後のユニットセルprint("Done.")
実行ログの確認
Section titled “実行ログの確認”低密度スタートとアタクチック設定の組み合わせにより、大規模なポリスチレン系でもスムーズに収束します。
Atoms: 3220 | Bonds: 3410-------------------------------------------------------------------------------- | Fmax | FRMS | Total E |Iter | (kcal/mol/Å) | (kcal/mol/Å) | (kcal/mol) | Status-------------------------------------------------------------------------------- 0 | 42578.2095 | 6442.3968 | 1422137162651.3857 | 10 | 10670.1938 | 495.5003 | 570159.9917 | 20 | 5032.0412 | 224.4168 | 340325.8947 | ... 980 | 39.2758 | 0.9008 | 38346.5101 | 990 | 775.1007 | 16.9985 | 38246.3019 |--------------------------------------------------------------------------------=== Optimization Finished ===Reason: Max-IterTotal Time: 37.916s (Avg: 37.916ms / step)Final Energy: 38217.2511 kcal/molFinal FRMS: 1.5753 kcal/mol/ÅMin Distance: 1.0775 Å (Atoms 1473 and 1481)--------------------------------------------------------------------------------アタクチック鎖の生成
Section titled “アタクチック鎖の生成”Molecule.from_polymer を使用すると、主鎖の各不斉炭素に対してランダムに側鎖の向きが割り当てられた具体的な Molecule オブジェクトがメモリ上に構築されます。これを to_file で出力することで、パッキング前の単一鎖の立体構造を確認することも可能です。
緩和品質の向上
Section titled “緩和品質の向上”側鎖がすべて同じ向きに並ぶ(アイソタクチック的な)構造に比べ、アタクチック構造は立体障害が分散されやすく、パッキング後の緩和もスムーズに進みます。今回の結果でも Min Distance は 1.0775 Å と、大規模系としては良好な初期構造が得られています。