软件包 API

顶层软件包

量电混合量子化学框架。

q2m3 提供 QPE、QM/MM 溶剂化、资源估计和可选的基于采样的量子对角化工作流。

主要导出项

  • q2m3.QuantumQMMM

  • q2m3.QPEEngine

  • q2m3.QMMMSystem

  • q2m3.PySCFPennyLaneConverter

  • q2m3.UnifiedDensityMatrix

  • q2m3.MoleculeConfig

  • q2m3.load_xyz()

  • q2m3.save_json_results()

  • q2m3.run_sqd() (需安装 sqd 扩展依赖)

可选 SQD 导出项

q2m3 在访问时加载 q2m3.run_sqd。仅当 Python 能找到两个 SQD 后端模块时,q2m3.__all__ 才包含此导出。积分入口和类型契约位于 q2m3.sqd。参见 SQD API。

常量

量子化学与 QM/MM 模拟共用的物理常量。

所有值均为 Python 浮点数(不是 JAX 标量),以兼容纯 Python 和 @qjit 编译代码。

分子配置

分子系统配置。

提供通用 MoleculeConfig 数据类,用于配置量电混合模拟中的 QM 区域参数。

class q2m3.molecule.MoleculeConfig(name, symbols, coords, charge, active_electrons, active_orbitals, basis='sto-3g')[源代码]

基类:object

通用分子系统配置。

通过指定原子符号、坐标、电荷和活性空间参数,此类可支持任意分子系统。

参数:
  • name (str)

  • symbols (list[str])

  • coords (list[list[float]])

  • charge (int)

  • active_electrons (int)

  • active_orbitals (int)

  • basis (str)

name

便于阅读的分子标识

类型:

str

symbols

原子符号列表,例如 ["O", "H", "H"]

类型:

list[str]

coords

以埃为单位的原子坐标,形状为 (n_atoms, 3)

类型:

list[list[float]]

charge

分子总电荷(中性分子为 0,阳离子为 +1,依此类推)

类型:

int

active_electrons

QPE 活性空间中的活性电子数

类型:

int

active_orbitals

QPE 活性空间中的活性轨道数

类型:

int

basis

基组名称,默认为 "sto-3g"

类型:

str

示例:

# Water molecule
water = MoleculeConfig(
    name="H2O",
    symbols=["O", "H", "H"],
    coords=[[0.0, 0.0, 0.117], [-0.756, 0.0, -0.469], [0.756, 0.0, -0.469]],
    charge=0,
    active_electrons=4,
    active_orbitals=4,
)
property n_atoms: int

分子中的原子数。

property coords_array: ndarray

numpy 数组形式的坐标。

property center: ndarray

分子的几何中心。

validate()[源代码]

验证配置的一致性。

返回类型:

None