我在Aconcagua中使用Pharo测量库。我使用它来模拟天和公里等事情已经取得了很大的成功,但遇到了一个有趣的问题,即单位之间的转换需要有关被测物质的信息。以千克/立方米为单位表示空气中物质含量的公式,单位为百万分之一:
;其中mw
是材料的分子量。
我想象的用法如下:
tlvCO := carbonMonoxide tlv. "returns the Threshold limit Value as 29 mg/m3"
...
tlvCO convertTo: PPM "where PPM is an Aconcagua unit"
问题在于,虽然我在Aconcagua中看到的测量示例中包含了转换所需的所有信息,但在这种情况下,您必须知道被测物质的分子量。因此mg/m3 -> ppm
本身并不具有意义。一个正确形成的问题是mg/m3 of ammonia -> ppm
。
我的直觉是:
MaterialQuantity
这样的新类,它有一个材料和一个度量,或者但我没有100%销售,并希望得到一些意见......
答案 0 :(得分:1)
我认为分子量不是单位的一部分,而是计算的一部分,比如24.45(不清楚,但似乎是你考虑的空气分子质量的平均值)。
我不确定ppm是否可以转换为密度单位,因为它们属于不同的域。
答案 1 :(得分:0)
据我所知,你需要将tlv作为一个复合单元或公式来实现,你可以要求提供元素。然后你可以简单地做一些像[:tlv | tlv *(24.45 / tlv element)]