JModelica可以直接将结果打印到文件吗?

时间:2015-08-15 18:58:12

标签: python modelica jmodelica

我正在运行以下JModelica脚本:

#!/usr/local/jmodelica/bin/jm_python.sh
import pyjmi
op = pyjmi.transfer_optimization_problem("BatchReactor", "model.mop")

opt_opts                                 = op.optimize_options()
opt_opts['n_e']                          = 40 # Number of elements
opt_opts['IPOPT_options']['tol']         = 1e-10
opt_opts['IPOPT_options']['print_level'] = 8
opt_opts['IPOPT_options']['output_file'] = '/z/out'

res = op.optimize(options=opt_opts)

我原本希望将结果(例如时间,x1,x2和c。)打印到文件/z/out。但该文件仅包含IPOPT详细调试/状态信息。

有没有办法将res中存储的信息直接打印到文件中?要么通过某种方式编写res本身,或者最好是让IPOPT / JModelica编写结果而不必通过Python?

1 个答案:

答案 0 :(得分:0)

有一种方法可以将信息直接打印到文件中。以下完成此操作。请注意result_file_name是实现此目标的关键。

#!/usr/local/jmodelica/bin/jm_python.sh
import pyjmi
op = pyjmi.transfer_optimization_problem("BatchReactor", "model.mop")

opt_opts                                 = op.optimize_options()
opt_opts['n_e']                          = 40 # Number of elements
opt_opts['result_file_name']             = '/z/out'
opt_opts['IPOPT_options']['tol']         = 1e-10
opt_opts['IPOPT_options']['print_level'] = 0

res = op.optimize(options=opt_opts)

不幸的是,该文件的内容有些神秘。