首页 > 解决方案 > Spyder 从 chempy 运行反应系统函数,但不显示与 Jupyter 相同的输出

问题描述

spyder 中的 rsys 与 jupyter 中的显示不一样!如图所示。整个代码是:

import math
from chempy import Equilibrium, ReactionSystem
from chempy.units import SI_base_registry, Backend, default_units as u, default_constants as c
from chempy.thermodynamics import GibbsEqConst
from chempy.kinetics.rates import MassAction, Arrhenius
from chempy.kinetics.ode import get_odesys
DH, DS, R = -20e3 * u.J/u.mol, -30 * u.J/u.mol/u.K, c.molar_gas_constant.definition
ref = 'reinterpreted from: M. W. Lister & D. E. Rivington: Can. J. Chem., 1955, 33(10): 1572-1590'
eq = Equilibrium({'Fe+3', 'SCN-'}, {'FeSCN+2'}, GibbsEqConst([DH/R, DS/R]))
be = Backend()
eq.equilibrium_constant({'temperature': 298.15*u.K}, backend=be)
A, Ea = math.exp(35.5)/u.molar/u.s, 72.2e3 * u.J/u.mol
fw, bw = eq.as_reactions(kf=MassAction(Arrhenius([A, Ea/R])))
fw.param.dedimensionalisation(SI_base_registry)
params = {'temperature': 298.15*u.K, 'Fe+3': 1e-2*u.molar, 'SCN-': 1e-3*u.molar, 'FeSCN+2': 1e-6*u.molar}
fw.rate(params, backend=be)
bw.param.dedimensionalisation(SI_base_registry)
bw.rate(params, backend=be)  # note incorrect formula in bw case (need to divide by c0)
rsys = ReactionSystem([fw, bw])
rsys

蜘蛛输出

Jupyter 输出

标签: pythonjupyterspyder

解决方案


这里是 Spyder 维护者)不幸的是,这种输出只能在 Jupyter 笔记本中显示,而不能在 Spyder 中显示,抱歉。


推荐阅读