构建交互式风力涡轮计算器
Source: Dev.to
为什么要构建风力涡轮机计算器?
小型风能是一个细分但正在增长的领域,对农村电气化、离网小屋、微电网以及太阳能‑风能混合系统至关重要。风资源因地点而异,可靠的产能估算至关重要。该计算器利用 NASA POWER 的全球风速和风向数据,应用先进的工程模型来估算:
- 年发电量
- 月度和季节性变化
- 满足能源目标所需的涡轮机数量
- 土地面积和涡轮机间距要求
- 包括尾流效应、电气效率下降、结冰和老化在内的损失
所有计算均在浏览器中实时完成,提供即时反馈。
计算器工作原理
获取 NASA POWER 风气候数据
- 多年平均
- 10 m 高度的风速
- 风向分布
应用风工程模型
- Weibull 分布用于风概率
- 幂律用于将风速调整到机舱高度
- 基于海拔的空气密度校正
- IEC‑61400 与 IEA 损失模型
模拟真实风机行为
包括 1 kW、3 kW、5 kW 和 10 kW 风机模型,详细列出转子直径、切入风速、额定风速、切出风速以及完整功率曲线。
计算年发电量 (AEP)
将风机功率曲线与 Weibull 分布积分,以获得更真实的输出估算。
可视化风玫瑰图
使用 von Mises 分布生成动画方向风玫瑰图,渲染为 SVG/Canvas。
计算间距和土地需求
依据行业规范:
- 顺风方向 5–9 × 转子直径
- 横风方向 3–5 × 转子直径
用户界面
The calculator features a modern SaaS‑style two‑panel layout:
- 左侧面板: Sticky sidebar with input controls
- 右侧面板: Live‑updating results
Built with TypeScript, React + Vite, TailwindCSS, and Radix UI, it offers a fast, clean, and responsive experience.
项目结构
client/ # React 应用、UI 和风力计算引擎
server/ # 用于生产构建的 Express 服务器
shared/ # 共享常量和逻辑
关键文件包括 windCalculations.ts(AEP、损失、Weibull、间距)和 turbineModels.ts(功率曲线和涡轮规格)。
示例:在伦敦估算风能输出
| 字段 | 数值 |
|---|---|
| 纬度 | 51.5074 |
| 经度 | -0.1278 |
| 目标能量 | 100,000 kWh |
| 涡轮机容量 | 10 kW |
| 地形 | Suburban |
该计算器获取 NASA 风数据,估算轮毂高度风速,应用损耗,模拟涡轮机,并实时输出所需涡轮机数量、风玫瑰可视化以及土地面积估算。
定制化和可扩展性
项目是开放且可 hack 的:
- 通过编辑
turbineModels.ts添加新风机 - 在
windCalculations.ts中调整损失假设 - 通过 Tailwind 和 CSS 变量修改 UI 主题
- 如有需要,可替换不同的风数据集
非常适合离网系统设计师、可再生能源学生、微电网规划师以及 DIY 风能爱好者。
贡献
欢迎贡献,尤其是以下方面:
- 新的涡轮机模型
- 改进的损耗建模
- UI/UX 改进
- 其他可视化
仓库使用简单的分支模型:
main:稳定feature/*:积极开发
参考文献与致谢
- NASA POWER 项目
- IEC 61400‑2 小型风能标准
- IEA 风能任务 11
- 开源风能建模研究
最后思考
小型风能常常被误解,但在使用准确的数据和模型进行分析时,具有巨大的潜力。此计算器旨在使风能分析变得易于获取、透明且有趣。探索开源代码,贡献力量,或亲自尝试该工具,看看风能如何为您服务。