沿集合展平组件

(函数来自 pyomo.dae.flatten)

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 组件的列表