H2 MC 溶剂化

使用 q2m3.solvation 运行固定模式 H2 Monte Carlo 溶剂化。先安装 catalyst 和 solvation extras。

运行脚本

uv run python examples/qmmm/h2_mc_solvation.py

脚本构建 SolvationConfig,运行 run_solvation(),并报告 Catalyst IR 缓存是否命中。

配置用法

from q2m3.solvation import MoleculeConfig, QPEConfig, SolvationConfig, run_solvation

h2 = MoleculeConfig(
    name="H2",
    symbols=["H", "H"],
    coords=[[0.0, 0.0, 0.0], [0.0, 0.0, 0.74]],
    charge=0,
    active_electrons=2,
    active_orbitals=2,
    basis="sto-3g",
)

config = SolvationConfig(
    molecule=h2,
    qpe_config=QPEConfig(
        n_estimation_wires=4,
        n_trotter_steps=10,
        n_shots=50,
        qpe_interval=10,
        target_resolution=0.003,
        energy_range=0.2,
    ),
    hamiltonian_mode="fixed",
    n_waters=10,
    n_mc_steps=100,
    temperature=300.0,
    random_seed=42,
)

result = run_solvation(config, show_plots=False)

Fixed 模式

fixed 模式使用真空 QPE 哈密顿量。它在 MC 循环中添加 MM 能量项。此示例用于检查 Catalyst、JAX、PySCF 和 IR 缓存。

首次运行可能编译 Catalyst IR。如果电路结构不变,后续运行可复用缓存的 IR。

输出字段

结果字典包含能量轨迹、接受统计、计时数据、电路元数据和可选缓存统计。诊断可能增加结果键。读取结果的代码应使用 .get() 获取可选元数据。

内存说明

首次 MC 运行使用 H2 固定模式。H3O+ 和动态模式会增加哈密顿量项数、电路规模和 Catalyst 编译成本。H2 检查通过前,将它们仅用作诊断。