built-in Python Gekko flowsheet objects的方程式和其他细节是什么,例如反应堆模型? 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个变量的更多详细信息?我对属性控制(熔融指数和密度)感兴趣,并通过调整催化剂,氢气和共聚单体(丙烯,异丁烯等)来最大化生产率。

最佳答案

当您将rto_4_latex.tex设置为4或更高时,Gekko将输出一个LaTeX文件{mode}_4_latex.tex}(或other modesm.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}

如果您使用Windows并具有downloaded texlive,则使用call pdflatex main编译LaTeX文档,则可以获得PDF文档。否则,您可以将其放入online OverLeaf editor转换为PDF。这是所创建的7页文档的前两个方程式。

python - Python Gekko流程图对象中有哪些方程式?-LMLPHP

关于python - Python Gekko流程图对象中有哪些方程式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59008428/

10-12 21:53