DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

bowenphys /

bowenphys/dsh-vasp-periodic-table

Verified

VASP periodic table for DeepSeek Harness: PAW potentials, ZVAL/ENMAX, MAGMOM, POTCAR snippets

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@91335af6

VASP 元素周期表(@dsh-vasp/periodic-table)

面向 VASP 用户的 DeepSeek Harness Web 插件:在左侧栏打开一个独立的元素周期表面板, 把「选哪个 PAW 势、ZVAL/ENMAX 是多少、初始磁矩怎么给、ENCUT 取多少、POTCAR 怎么拼」 这些每天要查的东西放在一页里,并可直接复制 INCAR / POTCAR / POSCAR / MAGMOM 片段。

  • 面板位置:侧栏图标(元素周期表)→ 中央 main 面板,不占用对话窗口。
  • 技术形态:纯客户端 bundle(Host 半为空,不启动 Python、不发起 RPC、不读写计算目录)。
  • 数据:PBE PAW 数据集来自 VASP Wiki Available PAW potentials 表,并逐条与一份 只读的共享 POTCAR 库(真实 POTCAR 头部:ZVAL / ENMAX / POMASS)核对;元素基础数据来自 pymatgen,初始磁矩取 Materials Project MPRelaxSet 惯例。详见 docs/data-elements.md、 docs/data-paw.md。

功能

  1. 周期表:118 元素、18 族 + 镧系/锕系两行;支持符号/中文名/英文名/原子序数搜索。
  2. 五种着色:分类、磁性倾向、ENMAX、价电子数(ZVAL)、电负性(带图例)。
  3. 元素详情:
    • 原子轨道动画(Canvas,点击元素即出现):由 config 电子排布实时推导
      • 「玻尔壳层」:K/L/M… 倾斜轨道 + 发光电子,各壳层速度/方向不同;
      • 核心 = POTCAR 价电子的轨道分布:默认按当前 POTCAR 数据集的价电子构型绘制 「每条被占据子壳层一圈椭圆轨道 + 该子壳层电子数的发光电子点」(带拖尾、深度明暗), 冻结芯电子同时以暗色虚线"鬼环"保留在视野里(可一眼看出「哪些芯态被 POTCAR 收进了价态」), 核区显示 core N 光晕;_pv/_sv/_d 额外收进价态的半芯态用琥珀色虚线亮环区分;
      • 电子分布条:冻结芯(斜纹)vs 各子壳层(按 l 着色)按电子数占比绘制,切换数据集时 宽度动画过渡;POTCAR / 原子 一键切换全部电子视图;
      • POTCAR 切换器:轨道视口标题下方直接列出该元素所有 PBE 数据集(带 ZVAL 角标), 点击即切换并触发射线/轨道形变;右侧 PAW 表点击同样联动;
      • 原子 / POTCAR 分屏对照(「对照」模式):左半屏 = 原子全部电子壳层,右半屏 = POTCAR 价电子 + 冻结芯鬼环,中间光点由左向右流动提示「芯态被收进价态」, 两边标注 Z / ZVAL / core / valence,直接对比不同 POTCAR 的电子分布;
      • 清晰伪 2D 玻尔轨道(默认模式):同心正圆轨道,每条被占据子壳层一圈; 电子画成固定大小的发光圆点(晕 + 实心点 + 高光),等间距排在轨道上、极慢绕行 (约 60 秒一圈),数量与占据数一致,一眼可以数清;半芯态琥珀虚线、冻结芯暗色虚线 (不画电子);右侧独立标签列显示 3d⁶ ↑5↓1 等占据与自旋数;选中某个子壳层 chip 时 该轨道环加粗发光、其余变淡;
      • 自旋向上/向下(MAGMOM 语义):按 Hund 高自旋规则占据(3d⁶ = 5↑1↓、未成对 4), 轨道上的电子按 ↑ 青 / ↓ 玫红着色(Canvas 左下角有图例);每个子壳层 chip 标 ↑n↓m, HUD 显示总 ↑/↓、未成对电子数与元素 MAGMOM(MP 惯例起始猜测,非收敛磁矩);
      • 导出带标注高清 PNG:Canvas HUD 的 ⤓(或全屏舞台「导出 PNG」)用离屏 1680×1050 重绘深色底 + 当前视图 + 元素/构型/来源数据集/ZVAL/芯-价电子/半芯/未成对自旋/ MAGMOM/ENCUT 信息栏 + 自旋图例 + 来源页脚,文件名含元素与数据集;
      • 背景:纯深色渐变 + 静态 HUD 网格/描边(无星点/粒子/扫描线等动态粒子特效);
      • 布局:轨道视口固定显示在周期表下方(深空底、全宽 Canvas),右侧详情栏只放文字信息; 窄窗口选中元素后自动把轨道视口滚进视野;
      • 全屏轨道舞台(轨道视口标题栏「⛶ 全屏轨道」、Canvas 右上角 ⛶,或双击周期表元素直接进入): 覆盖面板的巨型轨道 + 深色底 + 巨型元素符号水印 + 打开/切元素时的 18 点爆裂; 右侧档案栏(壳层电子数条形图、PAW 数据集/ZVAL/ENMAX/ENCUT/MAGMOM、相位图例); 顶部「‹ ›」逐个元素步进(切换时轨道交叉淡化 + 冲击波 + 46 颗火花)、「⤓ 导出 PNG」、 Esc 关闭;
      • 元素切换形变:叉淡化冻结帧 + 双冲击波 + 火花爆裂(内嵌与舞台都生效);
      • 绘制细节:原子核质子/中子小球 + 脉冲辉光、旋转 HUD 刻度环、中心径向暗化(保证浅色主题 下电子对比度)、右侧独立标签列;
      • 底部子壳层 chip(1s² 2s² 2p⁶ 3s² 3p⁶ 3d⁶ 4s²):点击任意子壳层即高亮该子壳层的轨道圆;
      • HUD 行显示壳层电子数、价层子壳层、价电子数,并与当前 PAW 势的 ZVAL 对照;
      • 30 fps 上限、IntersectionObserver 滚出视口暂停、页面隐藏暂停、 prefers-reduced-motion 只画静态帧;
    • 基本信息(原子量、周期/族/区、电子排布、电负性、原子半径、氧化态、熔点、密度);
    • PAW 势表:该元素全部 PBE 数据集,含 ZVAL、ENMAX、Wiki 默认 与 推荐 标记, 点击切换当前数据集;
    • 建议 ENCUT:max(500 eV, ⌈1.3 × ENMAX⌉) 向上取整到 10 eV(500 eV 为默认下限);
    • 初始 MAGMOM:Materials Project 惯例值 + 按氧化态的备选值,并明确标注"起始猜测, 不是收敛磁矩";
    • SOC 提示:重元素给出"建议评估"而不是"必须开启";
    • 一键复制 POSCAR 元素行 / POTCAR 拼接命令 / INCAR 片段。
  4. 体系构建:Shift+点击(或详情页「加入体系」)选多个元素并填原子数,自动生成
    • POSCAR 第 6/7 行(元素顺序 + 原子数),
    • POTCAR 拼接命令(按顺序,默认用推荐数据集),
    • MAGMOM(n*μB 计数写法)、ENCUT、ISPIN 的 INCAR 片段。
  5. HUD 科幻皮肤(轻量版,优先流畅度):静态星空/网格/辉光背景、元素格错峰入场、 悬停光晕、光标跟随的 HUD 信息卡(实时显示 PBE 数据集/ZVAL/ENMAX/ENCUT/MAGMOM)、 选中单元格脉冲光环与发光元素符号;切换着色模式时表格扫光;渐变标题、发光卡片、 状态条滚动读数(数据规模/项目经验推荐/ENCUT 规则);ENCUT 详情带能量条(500 eV 项目经验下限刻度)。 性能约束:不使用大范围位置动画/扫描线/backdrop-filter/入场模糊;悬停与指针跟随用 requestAnimationFrame 合帧、网格子树 useMemo(hover 不重建 118 个格子)、 Canvas 30 fps 上限且滚出视口/切后台暂停。 文本颜色只用宿主主题 token(明暗两套可读),装饰性辉光属于 artwork; prefers-reduced-motion 下关闭全部动画;顶栏还提供「动效:开 / 省电」一键切换 (省电模式关闭星空、入场、脉冲与读数轮播,保留原子轨道 Canvas 与全部功能)。 中英文案注册到 Client locale 服务;记住上次的着色模式/选中元素/体系/动效档(localStorage)。

安装 / 更新

这是一个 DeepSeek Harness bundle,仓库里已经包含构建好的 lib/client.js,安装时不需要先构建。

方式一:DSH 插件管理器

在 DSH 桌面端插件管理器里选择从本地目录安装,目录指向本仓库根目录(包含 package.json、index.js、cordis.patch.yml)。

方式二:命令行

git clone https://github.com/bowenphys/dsh-vasp-periodic-table.git
dsh plugin --profile <profile> add file:/绝对路径/dsh-vasp-periodic-table

激活后,左侧栏会出现「元素周期表」图标;打开即进入独立面板。

修改源码后

node scripts/check-elements.mjs
node scripts/build-client.mjs
node scripts/smoke-client.mjs

lib/client.js 是生成产物,更新后需要重启 DSH 宿主以加载新的模块代际。

DSH 插件发现

DSH 官方约定:插件仓库添加 GitHub topic:

dsh-plugin

这是 DSH 官方 README 指定的插件发现标签;本仓库同时使用 dsh、vasp、periodic-table 作为辅助 topic。

独立插件

本仓库是独立的纯客户端插件:

  • 不依赖 @dsh-vasp/plugin、VASP 计算核心或服务器;
  • 不发起 RPC,不读写计算目录;
  • 可以单独安装、单独删除;
  • PAW 数据口径与项目经验 <POTCAR_ROOT> 一致,但运行时没有耦合。

许可与数据来源

代码以 MIT License 发布。元素基础数据来自 pymatgen;PAW 数据集来自 VASP Wiki Available PAW potentials 并与真实 POTCAR 头部核对;初始磁矩参考 Materials Project MPRelaxSet 惯例。详细来源与口径见 docs/data-elements.md、docs/data-paw.md。

目录

路径 说明
src/data/elements.js 118 元素数据(物理量 + 中文名 + MP 初始磁矩)
src/data/paw.js PBE PAW 数据集注册表(343 条;ls 条目 346 含 3 个非数据集文件)+ 推荐
src/ui/i18n.js 中英文案(zh/en key 必须一致)
src/ui/theme.js 主题 token / 分类色相 / 数值色阶
src/ui/helpers.js 纯函数:布局、数据集选择、ENCUT/MAGMOM 派生、片段生成
src/ui/components.js 周期表、详情、PAW 表、片段块、体系构建等组件
src/ui/app.js 根组件:状态、持久化、宽窄布局、语言订阅
src/plugin.js main + sidebar.panellist 注册、locale 注册、__internals
scripts/build-client.mjs 把纯脚本片段拼装成 lib/client.js(唯一构建步骤,无依赖)
scripts/smoke-client.mjs 假 React / 假 slot 上下文的渲染冒烟测试
docs/data-elements.md 元素数据来源与口径
docs/data-paw.md PAW 数据版本判定、核对结果、推荐推导

数据再生成

  • python3 scripts/extract-elements.py(本机 pymatgen)重新导出元素基础数据;
  • python3 scripts/fetch-paw.py 重新抓取 VASP Wiki 表并通过只读 SSH 核对 共享 POTCAR 库, 产出新的 src/data/paw.js。脚本不写服务器,也不包含任何密钥。

验证与边界

  • node scripts/smoke-client.mjs(45 项):验证 bundle 格式、locale 字典一致性、slot 注册 (main key vasp-periodic、sidebar.panellist id 与之一致)、完整渲染 118 元素格、 每格 grid 坐标唯一且正确、5 种着色 × 2 语言 × Fe/Bk 渲染矩阵(含 Canvas 与子壳层 chip 在场)、全屏舞台组件渲染(canvas/子壳层/档案行/关闭按钮)、 118 个电子排布解析且壳层电子数之和 = Z、342 个 POTCAR 构型电子数 = 各自 ZVAL(Ag/Au_sv_GW 的 wiki 笔误已按真实 POTCAR 修正)、Fe_pv/Fe_sv 的 3p/3s 半芯、Hund 自旋占据(3d⁶=5↑1↓ 等)、伪 2D 轨道与分屏绘制、无 DOM 时导出优雅返回、轨道模式 tab 数 = 2, mock canvas 的伪 2D 轨道/分屏绘制、ENCUT/搜索/片段派生逻辑。 它不能代替浏览器视觉验收(Canvas 动画的实际观感只能肉眼确认)。
  • 数据核对:docs/data-paw.md 记录逐条核对与 mismatch;docs/data-elements.md 记录自检输出。
  • 周期表使用显式 18 列 grid 坐标(PT_GRID_CELLS),smoke 会断言 118 个元素格坐标唯一且 与周期表位置一致(H→(1,2)、Fe→(8,5)、La→(3,10)、Og→(18,8)),防止布局回归。
  • 本插件是选势与参数参考,不替代收敛测试;ENCUT 公式是项目经验惯例,初始磁矩是起始猜测。
—/ 5

No ratings yet

Verified DSH bundle

Commit 91335af6012c

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout