Skip to main content
3 of 4
added 437 characters in body
diana
  • 65
  • 6

ContourPlot, problem with mesh

I have to plot this trigonometric function:

    v1[y1_, y2_] := 7.6 NIntegrate[-(1/Sqrt[(x1 - y1)^2 + (-y2)^2]) 2/(4 Pi^2)
                  (0.71 Cos[a + ArcTan[y2/(y1 - x1)]]^2 Sin[a + ArcTan[y2/(y1 - x1)]] - 
                   0.5 Sin[a + ArcTan[y2/(y1 - x1)]]^3)/(Sin[a + ArcTan[y2/( y1 - x1)]]^4 
                  (Cot[a + ArcTan[y2/(y1 - x1)]]^2 - 0.26 + 0.51 I) 
                  (Cot[a + ArcTan[y2/(y1 - x1)]]^2 - 0.26 -0.51 I)) 1/Cos[a],
                  {a, 0, Pi}, {x1, 1 , 2}, MaxRecursion -> 4]

if I do a ContourPlotof the real part of the function like

ContourPlot[Re[v1[y1,y2]],{y1,0,5},{y2,0,5}]

I obtain something like this with some white voids

enter image description here

So, after reading How to plot the contour of f[x,y]==0 if always f[x,y]>=0 I increased the MaxRecursion and PlotPoint (here only two of of those made), but the problem remain.

 ContourPlot[Re[v1[y1,y2]],{y1,0,5},{y2,0,5},MaxRecursion->1,PlotPoint->100]

enter image description here

ContourPlot[Re[v1[y1,y2]],{y1,0,5},{y2,0,5},MaxRecursion->2,PlotPoint->20,Mesh->All]

enter image description here

Here I can see is a problem of the mesh. I tried many combination of MaxRecursion and PlotPoints, but I can't find a solution.I only have to increase more? Because I tried a MR->2, PP->100 but after 2 days Mathematica didn't give me a result. So I ask you if there is a method to parallelize it?

EDIT: Sorry I didn't talk about the regularization of my function! I took the integrand argoument without 1/Cos[a]

g[b_]= (0.71 Cos[b]^2 Sin[b] -  0.5 Sin[b]^3)/(Sin[b]^4(Cot[b]^2 - 0.26 + 0.51 I)(Cot[b]^2 - 0.26 -0.51 I))

and I regularized it with

(g[a+ ArcTan[y2/(y1 - x1)]] - g[ArcTan[y2/(y1 - x1)] + Pi/2] -
g'[ArcTan[y2/(y1 - x1)] + Pi/2] (a - Pi/2)) (1/Cos[a])

So in a=Pithe function doesn't diverge

diana
  • 65
  • 6