API参考
此函数生成提供的组件沿提供的集合的所有可能切片。 |
|
此函数遍历块中包含的组件(递归地),并将它们的数据对象分区为仅由指定集合索引的组件。 |
|
将组件分区为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 (Iterable 或 ComponentMap) – 用于在子块中下降时使用的集合索引。如果提供了可迭代对象,顺序应与
sets中的顺序一致。如果提供了ComponentMap,则键必须在sets中。active (Bool 或 None) – 如果不是 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 (Tuple 或 ComponentMap) – 包含指定集合的索引,用于在深入块时使用
active (Bool 或 None) – 如果提供,用作过滤器,仅返回具有指定活动标志的组件。如果由切片定义的任何数据对象匹配此标志,则返回对切片的引用。
- Returns:
第一个列表包含所有未被提供的集合索引的组件的ComponentData。第二个列表包含所有被提供的集合索引的组件的引用切片。
- Return type:
ComponentData 的列表, list 的 Component