mm_com.py 文件源码

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

项目:kinpy 作者: dudektria 项目源码 文件源码
def reaction(y0, t, k0, k0r, k1, k1r, k2, k2r):
    """
    Wrapper for the reaction.
    It receives an `np.array` `y0` with the initial concentrations and an
    `np.array` `t` with timestamps (it should also include `0`).
    This function solves the corresponding ODE system and returns an `np.array`
    `Y` in which each column represents a chemical species and each line a
    timestamp.
    """
    def dydt(y, t):
        return np.array([
                         -1*v_0(y[1], y[0], y[2])+1*v_1(y[3], y[0], y[2]),
                         -1*v_0(y[1], y[0], y[2])-1*v_2(y[3], y[1]),
                         +1*v_0(y[1], y[0], y[2])-1*v_1(y[3], y[0], y[2]),
                         +1*v_1(y[3], y[0], y[2])+1*v_2(y[3], y[1]),
                         ])

    # E + S <-> ES
    def v_0(S, E, ES):
        return k0 * E**1 * S**1 - k0r * ES**1

    # ES <-> E + P
    def v_1(P, E, ES):
        return k1 * ES**1 - k1r * E**1 * P**1

    # S <-> P
    def v_2(P, S):
        return k2 * S**1 - k2r * P**1

    return odeint(dydt, y0, t)

# Reaction rates:
# E + S <-> ES
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号