Pyomo单位容器

(类来自 pyomo.core.base.units_container)

class pyomo.core.base.units_container.PyomoUnitsContainer(pint_registry=NOTSET)[source]

基础类:object

用于在Pyomo中创建和包含单元的类。

这是用于在Pyomo中创建、包含和与单位交互的类。该模块 (pyomo.core.base.units_container) 还包含一个模块 级别的单位容器 units,它是PyomoUnitsContainer的一个实例。通常应使用此模块实例 而不是创建自己的 PyomoUnitsContainer 实例。有关此类的使用概述,请参阅模块文档 (pyomo.core.base.units_container)

这个类基于“pint”模块。可用的单位文档可以在以下网址找到: https://github.com/hgrecco/pint/blob/master/pint/default_en.txt

注意

预定义的单元可以通过PyomoUnitsContainer类的属性访问;然而,这些属性是通过__getattr__方法动态创建的,在它们被请求之前,这些属性并不存在于类中。

__init__(pint_registry=NOTSET)[源代码]

创建一个PyomoUnitsContainer实例。

方法

__init__([pint_registry])

创建一个PyomoUnitsContainer实例。

convert(src[, to_units])

此方法返回一个表达式,该表达式包含从一个单位到另一个单位的显式转换。

convert_temp_C_to_K(value_in_C)

将摄氏度的值转换为开尔文 请注意,此方法仅转换数值。

convert_temp_F_to_R(value_in_F)

将华氏度值转换为兰金度。

convert_temp_K_to_C(value_in_K)

将开尔文值转换为摄氏度。

convert_temp_R_to_F(value_in_R)

将兰金温度转换为华氏度。

convert_value(num_value[, from_units, to_units])

此方法执行从一个单位到另一个单位的数值的显式转换,并返回新值。

get_units(expr)

返回与此表达式对应的Pyomo单位(同时执行验证,如果单位不一致将引发异常)。

load_definitions_from_file(definition_file)

从文件加载新的单位定义

load_definitions_from_strings(...)

从字符串加载新的单位定义

set_pint_registry(pint_registry)

属性

pint_registry

成员文档

convert(src, to_units=None)[source]

此方法返回一个表达式,该表达式包含从一个单位到另一个单位的显式转换。

Parameters:
  • src (Pyomo 表达式) – 将被转换的源值。这可以是一个 Pyomo Var、Pyomo Param 或更复杂的表达式。

  • to_units (Pyomo 单位表达式) – 新表达式所需的目标单位

Returns:

ret

Return type:

Pyomo 表达式

convert_temp_C_to_K(value_in_C)[source]

将摄氏度的值转换为开尔文 请注意,此方法仅转换数值。如果您需要在表达式中进行温度转换,请仅使用绝对温度。

convert_temp_F_to_R(value_in_F)[source]

将华氏度值转换为兰金温度。请注意,此方法仅转换数值。如果您需要在表达式中进行温度转换,请仅使用绝对温度。

convert_temp_K_to_C(value_in_K)[source]

将开尔文值转换为摄氏度。请注意,此方法仅转换数值。如果您需要在表达式中进行温度转换,请仅使用绝对温度。

convert_temp_R_to_F(value_in_R)[source]

将兰金温度转换为华氏度。请注意,此方法仅转换数值。如果您需要在表达式中进行温度转换,请仅使用绝对温度。

convert_value(num_value, from_units=None, to_units=None)[来源]

此方法执行数值从一个单位到另一个单位的显式转换,并返回新值。

参数“num_value”必须是原生数值类型(例如float)。 请注意,此方法仅返回数值,而不是带有单位的表达式。

Parameters:
  • num_value (float其他原生数值类型) – 将被转换的值

  • from_units (Pyomo 单位表达式) – 要转换的单位

  • to_units (Pyomo 单位表达式) – 要转换到的单位

Returns:

浮点数

Return type:

转换后的值

get_units(expr)[source]

返回与此表达式对应的Pyomo单位(同时执行验证,如果单位不一致将引发异常)。

Parameters:

expr (Pyomo 表达式) – 包含所需单位的表达式

Returns:

返回与表达式对应的单位

Return type:

Pyomo 单元 (expression)

Raises:

pyomo.core.base.units_container.UnitsError

load_definitions_from_file(definition_file)[source]

从文件加载新的单位定义

此方法从用户指定的定义文件中加载额外的单位定义。定义文件的示例可以在以下位置找到: https://github.com/hgrecco/pint/blob/master/pint/default_en.txt

如果我们有一个名为 my_additional_units.txt 的文件,其中包含以下行:

USD = [currency]

然后我们可以将其添加到容器中:

>>> u.load_definitions_from_file('my_additional_units.txt')
>>> print(u.USD)
USD
load_definitions_from_strings(definition_string_list)[source]

从字符串加载新的单位定义

此方法从字符串列表中加载额外的单位定义(每行一个)。定义的字符串示例可以在以下位置找到: https://github.com/hgrecco/pint/blob/master/pint/default_en.txt

例如,要添加货币维度和美元作为单位,请使用

>>> u.load_definitions_from_strings(['USD = [currency]'])
>>> print(u.USD)
USD