10.4 QSCI

QSCI 函数用于执行 QSCI(Selected Configuration Interaction)计算,以获取分子体系的基态能量。该函数通过对量子采样得到的比特串进行筛选和处理,结合分子的积分信息,最终计算出基态能量。

10.4.1 node.json配置解析

本节点的所有配置说明、测试用例等,均集成于 node.json 文件中,您可以通过该文件来学习和配置您用于输入的计算节点。

{
    "id": "c48123e3-33c5-4b2c-8b24-qsci-node-2025",
    "name": {"cn":"QSCI 节点",
             "en":"QSCI Node"},
    "version": "1.0.0",

   
    "input":{
        
         "upstream":[
                {
                    "var": "ffsim_file_path",  // 变量名 与config.json和main.py一致
                 	"name": { "cn": "ffsim对象", // 前端显示名称,可缺省
                           "en": "ffsim object"},
                	 "description": "存储了分子的 SCF 积分信息,包括单电子积分、双电子积分、核心能量和自旋等"},
                 {
                     "var": "measure_counts_file_path",  // 变量名 与config.json和main.py一致
                     "name": { "cn": "测量结果字典对象",
                           	  "en": "measure result dict"},
             		 "description": "输出测量结果统计计数字典(state -> count)"},
                 {
                     "var": "hf_energy_file_path",  // 变量名 与config.json和main.py一致
                     "name": { "cn": "hf节点输出对象", // 前端显示名称,可缺省
                               "en": "hf node output object"},
                     "description": "HF 节点输出的能量与键长配置"}

                ],
        "web":[
                {"var": "open_shell", 
                 "name": { "cn": "测量次数",
                           "en": "shots number"},
                 "description": "可选:QSCI 的特殊参数,用于对称自旋恢复,默认值为 False。",
                 "ui": "checkbox"},
                {"var": "unique_sample", 
                 "name": { "cn": "最大迭代次数",
                           "en": "shots number"},
                 "description": "模拟测量次数(shots),建议在 1000 - 100000 范围内调整",
                 "ui": "plain_text"},
                {"var": "percentage", 
                 "name": { "cn": "百分比",
                           "en": "percentage"},
                 "description": "基于计数选择配置的百分比,默认值为 `0.1`。用于筛选出现次数较高的配置",
                 "ui": "plain_text"},
                {"var": "verbose", 
                 "name": { "cn": "结果输出级别",
                           "en": "output level"},
                 "description": "结果输出级别,默认为0",
                 "ui": "plain_text"}
            ]
    },
    "output":{
        "downstream":[
            	{"var": "selected_configurations_file_path", 
             	"name": { "cn": "筛选后的配置及其计数",
                       "en": "measure result dict"},
             	"description": "输出测量结果统计计数字典(state -> count)"
            	}
            ],
        "downstream":[
            	{"var": "qsci_energy_file_path", 
             	"name": { "cn": "测量结果字典对象",
                       "en": "measure configurations and their counts"},
             	"description": "筛选后的配置及其计数"
            	}
            ]

        
    },
        
 
    "performance_config_path": "/app/qsci/performance_config.json",
    "example_config_path": "/app/qsci/example/test_config.json",
    "contact": {
        "name": "微观纪元量子化学团队",
        "email": "wuchuixiong@miqroera.com",
    },
    "execution_command": "python /app/qsci/script/main.py  --config_path ${input_config_path}" // 必须囊括 ${input_config_path} 变量
}

下列表格旨在详细解析MiqroForge系统中节点配置文件的结构与内容。节点配置文件是确保各个计算节点能够正确部署、初始化并高效运行的关键。通过该表格,用户可以清晰地了解每个配置项的意义、数据类型、默认值以及是否为必需项。此外,还将提供一些示例值以帮助理解如何根据实际需要进行配置。

基本信息

字段名

必填

描述

约束/选项

示例值

id

节点全局唯一标识符,在初始化节点时自动生成

UUID格式

684bee08-a78d-4b1f-87a8-91910ca81f38

version

节点版本号

语义化版本

1.0.0

输入/输出配置 (inputs/outputs)

qsci-node

在图中清晰地展示了QSCI计算节点的输入输出关系及UI界面配置选项,强调了通过对量子采样得到的比特串进行筛选和处理,结合分子的积分信息,最终计算出基态能量,以及与上下游节点的交互方式。

  1. 上游输入:(upstream)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    小写蛇形命名

    name

    数据类型

  2. webUI输入 (web)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    name

    数据类型

    ui

    前端输入样式

  3. 下游输出:(downstream)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    小写蛇形命名

    name

    数据类型

  4. webUI输出:(web)

    字段名

    必填

    描述

    约束/选项

    var

    字段标识

    name

    数据类型

    ui

    前端输出样式

性能配置/测试案例

字段名

必填

描述

约束/选项

performance_config

性能配置文件路径

绝对路径

example_config_path

运行测试输入文件test_config_path

绝对路径

execution_command

节点执行命令

联系信息 (contact)

字段名

必填

描述

约束/选项

示例值

name

维护者名称

-

"微观纪元量子化学团队"

email

联系邮箱

有效邮箱格式

"wuchuixiong@miqroera.com"

10.4.2 config.json 节点测试及配置说明

MiqroForge 平台中,每个节点镜像都包含一个标准化的测试配置文件 test_config.json。此文件位于节点的 /app/example/ 目录中,是验证节点功能的关键工具。

在节点的实际运行中,test_config.json或通过MiqroForge生成的${input_config_path}指向的config文件,他们的作用是作为计算时的输入/输出配置文件。用户在编写可执行程序时,需要保证main.py或其他可执行程序从config文件中读取到变量名。这些变量名和node.json中的变量名要保持一致。

测试配置文件示例(QSCI节点):

{
    "open_shell": "Flase",
    "unique_sample": "default",
    "verbose":0,
    "percentage":0.1,
    "ffsim_file_path": "/app/qsci/example/h2o-molecule.json",
    "measure_counts_file_path":"/app/qsci/example/h2o-counts.json",
    "qsci_energy_file_path": "/app/qsci/example/h2o-energy.json",
    "hf_energy_file_path":"/app/qsci/example/h2o_hf_energy_file_path.json",
    "selected_configurations_path":"/app/qsci/example/h2o_selected_configurations.json"
}