Discussion Closed This discussion was created more than 6 months ago and has been closed. To start a new discussion with a link back to this one, click here.

Strongly singular integral

Please login with a confirmed email address before reporting spam

Hi everybody,

I have a problem with a singularity in my equation.

I try to solve the integral (from physic book) : int (for x = 1 to x = 3) [ Ko (x-2) *( x +1)] dx

-This 1D-integral is performed for x = 2 to x = 3;
-Ko (x) is the 0-modified Bessel's function of second kind.

The difficulty is that Ko(x - 2) is divergent for x = 2. Thus the book explains that we have to perform this integral by removing the point x = 2 (it's like an integral defined using Cauchy principal value for strongly singular integral).

How perform my integral whose the kernel diverges in x = 2 ?

*******************************************************************************************
In my side, I use (I made) the function "nonzero" : Function Name : nonzero
Argument : x
Expression : ((x)+((x)==0))

I mean, I performed the integral : int (for x = 1 to x = 3) [ Ko (nonzero(x-2)) *( x +1)] dx using the application Weak Form Boundary.
*********************************************************************************************

What do you thing of this method ? Have you other idea to perform this integral removing x = 2 ?
More generally, can COMSOL performed Cauchy principal value for strongly singular integral ?

The COMSOL's books do not mention this type of problems (integrals with kernel strongly singular).

Thank you for your help.

Antony Sullivan

2 Replies Last Post 6 oct. 2010, 05:31 UTC−4
Ivar KJELBERG COMSOL Multiphysics(r) fan, retired, former "Senior Expert" at CSEM SA (CH)

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 6 oct. 2010, 02:31 UTC−4
Hi

you could try to replace "0" by "eps" (2.22E-16 on my PC, it's the smallest representative number in the binary system we have on our FPU i.e. instead of dividing by "0" you use a if(T==0,eps,T) or simething along that order.

It could work, with the risk of generating a NAN

--
Good luck
Ivar
Hi you could try to replace "0" by "eps" (2.22E-16 on my PC, it's the smallest representative number in the binary system we have on our FPU i.e. instead of dividing by "0" you use a if(T==0,eps,T) or simething along that order. It could work, with the risk of generating a NAN -- Good luck Ivar

Please login with a confirmed email address before reporting spam

Posted: 1 decade ago 6 oct. 2010, 05:31 UTC−4
Hi Ivar,

Thank you for your answer.

In fact, I would like to perform this integral (noted I) for x = 1 to x = 3, with I = 0 en x = 2 (in other words, I impose that I = 0 at the singularity x = 2 to avoid the divergence). Unfortunately, there is no predefined function in comsol that allows me to calculate this integral well defined...I don't see a general method to solve it.

Ivar, have you a "trick" to impose I = 0 at x = 2 and perform the rest of the integral ?

Thank you for your patience.

Antony Sullivan
Hi Ivar, Thank you for your answer. In fact, I would like to perform this integral (noted I) for x = 1 to x = 3, with I = 0 en x = 2 (in other words, I impose that I = 0 at the singularity x = 2 to avoid the divergence). Unfortunately, there is no predefined function in comsol that allows me to calculate this integral well defined...I don't see a general method to solve it. Ivar, have you a "trick" to impose I = 0 at x = 2 and perform the rest of the integral ? Thank you for your patience. Antony Sullivan

Note that while COMSOL employees may participate in the discussion forum, COMSOL® software users who are on-subscription should submit their questions via the Support Center for a more comprehensive response from the Technical Support team.