I just would like to create the table with the following condition; selecting the points outside a circle
Norm[{x, y}] > 0.5
I used
dataee =
Flatten[
Table[
{x, y, Phi[x, y] && Norm[{x, y}] > 0.51},
{x, 0.01, 1.3, 0.05}, {y, 0.01, 1.3, 0.05}],
1];
but ListContourPlot
still shows the contours inside that circle (the excluded region) which makes the plot useless.
What is the proper way to include this condition while iterating over the loops?
In case one needs the function:
zc = -1.8;
zp = 0.9;
qe = 1.0;
a = 0.22;
σ = 0.5;
κ = 5.0/σ;
ϵ = 80.0;
Phi[x_, y_] :=
(qe^2/ϵ) (Exp[-κ Norm[{x, y}]]/Norm[{x, y}]) (Exp[κ σ]/((1 + κ σ)))^2
((zc^2 + 2 zc zp
(Sum[(a/σ)^i (2 i + 1) LegendreP[i, Cos[ArcTan[y, x]]] Boole[i/2 ∈ Integers], {i, 1, 200}])) +
(zc zp +
2 zp^2 (Sum[(a/σ)^i (2 i + 1) LegendreP[i, Cos[ArcTan[y + a, x]]] Boole[i/2 ∈ Integers], {i, 1, 200}]))
(Exp[-κ Norm[{x, y}] ((Norm[{x, y + a}]/Norm[{x, y}])) - 1] /
(Norm[{x, y + a}]/Norm[{x, y}])) +
(zc zp +
2 zp^2
(Sum[(a/σ)^i (2 i + 1) LegendreP[i, Cos[ArcTan[y - a, x]]] Boole[i/2 ∈ Integers], {i, 1, 200}]))
(Exp[-κ Norm[{x, y}] ((Norm[{x, y - a}]/Norm[{x, y}])) - 1] /
(Norm[{x, y - a}]/Norm[{x, y}])));
Edit:
I can do something similar to the below lines which excludes the points inside the above mentioned circle, but I cannot plot the data. I do not know what is the problem, Flatten does not work and the ListContourPlot output is a blank plot. Here is the method; same function and parameters, instead the output is written into a file.
For[x = 0.01 , x <= 1.3, x += 0.1,
For[y = 0.01 , y <= 1.3, y += 0.1,
If[Norm[{x, y}] > 0.5, { x, y, Phi[x, y]} >>> "EE.dat"]; ]]
{x, y, False}
which I would remove before plotting. TryListContourPlot[DeleteCases[dataee, {_, _, False}], InterpolationOrder -> 0, Epilog -> {Red, Thin, Circle[{0, 0}, 0.5]}]
as a start. $\endgroup$