Subscribe via feed.

## A more impossible equation? LOL

Posted by ragknot on September 21, 2011 – 9:00 pm

One company says this is the best version of the Colebrook Equations.  If you read my last ToM , you can do this one.  They say with this version you need to purchase their approximation method.   Assume Re =200000 and Rr=0.04 like the other one.  Figure to 15 decimals and find out “How much different is there in this F and the last one?”

1/sqrt(F)=1.14+2*Log(1/Rr)-2*Log(1+(9.3/(Re*Rr)*1/sqrt(F)))

Does it look harder?
Would you need to buy their approximation?

This is an Excel Screen Capture of the solution

This post is under “Tom” and has 10 respond so far.

### 10 Responds so far- Add one»

1. 1. Karl Sharman Said：

It looks harder, based on the fact I didn’t have a clue about the first one. Would I need to buy their approximation – No. I’d ask you for it, or pose it as a problem on ToM and see if you answer my quandary for free…..?

2. 2. Chris Said：

I get 0.646831116603444 (oops, that should be 0.0646831116603444)#
I rewrote the equation as:
1/Sqrt(F) = 1.14 – 2 * Log10(Rr + 9.3 / (Re * Sqr(F))) as that is much neater.

I then replaced 1/Sqrt(F) with RRF and then iterated with:
RRF = 1.14 – 2 * Log10(Rr + 9.3*RRF /Re)
When that finished, I then used F = 1/RRF^2

Here’s the code:
Function CW2(ByVal Re As Double, ByVal Rr As Double, Optional ByVal SigFigs As Integer = 15) As Double
Dim RRFNew As Double
Dim RRFOld As Double
Dim ToLog10 As Double

ToLog10 = 1# / Log(10#)

RRFOld = 1
Do
RRFNew = 1.14 – 2 * ToLog10 * Log(Rr + 9.3 *RRFOld / Re)
If Abs(RRFNew – RRFOld) * 10 ^ (1 + SigFigs) < RRFNew Then Exit Do
RRFOld = RRFNew
Loop

CW2 = 1 / RRFNew ^ 2
End Function

3. 3. ragknot Said：

Karl, my solution is overly simple with Excel. I can teach my 5 year old grand daughter to to it.
She can count to 20. (You will see why below)

1. Copy the equation and paste it into a cell
2. Edit it to remove the left side, leaving “=” at the beginning.
3. Continue to edit, replace Re with 200000, replace Rr with 0.04 replace “1/sqrt(F)” with 3.
4. Hit enter, the value should be around 3 to 5, depending on the variables RR and Re.
5. Copy the cell to one cell down.
6. Edit cell 2, and change the 3 to a “point and click” back to cell 1.
7. Copy cell 2 down to a maximum of 20 cells.
8. The last cell will almost all ways have a reperating value, that value is the anser to 1/sqrt(F).
9. Write one equation that is one divided by the SQUARE of that repeating value.
10. That answer is the value of Darcy’s F to at least 15 deciamls places.

What was the hardest math? answer, the finding the square of that repeating cell… or maybe finding the recipical of that squared repeating value. But in Excel, you copying cell 2 down 20 loops Excel does all the math.

Or for about \$1000 you can buy a complex approximation that only works for special ranges of Rr and/or Rr.

I have been missing you Karl. Trick of mind has many very smart people, but s few are smart plus humble.
I would give that award to you Karl.

4. 4. Chris Said：

Hi Ragknot. It’s even easier if you use Excel’s goal seek or solver feature.

5. 5. ragknot Said：

1/Sqrt(F) = 1.14 – 2 * Log10(Rr + 9.3 / (Re * Sqr(F)))

It is “neater”, but it does not show “1/sqrt(F)” by itself for newbies to replace with their guess. They would have to recognize Sqr(F) is in the denominator… By the way SQR does not work in Excel. LOL

Didn’t you note that this simple method I showed above is the same math you showed above? One difference is that my method shown works for all four Colebrook equations, because the equation they copy and paste is the path they will follow.

Rewrite you method for each equation and you will see the difference.

6. 6. ragknot Said：

Chris was not close, he was off by 1000%.
Or to be clearer, he missed the decimal placement.

I am sorry when I laughed, but for Chris to make an error is
verrry unusual. Chris is the best Trick of Mind man in the whole world. If he were a god, I would worship him.

7. 7. Chris Said：

Hi Ragknot. Sqr and the missing 0 were typos. If the newbies can’t follow that simple manipulation, they certainly won’t know what a log is or indeed, what any of it means, so I wouldn’t worry about them too much.

But if you insist, then you could go for:
1/Sqrt(F) = 1.14 – 2 * Log10(Rr + 9.3 / Re * 1/Sqrt(F))), which is still much neater than the posted equation.

Note that none of the code actually uses Sqrt.

For Excel’s “goal seek” and “solver”, I entered the equation into cell B2 as:
=A10-1.14 + 2 * LOG(B1 + 9.3 * A10 / A1)
I used A1 for the Reynolds number, and B1 for the Darcy factor. I used cell A10 for 1/Sqrt(f) i.e. I literally entered 1 into it, and A11 for f = 1/A10^2. I then told Goal Seek to set cell B2 to 0 using cell A10 as the variable.
But I don’t understand why you don’t want to implement it as an Excel macro.

8. 8. Chris Said：

Just for heck of it, I tried cell B2 with
=1/SQRT(A10)-1.14 + 2 *LOG(B1 + 9.3/A1*1/SQRT(A10))
using A10 for F. I goal seeked B2 to 0 using A10.

I’ll admit that Solver will allow higher precision.

9. 9. ragknot Said：

Depending on how the problem works Goal Seek may win, but Solver is just a more complex path and generally it will win.

I think the 10 step non-math path to the answer is just hard for many trick of mind players.

Do those 10 steps and learn how it works. If you did that you would see the path of the 3 to point oh six.

10. 10. Karl Sharman Said：

To use the vernacular of current youth…. OMG – it IS simple – I’m cancelling that cheque for \$1,000 before I get ripped off.

Actually – what astounds me is that people will pay for this. I would have, if I needed it, but to see your solution and then realise that people are paying for that?

ToM could be a little money spinner….

PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\ext\php_mssql.dll' - The specified module could not be found. in Unknown on line 0 PHP Warning: PHP Startup: Unable to load dynamic library 'C:\Program Files (x86)\Parallels\Plesk\Additional\PleskPHP5\ext\php_pdo_mssql.dll' - The specified module could not be found. in Unknown on line 0