在我的业务领域,我的值表示为 W.m^-2.K^-1。
从“基本维度”的角度来看,这些值表示为 kg.s^-3.K^-1 (W = kg.m^2.s^-3)
如何使用 boost 单元实现这个维度和这个单元?
我找到的唯一示例,包括 official documentation ,是关于从 base 维度派生维度,但我想从“功率”维度派生,它本身就是一个 derived dimension .
此外,我不知道我是否必须从功率维度导出,或者我是否必须从基础维度导出我的维度并设置我的维度单位,例如用 W 表示.m^-2.K^-1。我预见到后者会更难操纵(考虑到我的“基础派生”维度大约是千克和秒......,在给定面积和温度的情况下获得瓦数并不是微不足道的......)。
谢谢。
最佳答案
您可以使用单位运算符来操纵更高级别的维度,然后将它们定义为有用的东西。这些单位运算符在 <boost/units/operators.hpp>
中可用。头文件。
示例在文档中可用,它们用于在此处为物理常量创建高级维度 [<boost/units/systems/si/codata/typedefs.hpp>][1]
typedef divide_typeof_helper<frequency,electric_potential>::type frequency_over_electric_potential;
typedef divide_typeof_helper<electric_charge,mass>::type electric_charge_over_mass;
typedef divide_typeof_helper<mass,amount>::type mass_over_amount;
针对您的具体情况:
typedef divide_typeof_helper< power , area >::type power_over_area;
typedef divide_typeof_helper< power_over_area, temperature >::type heat_transfer_coeff;
关于c++ - 如何从 Boost Units 中的另一个派生维度定义派生维度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19115072/