浏览器端的可压缩流 / 气动常用公式计算器。纯前端实现,计算全在浏览器完成,可离线使用、静态部署、零后端运维。每个模块都给出数值结果与图表可视化,兼顾教学直观性与工程参考。
| 模块 | 说明 |
|---|---|
| 标准大气 | US Standard Atmosphere 1976(0–86 km,7 个分层),输出 T/p/ρ/a 及联动的 Sutherland 粘度,含无量纲廓线图 |
| 动力粘度 | Sutherland 公式 μ(T) 与运动粘度 ν,含 μ–T 曲线 |
| 等熵流 | 等熵关系(T₀/T、p₀/p、ρ₀/ρ、A/A*)+ Prandtl-Meyer 角、Mach 角,支持由 p₀/p、T₀/T、A/A* 反算 M(A/A* 含亚/超声速双解) |
| 正激波 | M₂、p₂/p₁、ρ₂/ρ₁、T₂/T₁、总压比 p₀₂/p₀₁、皮托比,含比值-马赫数曲线 |
| 斜激波 | θ-β-M 关系,弱解/强解、最大偏转角 θ_max 与脱体判别,含 θ-β 极线图 |
| 一维黎曼 | Euler 方程黎曼问题精确解(Toro 算法),star 区 / 波型 / 真空判别,Sod 等预设,ρ/u/p 分布图与 x-t 波系图 |
| 喷管工况 | 收缩-扩张喷管按面积比 Ae/A* 与背压比 pb/p0 判别工况(文丘里 / 管内激波 / 过膨胀 / 设计 / 欠膨胀),定位管内正激波,含示意沿程压力分布图 |
| 边界层 | 平板边界层:层流 Blasius 与湍流 1/7 幂律,输出 δ/δ*/θ、cf/C_F、τ_w、形状因子 H,可由标准大气高度填充 ρ/T,含厚度增长图 |
| 无量纲数/空速 | 马赫数、动压 q、雷诺数 Re、总温/总压、TAS/EAS/CAS 空速换算,可由标准大气高度填充,含 M、Re 随高度变化图 |
- React + TypeScript + Vite:纯前端 SPA。
- Zustand:全局气体配置(γ、R),持久化到 localStorage。
- Plotly.js(懒加载为独立异步 chunk,首屏不阻塞):科学图表。
- react-router-dom(HashRouter):模块路由,静态托管友好。
- Vitest:计算核心单测。
- Tailwind CSS:样式。
计算核心位于 src/lib/*,是不依赖 UI 的纯函数,便于单测与复用;UI 仅负责取值、调用与渲染。
顶栏可配置比热比 γ 与气体常数 R(默认空气 γ=1.4、R=287.053 J/(kg·K))。等熵流、正/斜激波、一维黎曼、喷管工况、无量纲数/空速模块即时联动重算。标准大气按其标准定义计算 T/p/ρ,不受全局 γ/R 影响;边界层为不可压缩,仅用 ρ、μ。
npm install
npm run dev # 开发服务器(默认 http://localhost:5173)
npm run test # 运行单测
npm run typecheck # 仅类型检查
npm run build # 生产构建(多文件,首屏小),输出 dist/
npm run build:single # 单文件构建:内联为单个 dist/index.html,可双击打开
npm run preview # 预览构建产物vite.config.ts 中 base: './' 配合 HashRouter,可将 npm run build 产出的 dist/ 直接部署到 GitHub Pages 或任意静态主机的子路径,无需服务端改写规则(HashRouter 走 # 路由,无需 SPA 的 404.html 重定向)。
GitHub Pages 自动部署:仓库已含 .github/workflows/deploy.yml,推送到 main 即自动 npm run build 并部署。首次使用需在仓库 Settings → Pages → Source 选择 GitHub Actions。注意用于在线部署的是多文件版(npm run build,首屏小),而非单文件版。
离线单文件:npm run build:single 把全部 JS/CSS 内联进单个 dist/index.html,可直接以 file:// 双击打开、发送或离线分享,无需任何服务器(路由用 HashRouter,故 file:// 下正常)。
- US Standard Atmosphere 1976(NOAA/NASA/USAF)。
- NACA Report 1135《Equations, Tables, and Charts for Compressible Flow》(等熵流、正/斜激波)。
- E. F. Toro,《Riemann Solvers and Numerical Methods for Fluid Dynamics》, Springer(一维黎曼精确解)。
- Sutherland, W. (1893). The viscosity of gases and molecular force.
- J. D. Anderson,《Modern Compressible Flow》(CD 喷管工况);《Fundamentals of Aerodynamics》(空速定义)。
- F. M. White,《Viscous Fluid Flow》;H. Schlichting,《Boundary-Layer Theory》(平板边界层)。
单测以教科书标准值校验(src/lib/*.test.ts):
- 等熵流 M=2, γ=1.4:T₀/T=1.8、p₀/p≈7.824、A/A*=1.6875。
- 正激波 M₁=2, γ=1.4:p₂/p₁=4.5、ρ₂/ρ₁≈2.667、p₀₂/p₀₁≈0.721。
- 斜激波 M₁=2, θ=20°:β_weak≈53.4°、θ_max≈22.97°。
- 黎曼 Sod 问题 (1,0,1)/(0.125,0,0.1):p≈0.30313、u≈0.92745。
- 标准大气位势高度 11 km:T=216.65 K、p≈22632 Pa。
- 喷管 Ae/A*=1.6875, γ=1.4:设计 Me=2、rDesign≈0.128、激波出口背压比≈0.575,背压跨临界值时工况切换正确。
- 边界层 Re_x=1e5:层流 cf≈2.10e-3、H≈2.59;湍流 cf=5.92e-3、H≈1.29。
- 流动条件海平面 V=a:M≈1、a≈340.29;V=100 时 q=6125 Pa;海平面 EAS=CAS=TAS。
MIT