《ACS Omega》:MOrbVis: Browser-Based Molecular Orbital Visualization with WebGPU-Accelerated On-the-Fly Evaluation
编辑推荐:
MOrbVis是一款开源的网页应用,可直接在浏览器中读取Molden格式文件,通过WebGPU计算着色器(Compute Shader)在三维网格上实时计算(On-the-fly Evaluation)高斯型基函数(s至g壳层),无需预生成Gaussian C
MOrbVis是一款开源的网页应用,可直接在浏览器中读取Molden格式文件,通过WebGPU计算着色器(Compute Shader)在三维网格上实时计算(On-the-fly Evaluation)高斯型基函数(s至g壳层),无需预生成Gaussian Cube体数据文件。研究人员在五类设备(含智能手机及搭载NVIDIA RTX 5090的台式机)上的基准测试表明:在超过106个网格点的单轨道求值任务中,完成时间均在100 ms以内,较单线程CPU路径最高快三个数量级。该工具无需安装,访问地址为 https://yasuaki-ito.github.io/morbvis/。
MOrbVis:基于WebGPU加速实时计算的分子轨道可视化研究解读
一、研究背景与意义
传统量子化学计算中的分子轨道(Molecular Orbital, MO)可视化通常采用两阶段流程:首先由量子化学程序(如Gaussian、PySCF、ORCA等)求解久期方程得到分子轨道系数,随后在三维网格上求值并输出为Gaussian Cube格式的体积数据文件,再由桌面端可视化软件(如GaussView、VMD、Avogadro等)读取渲染等值面。该传统工作流存在三方面显著缺陷:(1) 数据膨胀——单个1003 分辨率的Cube文件约13 MB,全轨道可视化需生成NMO 个文件,如苯分子(6-31G基组,NMO =96)需逾1.2 GB,而同等信息的Molden文件仅约260 KB;(2) 分辨率锁定——网格间距与空间范围在导出时固定,调整需重返量子化学程序重新生成,破坏交互探索体验;(3) 安装壁垒——桌面端Viewer需特定操作系统安装、图形驱动配置,部分属商业软件。尽管网页端分子可视化工具(如3Dmol.js、Mol )已成熟,但均无法从基组系数实时求值分子轨道,仅能显示预计算Cube数据。本研究旨在开发一款零安装、浏览器端运行、支持从Molden文件实时求值并渲染分子轨道及电子密度的开源工具MOrbVis,发表于《ACS Omega》。
二、主要关键技术方法
研究人员采用TypeScript基于React构建用户界面,Three.js(经由React Three Fiber)进行三维渲染,WebGPU负责GPU通用计算。核心技术包括:(1) 解析Molden格式文件([Atoms]、[GTO]、[MO]区段),自动识别直角坐标(Cartesian)或实球谐函数(Spherical Harmonic)表示的d/f/g壳层;(2) 编写WGSL(WebGPU Shading Language)计算着色器,将线性组合原子轨道(Linear Combination of Atomic Orbitals, LCAO)展开式 ψi (r) = Σμ Cμi χμ (r) 中各网格点求值任务分配至GPU线程(Workgroup size=256),各线程独立计算直角坐标或经实球谐变换的高斯收缩型基函数(Contracted Gaussian-Type Orbital, CGTO),支持s(1)/p(3)/d(6或5)/f(10或7)/g(15或9)壳层;(3) 自适应三维笛卡尔网格依据分子包围盒自动生成(默认延展余量3.0 ?,最长轴点数可设,短轴同比缩放);(4) Marching Cubes算法(Paul Bourke约定)提取等值面,法向量由标量场梯度中央差分求得而非三角面几何法向,正负瓣分网分别着色表征轨道相位;(5) 无WebGPU环境自动回退至Web Worker多线程CPU求值并配备三代缓存(轨道标量场、电子密度、网格面片);(6) 支持PNG(可调DPI及透明背景)、WebM旋转动画、Gaussian Cube、二进制STL及批量ZIP导出;内置48个范例分子(GANSU HF/STO-3G计算)。
三、研究结果
4.1. Visualization Examples(可视化示例)
MOrbVis界面左侧面板提供文件导入、轨道选择(含能极差图示,闭壳层显示↑↓、开壳层α/β分列)、网格分辨率滑条、等能值(Isovalue)调节、材质预设及导出功能。可切换原子-键显示或叠加线框模型,点击2–4个原子测键长、键角或二面角。支持轨道截面(Orthogonal或自定义法向平面,可选两原子确定法向中点或三原子张成平面)及其二维等高线图。演示了六种材质预设(Standard、Matte、Glossy、Glass、Toon、Minimal)及启用屏幕空间环境光遮蔽(Screen-Space Ambient Occlusion, SSAO)与泛光(Bloom)的高清(High-Quality)模式可直接产出出版级图片。
4.2. Comparison with Existing Software(与现有软件对比)
特征对比表显示:GaussView、Avogadro、Molden、IboView、Pegamoid、VMD及VIAMD虽可基于基组系数求值但须桌面安装(VMD支持CUDA加速仅限NVIDIA GPU,VIAMD基于Vulkan/OpenGL);3Dmol.js与Mol*属浏览器端但不能实时求值分子轨道。MOrbVis填补两项空白——既浏览器零安装又具备WebGPU加速的实时LCAO求值,且额外提供截面视图、SSAO/Bloom、STL导出及内置样例分子,是现有工具中有此综合覆盖度的首款。
4.3. Performance Evaluation(性能评估)
基准测试涵盖五套硬件:iPhone(A18 Pro)、Surface(i7-1185G7+Iris Xe)、MacBook(M2)、台式机(i9-9900K+RTX 2080 Ti)、台式机(Ultra 9 285K+RTX 5090),Molden文件由PySCF生成。
• 4.3.1. Basis Set Scaling(基组规模扩展) :苯分子HOMO在STO-3G(36基函数)、6-31G*(96)、cc-pVTZ(264)下,Grid 200(≈4.1×106 点)各平台GPU求值耗时分别为94 ms(iPhone)、82 ms(Surface)、56 ms(MacBook)、28 ms(2080 Ti)、24 ms(5090),均低于100 ms交互阈值;相较同机单线程CPU加速比最高达1287×(RTX 2080 Ti, cc-pVTZ),集成显卡Surface达407×,iPhone亦达170×。GPU加速比随基组增大而提升。
• 4.3.2. Molecular Size Scaling(分子尺寸扩展) :6-31G*基组下苯(96)、萘(156)、蒽(216)在Grid 200各平台求值均<66 ms(RTX 5090蒽仅16.6 ms),iPhone蒽49 ms仍在交互预算内。
• 4.3.3. Electron Density Computation(电子密度计算) :按ρ(r)=Σocc ni |ψi (r)|2 逐占据轨道累加(当前实现),Grid 100下五平台GPU密度求值97–422 ms(CPU需13–110 s);研究人员指出改用单粒子密度矩阵Pμν =Σi ni Cμi Cνi 表达ρ(r)=Σμν Pμν χμ (r) χν (r)可独立于占据轨道数,为未来优化方向。密度模式因ρ(r)≥0跳过负瓣Marching Cubes,表面提取成本减半。
四、讨论与结论
讨论指出三点核心发现:第一,WebGPU加速使从智能手机到高端工作站全部五类硬件均可交互式(全管线含网格求值+Marching Cubes+Three.js渲染合计30–100 ms,等效10–30 fps)查看与切换分子轨道并调节等能值;第二,GPU优势随计算复杂度(大基组、高密度网格、电子密度)放大,最高加速比可达三个数量级;第三,CPU回退路径下单轨道Grid 100需0.5–4.7 s尚可接受,但密度求值需十余至百余秒不具交互性,三重缓存机制保证 revisit 瞬时呈现。
数据存储方面,Molden文件存储规模为M×NMO 系数矩阵,Cube全轨道需NMO ×G体素体数据,二者交叉点需M≈G=106 (远超实际可视分子基函数数),即便只视少数前沿轨道交叉也需M≈√G≈103 ,故Molden工作流在实际应用区间始终远小于Cube文件体积。局限包括:当前面向中小分子(大体系千级基函数在浏览器内存及单点计算量受限);角动量最高支持g壳层(Molden格式定义上限),h及以上未实现;WebGPU标准较新各浏览器实现仍在演进,由CPU回退保障可用。
研究结论:MOrbVis将分子轨道可视化从"量子化学程序预计算Cube→桌面软件读Cube"改为"仅输出Molden→浏览器端按需WebGPU实时求值",数据量缩减三个数量级以上(苯6-31G*全轨道由≈1.2 GB降至≈260 KB),WebGPU单轨道求值最高加速1287×且Grid 200下各平台<100 ms,分辨率与等能值变为可交互滑条实时调节;配套出版级渲染(SSAO、Bloom、六款材质)、多格式导出及48内置样例,全部零安装,无WebGPU时自动CPU回退。源码基于BSD-3-Clause托管于
https://github.com/Yasuaki-Ito/morbvis ,线上版访问
https://yasuaki-ito.github.io/morbvis/ 。