Calculate the Rayleigh Integral

31 次查看(过去 30 天)
Currently I am trying to calculate the pressure out of a velocity distribution v (complex numbers) on a plate. A good way to do this should be using the Rayleigh Integral Equation. I have already implemented it and it works just fine for points far away from the plate.
However I am having troubles to evaluate the Rayleigh Integral on the plate because it gets singular. This is because the distance r between the surface and the evaluation point where the pressure shoud be calculated gets zero. As r stands in the denominator I can't evaluate it.
For clarification I have amended a picture with the formula and the discretized version of it I am using. The integration takes place over the whole surface S of the plate. It would be great to hear about an approach to evaluate the formula on the plate surface. Maybe there is even already an implementation of this integral equation. I also have added my existing code.
Thanks in advance for any efforts to tackle the problem.
q=Element-surface * velocity of that element
vorRay=((1i*omega*rhoL*Elsize^2)/(2*pi));
pray=zeros(length(Points),1);
[xx, yy]=meshgrid(x,y);
TermA=-1i*(omega/c);
for o=1:length(Points)
distance= sqrt((Points(1,o)-xx).^2 + (Points(2,o)-yy).^2 + Points(3,o)^2)';
pray(o)=vorRay*sum(sum((v./distance).*exp(TermA*distance)));
end
  3 个评论
BAIJ SINGH
BAIJ SINGH 2020-2-21
Hey 1i is used to define imaginary function in matlab. If we define a variable i then how can matlab identify that its imaginary function or a variable that is why 1i is used to define a imaginary function.
lucile
lucile 2020-10-18
I have the exact same problem, has anyone found a solution ?

请先登录,再进行评论。

采纳的回答

Jeremy Kemmerer
Jeremy Kemmerer 2014-10-1
Hi Matthias,
I found a paper which implements the Rayleigh Integral around a baffled panel here: http://www.sciencedirect.com/science/article/pii/0307904X94902275
The approach mentions that “special techniques need to be used” to compute the pressure on the plate itself (look right before section 5). They give a reference here that might be useful.
Also, have you looked at using numerical quadrature for your integration instead of explicit sums? Some MATLAB functions which may be useful to you are:
“quad2d” (see ‘Singular’ parameter) - http://www.mathworks.com/help/matlab/ref/quad2d.html
  1 个评论
Matthias
Matthias 2014-10-8
Hi Jeremy, thank you very much for the helpfull hint.
I used the quad2d-function to implement the numerical quadrature. This method delivers a result. However for every point the following Warning is issued: Warning: Reached the maximum number of function evaluations (2000). The result passes the global error test. So the straightforward implementation doesn't seem to converge properly. I had a look in the Kirkup paper. They suggest to change the variables into polar coordinates to overcome this issue and refer to the following book: Boundary Element Methods in Engineering. Since I don't have access to this book and since I'm not very familiar with numerical quadrature I didn't persuade it further.
However I found two papers which propose an approximation vor the self-radiation impedance (Zii). The singular integral can be replaced with a mathematical term so that p=Zii v ( 1, 2 ).
Furthermore I found a BEM implementation in Matlab which is also suitable to calculate the surface pressure. ( OpenBEM )

请先登录,再进行评论。

更多回答(0 个)

产品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by