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])创建一个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)从文件加载新的单位定义
从字符串加载新的单位定义
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_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:
- 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