You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Brightway2中建模多输出脱氢循环工艺?

Brightway2中脱氢工序多输出流建模解决方案

核心思路

Brightway2原生支持多产出活动,无需依赖第三方multifunctional包(该包的错误调用常导致矩阵奇异或交换类型冲突)。只需正确声明双输出流,并确保物质平衡,即可让后续工序直接引用两个产出。

分步实现

1. 创建脱氢工序多产出活动

定义活动时明确两个产出流,将氢气设为参考产品,不饱和载体作为副产物,同时保证输入输出的质量/能量平衡:

import brightway2 as bw

# 切换到目标项目(需提前初始化并导入Ecoinvent)
bw.projects.set_current("hydrogen_cycle")

# 自定义数据库(用于存储加氢/脱氢工序)
if "hydrogen_processes" not in bw.databases:
    custom_db = bw.Database("hydrogen_processes")
    custom_db.register()
else:
    custom_db = bw.Database("hydrogen_processes")

# 脱氢工序数据集
dehydrogenation_data = {
    'name': 'Dehydrogenation of saturated H2 carrier',
    'unit': 'kg',
    'exchanges': [
        # 输入:饱和储氢载体(假设已在自定义载体数据库中定义)
        {
            'name': 'Saturated hydrogen carrier',
            'unit': 'kg',
            'amount': 1.0,
            'type': 'technosphere',
            'database': 'h2_carriers'
        },
        # 输入:热能(引用Ecoinvent的高压蒸汽)
        {
            'name': 'Steam, high pressure',
            'unit': 'MJ',
            'amount': 22.5,  # 实际工艺能耗需根据数据调整
            'type': 'technosphere',
            'database': 'ecoinvent'
        },
        # 输出1:氢气(功能单元,标记为参考产品)
        {
            'name': 'Hydrogen, process output',
            'unit': 'kg',
            'amount': 0.048,  # 示例产率,对应1kg饱和载体产氢量
            'type': 'production',
            'reference product': True
        },
        # 输出2:不饱和储氢载体(循环回加氢工序)
        {
            'name': 'Unsaturated hydrogen carrier',
            'unit': 'kg',
            'amount': 0.952,  # 质量平衡:1kg输入 - 0.048kg氢 = 0.952kg不饱和载体
            'type': 'production'
        }
    ]
}

# 将工序写入自定义数据库
custom_db.write(dehydrogenation_data)

2. 后续工序引用双输出流

压缩机调用氢气

直接将脱氢工序的氢输出作为压缩机的技术输入:

compressor_data = {
    'name': 'Hydrogen compression to 300 bar',
    'unit': 'kg',
    'exchanges': [
        {
            'name': 'Hydrogen, process output',
            'unit': 'kg',
            'amount': 1.0,
            'type': 'technosphere',
            'database': 'hydrogen_processes',
            'activity': 'Dehydrogenation of saturated H2 carrier'
        },
        # 输入:电力(引用Ecoinvent数据)
        {
            'name': 'Electricity, medium voltage',
            'unit': 'kWh',
            'amount': 0.12,  # 示例压缩能耗
            'type': 'technosphere',
            'database': 'ecoinvent'
        }
    ]
}
custom_db.write(compressor_data)

不饱和载体循环加氢

将脱氢产出的不饱和载体作为加氢工序的输入,完成循环:

hydrogenation_data = {
    'name': 'Hydrogenation of unsaturated H2 carrier',
    'unit': 'kg',
    'exchanges': [
        {
            'name': 'Unsaturated hydrogen carrier',
            'unit': 'kg',
            'amount': 0.952,
            'type': 'technosphere',
            'database': 'hydrogen_processes',
            'activity': 'Dehydrogenation of saturated H2 carrier'
        },
        # 输入:补充氢气(若有损耗)
        {
            'name': 'Hydrogen, raw',
            'unit': 'kg',
            'amount': 0.002,  # 示例损耗补充量
            'type': 'technosphere',
            'database': 'ecoinvent'
        },
        # 输入:加氢热能
        {
            'name': 'Steam, high pressure',
            'unit': 'MJ',
            'amount': 18.0,
            'type': 'technosphere',
            'database': 'ecoinvent'
        },
        # 输出:饱和储氢载体(循环回脱氢工序)
        {
            'name': 'Saturated hydrogen carrier',
            'unit': 'kg',
            'amount': 1.0,
            'type': 'production',
            'reference product': True
        }
    ]
}
custom_db.write(hydrogenation_data)

3. 排查常见错误

  • 矩阵奇异报错:确保所有交换的type正确(technosphere为输入,production为输出),且物质平衡无矛盾(输入总量与输出总量匹配)。
  • multifunctional包冲突:该包多用于复杂分配场景,双产出循环流无需使用,直接用原生多产出活动即可避免报错。
  • 循环流引用失败:检查活动名称、数据库名称是否完全匹配,Brightway2对字符串匹配敏感,需完全一致。

4. 技术矩阵验证

可通过以下代码查看技术矩阵,确认脱氢工序的输入输出系数正确:

from brightway2 import TechnosphereBiosphereMatrix

# 生成自定义数据库的技术-生物圈矩阵
tech_matrix = TechnosphereBiosphereMatrix(custom_db)
# 转换为稠密矩阵打印查看
print("技术矩阵(脱氢工序相关):")
print(tech_matrix.todense())

内容的提问来源于stack exchange,提问作者zakalaka

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 17:23:23