【问题标题】:How to define a derived dimension from another derived dimension in Boost Units?如何从 Boost Units 中的另一个派生维度定义派生维度?
【发布时间】:2013-10-01 11:32:39
【问题描述】:

在我的业务领域中,我的值表示为 W.m^-2.K^-1。

从“基本尺寸”的角度来看,这些值表示为 kg.s^-3.K^-1 (W = kg.m^2.s^-3)

如何使用 Boost Unit 实现这个维度和这个单元?

我发现的唯一示例,包括 official documentation,是关于从 base 维度派生维度,但我想从“power”维度派生,它本身就是 @987654322 @。

另外,我不知道我是否必须从幂维度导出,或者我是否必须从基本维度导出我的维度设置我的维度单位,例如以 W 表示.m^-2.K^-1。我预见后者会更难操作(考虑到我的“基础派生”尺寸约为千克和秒……)。 >

谢谢。

【问题讨论】:

    标签: c++ boost boost-units


    【解决方案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;
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-03-05
      • 1970-01-01
      • 1970-01-01
      • 2021-12-19
      • 1970-01-01
      • 1970-01-01
      • 2013-09-28
      • 2018-12-30
      相关资源
      最近更新 更多