遇见数据集

EXL50U V58.6 PTEFIT仿真数据集

收藏
魔搭社区2026-09-04 更新2026-09-06 收录
官方服务:

资源简介:

# PTEFIT 训练用 HDF5 说明(EXL-50U V58.6) ## 结构概览 ```text / ├── shot () int32 炮号 ├── time (T,) int32 时间,ms ├── R (129,) float32 psi 径向网格,m ├── Z (129,) float32 psi 轴向网格,m ├── chns/ 该时刻送入 EqInv.invert() 的测量 │ ├── flux (T, 47) Wb/rad │ ├── mpt (T, 84) T │ ├── mpn (T, 80) T │ ├── IP (T,) A 测量等离子体电流 │ ├── eddy_current (T,) A │ ├── vloops (T, 47) V │ ├── CS (T,) A │ ├── PF (T, 14) A PF1–12 + PF13/14 │ └── TF (T,) A ├── weights/ 与 chns 列对齐,无时间维 │ ├── flux (47,) │ ├── mpt (84,) │ ├── mpn (80,) │ ├── IP () │ ├── eddy_current () │ ├── vloops (47,) │ ├── CS () │ ├── PF (14,) │ └── TF () └── inv_result/ 反演结果 ├── psi (T, 129, 129) Wb/rad 极向磁通分布 ├── jphi (T, 129, 128) A/m² 电流密度分布 ├── surfs (T, 2, 90) m 等离子体最外闭合磁面(LCFS)90个点RZ坐标 ├── isoflux (T, 9) 九个指定点的磁通值 ├── rmin, rmax, zmin, zmax (T,) m LCFS 几何信息 ├── rc, zc, a (T,) m LCFS 几何信息 ├── kappa, deltal, deltau (T,) 拉长比、上下三角形边 ├── psi_a, psi_b (T,) Wb/rad 磁轴磁通、边界磁通 ├── ra, za (T,) m 磁轴中心RZ坐标 ├── rx, zx (T, 4) m 四个X点RZ坐标,上下各两个 ├── li, betap, betat (T,) ``` `chns/` 与 `inv_result/` 下各数据通道带属性 `units`。读取方式: ```python import h5py with h5py.File("scripts/results/1.h5", "r") as f: flux_unit = f["chns/flux"].attrs["units"] # "Wb/rad" psi_unit = f["inv_result/psi"].attrs["units"] # "Wb/rad" chns_units = {name: f["chns"][name].attrs["units"] for name in f["chns"]} inv_units = {name: f["inv_result"][name].attrs["units"] for name in f["inv_result"]} ``` 无量纲量(`kappa`、`deltal`、`deltau`、`li`、`betap`、`betat`)的 `units` 为 `"none"`。 ## 顶层 | 数据集 | 形状 | 含义 | | -------- | ---------- | ------------------------------- | | `shot` | `()` | 炮号。读取:`f["shot"][()]`。 | | `time` | `(T,)` | 成功反演的时间,单位 ms。 | | `R` | `(129,)` | Green 表径向网格,m。 | | `Z` | `(129,)` | Green 表轴向网格,m。 | ## `chns/` 诊断输入 均为该时刻实际传入 `EqInv.invert()` 的物理量(磁通已换成 Wb/rad;IP 为 A)。 | 数据集 | 形状 | 单位 | 含义 | | ---------------- | ----------- | ------ | ----------------------------------------- | | `flux` | `(T, 47)` | Wb/rad | 磁通环。 | | `mpt` | `(T, 84)` | T | 切向磁探针。 | | `mpn` | `(T, 80)` | T | 法向磁探针。 | | `IP` | `(T,)` | A | **测量**等离子体电流,不是反演 IP。 | | `eddy_current` | `(T,)` | A | 总涡流;当前无数据,用0填充。 | | `vloops` | `(T, 47)` | V | 环电压。当前无数据,用0填充。 | | `CS` | `(T,)` | A | 中心螺线管电流。 | | `PF` | `(T, 14)` | A | 极向场线圈电流PF1–PF14。 | | `TF` | `(T,)` | A | 环向场线圈电流。 | ## `weights/` 通道权重 与 `chns/` 同名、无时间维。仅记录该炮反演时各个通道的权重,表示是否参与反演。 | 数据集 | 形状 | | ---------------------------- | --------------------------------- | | `flux` / `mpt` / `mpn` | `(47,)` / `(84,)` / `(80,)` | | `IP` | `()` | | `eddy_current` | `()` | | `vloops` | `(47,)` | | `CS` / `TF` | `()` | | `PF` | `(14,)` | ## `inv_result/` 反演输出 核心为二维极向磁通分布 psi 与 电流密度 jphi,其他为根据最外闭合磁面信息引申得到的几何信息,可作为评估指标判断位形差异。 | 数据集 | 形状 | 单位 | 含义 | | ----------------------- | ----------------- | ------ | --------------------------------------------------------- | | `psi` | `(T, 129, 129)` | Wb/rad | 极向磁通\(\Psi(R,Z)\)。 | | `jphi` | `(T, 129, 128)` | A/m² | 环向电流密度;Z 方向比`psi` 少一格,不可当成 129×129。 | | `surfs` | `(T, 2, 90)` | m | LCFS 多边形顶点;`[0]` 为 R,`[1]` 为 Z。 | | `isoflux` | `(T, 9)` | Wb/rad | 配置中 9 个等磁通约束点上的\(\Psi\)。 | | `rmin` / `rmax` | `(T,)` | m | LCFS 最小 / 最大 R。 | | `zmin` / `zmax` | `(T,)` | m | LCFS 最小 / 最大 Z。 | | `rc` / `zc` | `(T,)` | m | LCFS 几何中心。 | | `a` | `(T,)` | m | LCFS 小半径。 | | `kappa` | `(T,)` | — | LCFS 拉长比。 | | `deltal` / `deltau` | `(T,)` | — | LCFS 下 / 上三角。 | | `psi_a` / `psi_b` | `(T,)` | Wb/rad | 磁轴 / 边界磁通。 | | `ra` / `za` | `(T,)` | m | 磁轴坐标。 | | `rx` / `zx` | `(T, 4)` | m | X 点候选;无效为 0。 | | `li` | `(T,)` | — | 归一化内感。 | | `betap` / `betat` | `(T,)` | — | 极向 / 环向\(\beta\)。 | ## 读取示例 ```python import h5py import numpy as np path = "scripts/results/1.h5" with h5py.File(path, "r") as f: shot = int(f["shot"][()]) time = f["time"][:] flux = f["chns/flux"][:] ip_meas = f["chns/IP"][:] w_flux = f["weights/flux"][:] psi = f["inv_result/psi"][:] surfs = f["inv_result/surfs"][:] # (T, 2, 90) kappa = f["inv_result/kappa"][:] print(shot, time.shape, psi.shape, surfs.shape) ``` 只取某一个时刻: ```python import h5py import numpy as np target_t = 0 # 仿真炮常为 0 ms;实验炮例如 500 with h5py.File("scripts/results/1.h5", "r") as f: times = f["time"][:] idx = int(np.where(times == target_t)[0][0]) psi_t = f["inv_result/psi"][idx] r_lcfs, z_lcfs = f["inv_result/surfs"][idx] ip_t = f["chns/IP"][idx] ``` ## 注意事项 - `time` 只含反演成功的片;`inv_result/` 与 `chns/` 的第 0 维都与之对齐。 - `jphi` 网格与 `psi` 不同,不要按 129×129 reshape。 - `weights/CS`、`weights/PF`、`weights/TF` 的 `1` 不是最小二乘约束权重。

提供机构:
maas
创建时间:
2026-09-03
二维码
社区交流群
二维码
科研交流群
商业服务