jairam25/Petrostream

GitHub: jairam25/Petrostream

PetroStream 是一个浏览器端的石油工程模拟套件,旨在提供从勘探到零售的全生命周期高保真仿真,解决传统模拟软件部署复杂的问题。

Stars: 0 | Forks: 0

# 🛢️ PetroStream 模拟套件 **一个高保真、基于浏览器的石油工程模拟平台,涵盖从地震勘探到零售分销的完整油气生命周期。** [![在线演示](https://img.shields.io/badge/Live_Demo-GitHub_Pages-blue?style=for-the-badge&logo=github)](https://jairam25.github.io/Petrostream/) [![许可证](https://img.shields.io/badge/License-Apache_2.0-green?style=for-the-badge)](https://github.com/jairam25/Petrostream/blob/main/LICENSE) [![TypeScript](https://img.shields.io/badge/TypeScript-99.9%25-3178C6?style=for-the-badge&logo=typescript&logoColor=white)](https://github.com/jairam25/Petrostream) [![React](https://img.shields.io/badge/React_19-61DAFB?style=for-the-badge&logo=react&logoColor=black)](https://github.com/jairam25/Petrostream) **138,000+ 行代码 · 30+ 个模拟模块 · 12 个互连数据层 · 100% 客户端运行** [在线演示](https://jairam25.github.io/Petrostream/) · [报告 Bug](https://github.com/jairam25/Petrostream/issues) · [请求新功能](https://github.com/jairam25/Petrostream/issues)
## 什么是 PetroStream? PetroStream 是一个与行业标准对齐的工程模拟平台,完全在浏览器中运行。它提供交互式、基于计算的模块,覆盖石油生命周期的每个阶段——从地下勘探到炼油和零售。每个模块都包含真实的工程方程、交互式参数扫描和可导出的结果(PDF、Excel、LAS)。 无需后端、无需 API 密钥、无安装阻力。克隆并运行即可。 ## 生命周期模块 ### 上游 | 模块 | 核心能力 | |---|---| | **勘探与地球物理** | 盆地分析、地震处理(NMO、Dix 速度、菲涅尔带)、远景风险评估(蒙特卡洛)、地球化学、源岩成熟窗口 | | **岩石物理学** | 测井解释(GR、SP、电阻率、中子-密度)、Vshale 计算、Archie/双水饱和度、有效厚度下限、岩心-测井标定、LAS 导入/导出 | | **钻井工程** | 钻机选择、BHA 设计、钻头选择(IADC)、定向钻井(最小曲率、扭矩与阻力)、泥浆工程(流变模型)、水力学优化、井控(压井单)、套管设计、固井、完井、增产(酸化/压裂) | | **油藏工程** | PVT 分析(Peng-Robinson EOS)、岩石物性(孔隙度-渗透率相关性)、试井(压降、压力恢复、Horner)、物质平衡(Havlena-Odeh)、递减曲线分析(Arps)、驱动机制、Buckley-Leverett 驱替、水层建模(Fetkovich、Carter-Tracy) | | **储量与经济学** | 体积估算(OOIP/GIIP)、储量分类(SPE-PRMS)、产量预测、NPV/IRR 经济分析、财税制度建模、风险分析(龙卷风图/蛛网图)、储量报告 | | **油田开发规划** | 开发策略、井距优化、钻井计划、人工举升选择、地面设施设计、流动保障(水合物、蜡、垢)、注水设计 | | **生产作业** | 节点分析(IPR/VLP)、人工举升(ESP、有杆泵、气举、射流泵)、油井完整性、油井增产、流动性能 | | **EOR/IOR** | 筛选标准、注水、化学驱(聚合物、表面活性剂、ASP)、气驱(WAG、混相/非混相)、热力驱(SAGD、CSS、蒸汽驱)、微生物驱、纳米流体、低盐水、混合驱、监测与监督 | ### 中游与下游 | 模块 | 核心能力 | |---|---| | **中游处理** | 天然气处理、NGL 分馏、压缩、管道水力学、脱水 | | **分销与物流** | 管网设计、储油终端、运输调度、交接计量 | | **炼油** | 原油评价表征、脱盐、常减压蒸馏、转化装置(FCC、加氢裂化、焦化)、石脑油/汽油加工、中间馏分油处理、润滑油与特种产品、氢气/硫磺/环保、汽油调合优化 | | **零售与营销** | 加油站经济、定价策略、库存管理、忠诚度计划、竞争分析 | ### 横向 | 模块 | 核心能力 | |---|---| | **生产分析与数字化** | 数据清理/QC、统计分析、典型曲线、自动 DCA、预测模型、实时监控、油藏分析、数字孪生概念 | | **非常规资源** | 页岩储层表征、水力压裂设计、微震解释、EUR 估算、平台开发 | | **CCUS** | 碳捕获、利用与封存模拟 | | **测量与土地** | 租约管理、土地测量、矿权 | | **腐蚀与材料** | 腐蚀机理(点蚀、微生物腐蚀、应力腐蚀)、CO₂/H₂S 建模、CRA 材料选择、资产完整性(RBI/FFS) | | **海洋工程** | 固定/浮式结构、水下生产、极地作业、安全系统(ESD、消防与气体)、退役 | | **HSE 与项目管理** | 安全案例、SIMOPS、环境合规、项目计划与风险 | ## 架构 ``` src/ ├── App.tsx # Main app shell & lifecycle navigation ├── components/ │ ├── drilling/ # 20+ drilling sub-modules │ ├── exploration/ # Geophysics, geochemistry, survey design │ ├── reservoir/ # PVT, material balance, EOR, geomodeling │ ├── refining/ # 10 refinery unit operation modules │ ├── production/ # Nodal analysis, artificial lift, well testing │ ├── economics/ # Reserves, NPV/IRR, fiscal regimes │ ├── analytics/ # Digital twin, predictive models, DCA │ ├── reports/ # Auto-generated PDF/Excel reports │ ├── shared/ # Reusable UI components, unit system │ └── ... # 15+ additional module directories ├── lib/ # Engineering calculation engines │ ├── pvt.ts / pvt_engine.ts │ ├── drilling.ts # Torque & drag, hydraulics │ ├── geophysics.ts # Seismic processing algorithms │ ├── reservoir.ts # Flow equations, material balance │ ├── refining.ts # Process simulation correlations │ ├── petrophysics.ts # Log analysis equations │ └── ... # 40+ library modules └── store/ # Zustand state management ├── simulationStore.ts # 12-layer persistent store ├── types.ts # Full type definitions └── hooks.ts # Typed selector hooks ``` **关键设计决策:** - **12 个互连数据层**通过 Zustand 和 localStorage 持久化管理——数据流从勘探 → 评价 → 油藏 → 开发 → 生产并延伸至下游 - **真实的工程数学**——Peng-Robinson EOS、Archie 方程、Arps 递减模型、Buckley-Leverett、扭矩与阻力等数十个模型,全部在客户端实现 - **随处导出**——PDF 报告(jsPDF)、Excel 电子表格(SheetJS)、LAS 测井文件、图表图片捕获 - **单位系统切换**——全场(油田)↔ SI 单位,贯穿整个应用 - **玻璃拟态 UI**——深色主题界面,配有半透明面板、流畅动画(Framer Motion)和响应式布局 ## 技术栈 | 层级 | 技术 | |---|---| | 框架 | React 19, TypeScript 5.8 | | 构建 | Vite 6 | | 样式 | Tailwind CSS 4 | | 状态 | Zustand 5(持久化) | | 图表 | Recharts 3 | | 动画 | Framer Motion | | 图标 | Lucide React | | 导出 | jsPDF, SheetJS (xlsx) | | Markdown | react-markdown | | 部署 | GitHub Pages (CI/CD) | ## 入门指南 ``` # 克隆 git clone https://github.com/jairam25/Petrostream.git cd Petrostream # 安装 npm install # 在本地运行 npm run dev # → http://localhost:3000 # 生产环境构建 npm run build # 类型检查 npm run lint ``` ## 在线演示 👉 **[jairam25.github.io/petrostream](https://jairam25.github.io/Petrostream/)** ## 许可证 根据 Apache 2.0 许可证分发。详情请参阅 `LICENSE`。
**由石油工程师为石油工程师而构建。**
标签:DFIR, React, Syscalls, TypeScript, 交互式模块, 代码示例, 单页应用, 参数优化, 参数扫描, 安全插件, 实时计算, 客户端计算, 工程计算, 技术模拟, 报告导出, 数字孪生, 数据分析, 数据管道, 模拟平台, 油气勘探, 油气生命周期, 油藏分析, 浏览器应用, 炼油模拟, 玻璃态UI, 生产分析, 石油工程, 石油行业, 能源行业, 自动化攻击, 计算流体力学, 软件工程, 钻井模拟