API参考

pyomo.dae.flatten.slice_component_along_sets(...)

此函数生成提供的组件沿提供的集合的所有可能切片。

pyomo.dae.flatten.flatten_components_along_sets(m, ...)

此函数遍历块中包含的组件(递归地),并将它们的数据对象分区为仅由指定集合索引的组件。

pyomo.dae.flatten.flatten_dae_components(...)

将组件分区为ComponentData和仅由提供的集合索引的Components。

pyomo.dae.flatten.slice_component_along_sets(component, sets, context_slice=None, normalize=None)[source]

此函数生成提供的组件沿提供的集合的所有可能切片。也就是说,它将遍历组件的其他索引集,并为每个索引生成沿调用签名中指定的集合的切片。

Parameters:
  • component (Component) – 将生成其切片的组件

  • sets (ComponentSet) – 将被切片的Pyomo集合的ComponentSet

  • context_slice (IndexedComponent_slice) – 如果提供了,我们将通过适当的getattr和getitem调用来扩展这个切片,而不是创建一个新的切片。

  • normalize (Bool) – 如果为False,则返回的索引(来自“其他集合”的乘积)不会被规范化,无论normalize_index.flatten的值如何。这是为了将此索引与_fill_indices一起使用所必需的。

Yields:

tuple – 第一个条目是切片对应的“其他集合”乘积中的索引,第二个条目是该索引处的切片。

pyomo.dae.flatten.flatten_components_along_sets(m, sets, ctype, indices=None, active=None)[source]

此函数遍历块中包含的组件(递归地),并将它们的数据对象分区为仅由指定集合索引的组件。

Parameters:
  • m (BlockData) – 块,其组件(及其子组件)将被分区

  • sets (Tuple of Pyomo Sets) – 要切片的集合。返回的组件将由这些集合的某种组合索引(如果有的话)。

  • ctype (子类Component) – 用于识别和分区的组件类型

  • indices (IterableComponentMap) – 用于在子块中下降时使用的集合索引。如果提供了可迭代对象,顺序应与sets中的顺序一致。如果提供了ComponentMap,则键必须在sets中。

  • active (BoolNone) – 如果不是 None,这是一个布尔标志,用于根据其活动状态过滤组件对象。如果切片定义的任何数据对象与此标志匹配,则返回对切片的引用。

Returns:

第一个条目是Pyomo集合的元组列表。第二个是组件列表的列表,由第一个列表中的相应集合索引。如果组件未索引,则返回ComponentData,并且集合的元组仅包含UnindexedComponent_set。如果组件已索引,则它们是对切片的引用。

Return type:

集合的元组列表,list 组件的列表

pyomo.dae.flatten.flatten_dae_components(model, time, ctype, indices=None, active=None)[source]

将组件分区为ComponentData和仅由提供的集合索引的Components。

Parameters:
  • model (BlockData) – 其组件被分区的块

  • time (Set) – 通过此集合(且仅此集合)进行索引将在返回的组件中保留。

  • ctype (子类Component) – 用于识别、分区和返回的组件类型

  • indices (TupleComponentMap) – 包含指定集合的索引,用于在深入块时使用

  • active (BoolNone) – 如果提供,用作过滤器,仅返回具有指定活动标志的组件。如果由切片定义的任何数据对象匹配此标志,则返回对切片的引用。

Returns:

第一个列表包含所有未被提供的集合索引的组件的ComponentData。第二个列表包含所有被提供的集合索引的组件的引用切片。

Return type:

ComponentData 的列表, listComponent