コンテンツにスキップ

クイックスタート

FBTK での構造構築は、以下の 3 つのステップで行われます。この流れを理解することで、スムーズな構築が可能になります。

graph LR
    A[Molecule<br/>テンプレート定義] --> B[Builder<br/>空間配置・パッキング]
    B --> C[System<br/>物理系・解析・出力]
    
    style A fill:#f9f,stroke:#333,stroke-width:2px
    style B fill:#bbf,stroke:#333,stroke-width:2px
    style C fill:#bfb,stroke:#333,stroke-width:2px
  1. Molecule: 分子の「型紙」です。SMILES やファイルから、単一の分子構造(テンプレート)を定義します。ポリマー鎖もここで「1本の Molecule」として生成します。
  2. Builder: 「配置屋」です。定義した Molecule を「いくつ、どのくらいの密度で」箱に詰めるかを指定し、実際に配置(Build)します。
  3. System: 構築された「実体」です。周期境界条件を持ち、構造緩和や RDF 解析、ファイル保存などを行います。

SMILES からのクイック構築フロー

Section titled “SMILES からのクイック構築フロー”

Ethanol Bulk

import fbtk
# 1. Molecule (型紙) の定義
ethanol = fbtk.Molecule.from_smiles("CCO", name="Ethanol")
# 2. Builder (配置屋) による空間配置
builder = fbtk.Builder(density=0.789) # 密度(g/cm3)で指定
builder.add_molecule(ethanol, count=200) # 型紙を200個追加
system = builder.build() # 実際に配置を実行
# 3. System (実体) の操作
system.relax() # 構造緩和
system.to_file("initial.mol2") # 保存
# (オプション) ASE Atoms オブジェクトへの変換
# atoms = system.to_ase()
# atoms.write("initial.data", format="lammps-data")