1

内置 Python Gekko 流程对象(例如反应器模型)的方程式和其他细节是什么?Gekko 拥有我在将非线性模型预测控制 (MPC) 应用于气相流化床聚合物(聚乙烯)反应器的工业应用中所需的化合物。

from gekko import GEKKO, chemical
m = GEKKO(remote=False)
c = chemical.Properties(m)
c.compound('ethylene')    # primary monomer reactant
c.compound('propylene')   # co-polymer monomer reactant
c.compound('hydrogen')    # melt-index modifier
c.compound('ethane')      # inert
c.compound('propane')     # inert
c.compound('cyclohexene') # density modifier
c.compound('isopentane')  # condensing agent
c.compound('nitrogen')    # pressure control
f = chemical.Flowsheet(m)
r = f.reactor(ni=2)
m.options.SOLVER = 1
m.solve()

这个简单的反应器模型产生以下输出:

 --------- APM Model Size ------------
 Each time step contains
   Objects      :  1
   Constants    :  0
   Variables    :  12
   Intermediates:  0
   Connections  :  12
   Equations    :  0
   Residuals    :  0

 Number of state variables:    29
 Number of total equations: -  10
 Number of slack variables: -  0
 ---------------------------------------
 Degrees of freedom       :    19

 ----------------------------------------------
 Steady State Optimization with APOPT Solver
 ----------------------------------------------

 Iter    Objective  Convergence
    0  2.55529E-16  1.38889E+00
    1  2.38753E-25  1.23358E-16
    2  2.38753E-25  1.23358E-16
 Successful solution

 ---------------------------------------------------
 Solver         :  APOPT (v1.0)
 Solution time  :  0.026300000000000004 sec
 Objective      :  0.
 Successful solution
 ---------------------------------------------------

如何找到有关 10 个方程和 29 个变量的更多详细信息?我对性能控制(熔体指数和密度)感兴趣,并通过调整催化剂、氢气和共聚单体(丙烯、异丁烯等)来最大限度地提高生产率。

4

1 回答 1

1

当您设置为 4 或更高时,Gekko 会输出一个 LaTeX 文件rto_4_latex.tex(或其他模式),其中包含有关方程和变量的模型详细信息。{mode}_4_latex.tex}m.options.DIAGLEVEL

from gekko import GEKKO, chemical
m = GEKKO(remote=False)
c = chemical.Properties(m)
c.compound('ethylene')    # primary monomer reactant
c.compound('propylene')   # co-polymer monomer reactant
c.compound('hydrogen')    # melt-index modifier
c.compound('ethane')      # inert
c.compound('propane')     # inert
c.compound('cyclohexene') # density modifier
c.compound('isopentane')  # condensing agent
c.compound('nitrogen')    # pressure control
f = chemical.Flowsheet(m)
r = f.reactor(ni=2)
m.options.SOLVER = 1
m.options.DIAGLEVEL = 4
m.solve()
m.open_folder()

当您在本地求解remote=False并使用m.open_folder().

\documentclass[8pt]{article}
\begin{document}
\title{Model Title}
\author{John D. Hedengren}
\maketitle
\section{equations}

\subsection{Equation 1 }
\texttt{ ss.reactor1.overall\_mole\_balance }
\begin{equation}
0 = {\dot n}_{in} + {\dot r}_{gen} - {\dot n}_{out} - \frac{\partial n}{\partial t}
\end{equation}
Variables
\begin{enumerate}
\item \texttt{ 0.60000E+00 kmol/sec    ss.reactor1.inlet[1].ndot * 2}
\item \texttt{ 0.60000E+00 kmol/sec    ss.reactor1.inlet[2].ndot * 11}
\item \texttt{ 0.12000E+01 kmol/sec    ss.reactor1.outlet.ndot * 19}
\item \texttt{ 0.00000E+00 kmol/sec    ss.v1 * 29}
\end{enumerate}

call pdflatex main如果您在 Windows 中并已下载 texlive编译 LaTeX 文档,则可以获得 PDF 文档。否则,您可以将其放入在线 OverLeaf 编辑器中以转换为 PDF。这是创建的 7 页文档的前两个方程式。

Gekko模型的PDF

于 2019-11-23T14:37:34.723 回答