Boost logo

Boost :

From: Noah Roberts (roberts.noah_at_[hidden])
Date: 2007-03-07 12:28:56


Michael Fawcett wrote:
> On 3/6/07, Deane Yang <deane_yang_at_[hidden]> wrote:
>> Noah Roberts wrote:
>>> Deane Yang wrote:
>>>> Can you provide a concrete example?
>>> Formula for Fluid Compressibility through a Venturi Tube:
>>>
>>> Y = {[kt^(2/k)/(k-1)][(1-b^4)/(1-b^4t^(2/k))][(1-t^((k-1)/k)/(1-t)]}^.5
>>>
>>> With k being the SP heat ratio of the fluid passing through the venturi.
>>> Static dimensional analysis is impossible here. In fact dimensional
>>> analysis at all just isn't appropriate in these odd cases.
>>>
>> So you're saying that the dimension/unit library does *not* need to
>> worry about formulas like this, right? If so, my comments below are
>> off-topic.

What I'm saying is that there are just times when you'll have to break
out. You'll have to get the value out of the quantity, use it, and put
the result into a quantity with the dimensions it's supposed to have.
There's just no way around it that I can see. In other words I don't
think there's much use in trying to solve ALL problems that might come
up, especially wrt exponents.

>>
>> But I'm still a skeptic. I don't see why the trick I outlined before
>> can't be played here, too. Tell me what each variable means and what
>> units it is in (if any). Or give me an online reference for this formula.
>
> It appears that he's referring to the equation given here:
>
> http://en.wikipedia.org/wiki/Orifice_plate

Could be. It's the Fluid Compressibility function for a Venturi Tube or
Nozzle shaped orifice. I'm not an engineer...I just do what I'm told on
that end and ask questions /if I need to/.

Y = fluid compressibility factor
t = fluid temp (F I believe)
b = beta - orifice/pipe size.
k = SP Heat

>
> Look for the equation under the heading "Flow of gases through an
> orifice". Above it and below it are references to the variable units.

The only variable that has units is temperature. The rest are ratios.
But in that EQ t^2k is the problem that will work in the end. k is an
unknown so you can't statically create a result type for that EQ. You
have to take the temp value out and use it as a double and then plug in
the compressibility into a dimensional quantity (it has none but it's
good to have it in one that's labeled as such). There are other
occasions when you might plug that value into a mass flow rate or something.

You could say that t^x is a dimensionless quantity and tell people to
multiply that by 1 * whatever dimensions they expect. I don't like that
idea though because it doesn't really convey the importance that they
get it right that breaking out of the static system does. When you have
to cast out of the quantity system into doubles you're going to be careful.

This problem can be solved with runtime dimensional
analysis...unfortunately it doesn't do it right most of the time because
we don't care what the true dimension of t^x is...it's empirical and
doesn't use dimensional analysis.


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk