LibRAS 循环水养殖系统仿真项目

项目背景

循环水养殖系统由养殖池、生物滤池、增氧设备、循环泵、固液分离装置等多个单元组成,各模块之间存在复杂的水量、水质和生物反应耦合关系。直接开展长期实物实验通常存在成本高、周期长、运行条件难以重复等问题。

本项目基于 Chalmers University of Technology 开发的 LibRAS 模型库,在 OpenModelica 环境中复现和改造循环水养殖系统模型,对系统中的水质变化、鱼类生长、硝化微生物变化及设备运行过程进行动态仿真,为后续算法研究和运行策略优化提供可重复的数据环境。

我的职责

  • 负责 LibRAS 模型库的安装、配置、运行与兼容性测试
  • 阅读并分析 LibRAS 相关论文、模型结构和 Modelica 源代码
  • 负责循环水养殖系统模型的复现、调试与参数配置
  • 修复模型在不同 OpenModelica 版本下的变量、端口和数组维度问题
  • 对 FishTank、Biofilter、Oxygenation、Pump 和 Settler 等模块进行结构分析
  • 负责 TinyRAS、Recycle 和 Bypass 等系统拓扑模型的运行测试
  • 编写仿真结果变量提取与数据导出流程
  • 使用 Python、MATLAB 等工具对仿真结果进行分析与可视化
  • 整理模型变量含义、单位及水质指标映射关系

核心功能

  • 模拟循环水养殖系统中水体的循环与处理过程
  • 模拟鱼池、生物滤池、增氧设备和循环泵之间的动态耦合
  • 输出总氨氮、亚硝酸盐、硝酸盐和溶解氧等水质变量
  • 输出 AOB、NOB 等硝化微生物状态变量
  • 模拟不同循环流量、换水比例和系统结构下的运行效果
  • 支持 Recycle、Bypass 和 TinyRAS 等不同系统拓扑
  • 将 OpenModelica 仿真结果导出为 MAT 或 CSV 文件
  • 对长期仿真结果进行曲线绘制、数值检查和数据集构建

技术方案

项目以 LibRAS 模型库为基础,使用 Modelica 语言描述循环水养殖系统中的物理过程、生物过程和设备运行过程,并通过 OpenModelica 完成模型编译与动态仿真。

系统按照模块化方式构建,主要包括 FishTank、Biofilter、Oxygenation、Pump、Settler 等组件。各模块通过流体端口进行连接,实现水流、溶解性物质和颗粒性物质在系统中的传递。通过调整水力停留时间、系统换水比例、环境温度、设备流量和养殖负荷等参数,可以模拟不同运行条件下的系统响应。

针对模型兼容性问题,对 PartialTank、PartialCST、PartialLumpedVessel 等基础类以及部分端口和介质变量进行了检查与调整,解决参数覆盖、数组维度、介质组分和端口连接等问题。

仿真完成后,通过 OpenModelica 的结果读取接口提取关键变量,并转换为 CSV 等通用数据格式。随后使用 Python、MATLAB 和 Matplotlib 对数据进行清洗、绘图与分析,为水质预测和生物滤池硝化功能研究提供基础数据。

项目成果

  • 完成 LibRAS 模型库及相关研究资料的系统梳理
  • 成功运行 TinyRAS、Recycle 等循环水养殖系统示例模型
  • 完成部分模型组件在 OpenModelica 环境下的兼容性修复
  • 实现最长 120 天的循环水养殖系统动态仿真
  • 完成 TAN、NO₂⁻、NO₃⁻、DO、AOB 和 NOB 等关键变量识别
  • 建立 OpenModelica 仿真结果向 MAT、CSV 数据格式的导出流程
  • 完成生物滤池关键水质变量和微生物变量的可视化分析
  • 为后续时序预测、功能状态评价和控制策略研究构建仿真数据基础

技术栈

OpenModelica、Modelica、LibRAS、Python、MATLAB