reaction.py 文件源码

python
阅读 22 收藏 0 点赞 0 评论 0

项目:crnpy 作者: etonello 项目源码 文件源码
def _split_reaction_monom(reaction, species):
    """Split a reaction into separate reactions, one
    for each monomial in rate (compare to split_reactions).

    :rtype: list of Reactions.
    """
    ratenumer, ratedenom = reaction.rate.cancel().as_numer_denom()
    ratenumer = ratenumer.expand()
    species = map(sp.Symbol, species)
    ratendict = sp.Poly(ratenumer, *species).as_dict()
    if len(ratendict) > 1:
        reactions = []

        i = 0
        for degrees in ratendict:
            i = i + 1
            ratenpart = sp.Mul(*[species[r]**degrees[r] for r in range(len(species))]) * ratendict[degrees]
            reactions.append(Reaction(reaction.reactionid + "_" + str(i), \
                                      reaction.reactant, \
                                      reaction.product, \
                                      ratenpart / ratedenom))
        return reactions
    return [reaction]
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号