
"The flow coefficient is Q/sqrt(dP), a volumetric flow/sqrt(pressure)."
The units, specifically, are:
Kv = (m3/h)/sqrt(bar) Cv = (usgal/min)/sqrt(psi)
Repasted from the omitted text:
"The only way I can think of to do it is to make a system with the components within the derived dimension and make conversion factors for those. The problem is that I am not sure such systems can be coherent and it would be a significant effort above and beyond the direct conversion factors I already know."
To finish the thought, you can get a function to take any quantity of volumetric flow/sqrt(pressure) as follows (using the previous code) : namespace boost { namespace units { typedef make_dimension_list< list< dim< length_base_dimension,static_rational<7,2> >, list< dim< mass_base_dimension,static_rational<-1,2> >, dimensionless_type > > >::type funky_type; } // namespace units } // namespace boost using namespace boost::units; template<class Y,class System> void f2(const quantity<unit<funky_type,System>,Y>& arg) { std::cout << quantity<Kv,Y>(arg) << std::endl; } int main(void) { f2(1.0*Kv()); f2(1.0*Cv()); } Matthias