首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Brightway2中解聚生态发明过程

在Brightway2中解聚生态发明过程
EN

Stack Overflow用户
提问于 2016-03-17 05:30:49
回答 1查看 166关注 0票数 2

假设我想要对汽车使用生态发明过程,该过程模型包括对汽车生产、维护、道路维护、燃料等的影响。假设我想模拟没有燃料的汽车,因为我想模拟不同燃料的使用。我可以告诉Brightway计算汽车减去燃料后的影响吗?

EN

回答 1

Stack Overflow用户

发布于 2016-03-17 06:03:39

至少有两种方法可以获得您想要的结果。假设您的库存数据集如下所示:

代码语言:javascript
复制
[
    {
        'code': 'car',
        'database': 'example',
        'exchanges': [{
            'input': ('database', 'fuel'), 
            'amount': 1
        }]
    }, {
        'code': 'fuel',
        'database': 'example',
    }
]

然后,您可以构建一个新的数据集,并减去燃料:

代码语言:javascript
复制
{
    'code': 'car w/out fuel',
    'database': 'example',
    'exchanges': [{
        'input': ('example', 'car'), 
        'amount': 1
    }, {
        'input': ('example', 'fuel'), 
        'amount': -1
        }
    }]
}

然后将此数据集用作您的功能单元。或者,您可以直接在传递给LCA类的功能单元中减去燃料输入:

代码语言:javascript
复制
LCA({('example', 'car'): 1, ('example', 'fuel'): -1)})

您还可以将修改后的功能单元保存在calculation setup中。

对于关于操作数据集的简单性的评论,并没有真正简单的方法。很难定义使用库存数据集的通用规则,因为不同行业的输入结构非常不同。要回答特定的评论,您可以这样做:

代码语言:javascript
复制
from brightway2 import *
db = Database("ecoinvent 3.2 cutoff")
car = db.search('transport, passenger car, large size, diesel')[0]
new_car = car.copy()
for exc in new_car.exchanges():
    if 'diesel, low-sulfur' in exc.input['name']:
        exc.delete()

但这需要你手动检查搜索词,以确保你得到你想要的行为。在理想的情况下,我们应该有一种特定于领域的语言,用于以简单的方式操作数据集,但我还不知道这会是什么样子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36047348

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档