В моей сфере деятельности у меня есть значения, которые выражаются как W.mˆ-2.Kˆ-1.
С точки зрения «базовых размеров», эти значения выражаются в кг.с-3.Kˆ-1 (W = кг.мˆ2.sˆ-3).
Как мне реализовать это измерение и этот модуль с помощью Boost Unit?
Единственные примеры, которые я нашел, включая официальная документация, были о получении размеров от база измерения, но я хотел бы вывести из измерения «власти», которое само по себе производное измерение.
Кроме того, я не знаю, нужно ли мне выводить из измерения силы, или нужно ли выводить свое измерение из базовых а также установите единицу измерения, такую как она выражается в 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;
Других решений пока нет …