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 modes的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}
如果您使用Windows并具有downloaded texlive,则使用
call pdflatex main
编译LaTeX文档,则可以获得PDF文档。否则,您可以将其放入online OverLeaf editor转换为PDF。这是所创建的7页文档的前两个方程式。关于python - Python Gekko流程图对象中有哪些方程式?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59008428/