필터 지우기
필터 지우기

Calculate the Rayleigh Integral

조회 수: 27 (최근 30일)
Matthias
Matthias 2014년 9월 30일
댓글: lucile 2020년 10월 18일
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