unicfdlab / libAcoustics

libAcoustics - OpenFOAM library for far-field noise computation
139 stars 56 forks source link

Errors in Openfoam 4.1 Implementation of equations #11

Closed shivaang92 closed 5 years ago

shivaang92 commented 5 years ago

Thank you for developing this utility. I would like to highlight a few issues I have come across while working with it. In the Curle Method, there is an error in the derivation in the thesis used as the reference: Page 17, when performing the spatial derivative to temporal derivative one gets a negative sign for the surface component (equation 3.14) which ultimately leads to a negative sign in equation 3.23. There is also an error in equation 3.11, where it should be /c0^2 but that has been resolved in further derivations. In the Farassat1A.C file the term lM is initialized but not defined (consider adding lM= l & M;). The equation fpart2 should have an additional (/ magr) term as per the theory.

If possible I would also greatly appreciate help in implementing Formulation GT: https://www.researchgate.net/publication/268581582_A_Ffowcs_Williams_-_Hawkings_Solver_for_Lattice-Boltzmann_Based_Computational_Aeroacoustics

unicfdlab commented 5 years ago

Hi, thank you for the feedback. Can you please post here the of the reference work, which you are talking about?

shivaang92 commented 5 years ago

For the Curle Method (Curle.C file) the reference is Dushant Parkhi's Thesis, provided in libacoustic-master/Openfoam-3.0.0/doc. So the sign error as mentioned is on page 17 when performing the derivation the surface integration term has a negative sign, the error has no impact on results so isn't necessary to fix. But there is an error in the pressure fluct terms computed by the utility. I calculate the terms using Curle equation but by using the force results (Lift and Drag) and the results are different (correct) when compared to the results in acousticData/Curletest-time.dat. I have attached some examples showing this.

Additionally for the Farassat1A.C file, one can compare with the original NASA source https://ntrs.nasa.gov/archive/nasa/casi.ntrs.nasa.gov/20070010579.pdf which has been implemented in Ansys https://www.sharcnet.ca/Software/Ansys/16.2.3/en-us/help/flu_th/flu_th_sec_acoust_fwh.html . LM is initialized as 0 on line 119 in the code but not defined and used directly in the equations. Also from nasa source equation 68 (3rd term) or Ansys code 15.6 (2nd line). There is a (/magr) missing in the utility implementation (line 200, fpart2).

I have yet to work with the Ffowcs William method but would like to validate it with the GT formulation using wind turbine results first. du966deg 0deg 8deg

eacfd commented 5 years ago

1) We have updated the libAcoustics library and fixed some bugs and errors in A1 formulation. Also we implemented Garrick Triangle formulation for OpenFOAM-4.1. Could you test GT formulation in your cases? To use this formulation it necessary to replace "Farassat1AFormulation" to "GTFormulation" and to set speed of the wind tunnel U0 (Ux 0 0). If you use 1A formulation U0 vector must be set to zero.

2) Can you explain the sign error in the Curle method? Which term of the equation 3.14 with negative sign leads to a negative sign in 3.23 equation?

3) What version of the OpenFOAM do you use to calculate pressure fluctuation and forces? We will try to check this.

shivaang92 commented 5 years ago
  1. Yes I shall try it and let you know. Really appreciate this addition.
  2. Equation 3.13 shows that when converting to temporal derivative there is a negative sign (-li/c0). The surface terms have to perform this conversion once, so the result is a negative sign for the whole surface term. As mentioned earlier this does not affect the overall output and is not necessary to change.
  3. I am currently using Openfoam 4.1. So essentially I am using the time history of the force and manually computing the pressure terms (with the equation used in the utility) and performing an FFT analysis. The results as shown are different when I perform an FFT using the acousticData/Curletest-time.dat results. (I guess one difference would be that the forces are at the aerodynamic center and the utility computes the terms at the middle of the object, I don't think it is the sole cause of the discrepency though). Cheers, Shivaang
shivaang92 commented 5 years ago

So I ran a case with the FWH GT formulation and have noticed the same/similar error as with the Curle method as shown in the attached image. If you send me your email I can send you the python script I am using for post processing. du96aoa62

unicfdlab commented 5 years ago

Hi, our email: unicfd at ispras.ru

xevious54 commented 5 years ago

Hello!

Thank you for creating this library, its been a life saver! I've been able to get it to work for the most part using an outdated Openfoam-v4, which has egregious limitations. I would like to know if any revisions to the libraries and codes have been made which can be adapted to later versions of OpenFOAM.

Also, when invoking the functionObject FfowcsWilliamHawking, it requires a "patches" entry for the control surface. Is there an option to just define a faceZone as the control surface instead of a patch? That would greatly increase the functionality of the libraries.

I am immensely grateful for the work done to get this to work, and would encourage you to incorporate these libraries into the mainstream OpenFOAM packaging.