模拟器

(类来自 pyomo.dae.simulator)

class pyomo.dae.simulator.Simulator(m, package='scipy')[source]

基础类:object

模拟器对象允许用户模拟使用pyomo.dae制定的动态模型。

Parameters:
  • m (Pyomo 模型) – 要模拟的 Pyomo 模型应作为第一个参数传递

  • package (string) – 使用的Python模拟器包。目前仅支持‘scipy’和‘casadi’这两个包。

__init__(m, package='scipy')[源代码]

方法

__init__(m[, package])

get_variable_order([vartype])

此函数返回差分变量名称的有序列表。

initialize_model()

此函数将使用从模拟动态模型获得的配置文件来初始化模型。

simulate([numpoints, tstep, integrator, ...])

模拟模型。

成员文档

get_variable_order(vartype=None)[source]

此函数返回微分变量名称的有序列表。该顺序对应于发送到积分器函数的顺序。了解顺序允许用户使用列表为微分方程提供初始条件,或将模拟函数返回的配置文件映射到Pyomo变量。

Parameters:

vartype (string 或 None) – 用于指定返回变量类型的可选参数 默认行为是返回微分变量的顺序。'time-varying' 将返回模型中识别的所有时间依赖代数变量的顺序。'algebraic' 将返回最近调用模拟函数时使用的代数变量的顺序。'input' 将返回在最近调用模拟函数时被视为输入的时间依赖代数变量的顺序。

Return type:

列表

initialize_model()[source]

此函数将使用从模拟动态模型获得的配置文件来初始化模型。

simulate(numpoints=None, tstep=None, integrator=None, varying_inputs=None, initcon=None, integrator_options=None)[source]

模拟模型。可以将特定于积分器的选项指定为关键字参数,并将传递给积分器。

Parameters:
  • numpoints (int) – 模拟器返回的轮廓的点数。 默认值为100

  • tstep (intfloat) – 模拟器返回的配置文件中使用的时间步长。 这不是积分器内部使用的时间步长。 这是一个可选参数,可以代替‘numpoints’指定。

  • integrator (string) – 用于模拟的积分器的字符串名称。默认情况下,使用Scipy时为‘lsoda’,使用CasADi时为‘idas’。

  • varying_inputs (pyomo.environ.Suffix) – 一个包含用于某些随时间变化的代数变量的分段常数配置文件的 Suffix 对象。

  • initcon (list of floats) – 微分变量的初始条件。这是一个可选参数。如果未指定,则模拟器将使用微分变量在ContinuousSet下界的当前值作为初始条件。

  • integrator_options (dict) – 包含应传递给积分器的选项的字典。有关有效选项的列表,请参阅特定积分器的文档。

Returns:

第一个返回值是一个一维数组,表示时间点,对应于第二个返回值,第二个返回值是一个二维数组,表示模拟的微分和代数变量的配置文件。

Return type:

numpy数组, numpy数组