11.07.2014 Views

Flute acoustics: measurement, modelling and design - School of ...

Flute acoustics: measurement, modelling and design - School of ...

Flute acoustics: measurement, modelling and design - School of ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

APPENDIX B. PROGRAM LISTINGS 195<br />

/*<br />

Acoustics.c<br />

By Paul Dickens, 2005<br />

Listing B.2: Acoustics.c<br />

Acoustics library.<br />

Refer to Acoustics.h for interface details.<br />

*/<br />

#include <br />

#include <br />

#include "Acoustics.h"<br />

#include "Complex.h"<br />

double saturationVapourPressureWater(double T) {<br />

double C1, C2, C3, C4;<br />

C1 = 1.2811805e-5;<br />

C2 = 1.9509874e-2;<br />

C3 = 34.04926034;<br />

C4 = 6.3536311e3;<br />

return exp(C1*pow(T,2) - C2*T + C3 - C4/T);<br />

}<br />

double speedSound(double t, double p, double h, double x_c) {<br />

double f, T, p_sv, x_w;<br />

/* Calculate mole fraction <strong>of</strong> water vapour using equation in Cramer<br />

Appendix (p. 2515) */<br />

f = 1.00062 + 3.14e-8*p + 5.6e-7*pow(t,2);<br />

T = t + 273.15;<br />

p_sv = saturationVapourPressureWater(T);<br />

x_w = h*f*p_sv/p;<br />

return speedSoundCramer(t,p,x_w,x_c);<br />

}<br />

double speedSoundCramer(double t, double p, double x_w, double x_c) {<br />

int i;<br />

double c = 0;<br />

double a[] = {<br />

331.5024,<br />

0.603055,<br />

-0.000528,<br />

51.471935,<br />

0.1495874,<br />

-0.000782,<br />

-1.82e-7,<br />

3.73e-8,<br />

-2.93e-10,<br />

-85.20931,<br />

-0.228525,<br />

5.91e-5,<br />

-2.835149,<br />

-2.15e-13,<br />

29.179762,<br />

0.000486<br />

};<br />

double coeff[] = {

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!