#**Plot the electric field inside of a charged semi cirle.**

##**Method:**

*First I built up the geometry with a set of point charges.*

*Then I define points within the semi-circle.* 

**Electric field at a single point in 2D space:** 

I calculate the electric field vectors produced by each individual point charges along the semi circle.

I then sum up the vectors to receive my electric field vector for that specific point in space.
(see formula further down)

In the end, I do this calculation for many different points in 2D space and will therefore receive an approximation of the total electric field.

**Plot of the electric field**.

That's where It beginns to be diffiult... 
I would like to use `ListVectorPlot`, but I do not get the desired result.
I define a list: 

 dataVectorPlot = {{x,y}, {totalElectricFieldComponent[x], toatalElectricFieldComponent[y]}}

Where {x,y}: Point location in 2D Space and {totalElectricFieldComponent[x], toatalElectricFieldComponent[y]}: Electric field vector at point {x,y}.

I would like to have the electric field vectors corresponding to the chosen points in space to start at those points. **But the result is not like an electric field of a charged semi-circle.**

*So here is the code:*

Definition of constants:

 ϵ = 8.8541878176*10^−12;
 q = 5;
 n = 20; (* Number of point charges *)
 aStep = Pi/(2*n); (* Angle Step Every n angle there is a point charge *)
 R = 1; (* Radius of half circle *)

Definition of the geometry:

 rX = Table[R*Sin[Pi/2 - a], {a, -Pi/2, Pi/2, aStep}];
 rY = Table[R*(1 + Cos[Pi/2 - a]), {a, -Pi/2, Pi/2, aStep}];
 r = Transpose[{rX, rY}];
 geometry = ListPlot[r, AspectRatio -> Automatic, PlotRange -> {{0, R}, {0, 2*R}}]

Calculation of the electric field at every point {x,y} in 2D space:

[![enter image description here][1]][1]

$r_i$ is the vector of the point charge; $r$ is the vector to the point in 2D (or also 3D) space where we want to calculate the electric field.

 Clear[x, y, i] (*local variables*)
 np = 5; (*Number of points to evaluate the electric field*)
 eX[x_] := 1/(4*Pi*ϵ)*q*Table[(x - rX[[m]])/(Norm[x - rX[[m]] ])^3, {m, 1, n}];
 eY[y_] := 1/(4*Pi*ϵ)*q*Table[(y - rY[[m]])/(Norm[y - rY[[m]] ])^3, {m, 1, n}];

The x- and y component of the electric fields produced by each point charge q at (rX,rY), at point (x,y)in 2D space, are put into a list.

 totalElectricFieldComponentX[x_] := N[Sum[Part[eX[x], i], {i, 1, n}]]; 
 totalElectricFieldComponentY[y_] := N[Sum[Part[eY[y], i], {i, 1, n}]]; 

Sum of the Electric fields produced by each point charge at point
point (x,y).

 pointsX = {0.01, 0.2, 0.5, 0.7, 0.8};
 pointsY = {0.01, 0.5, 1, 1.5, 1.7};

Points where the electric field should be evealuated; Chosen by hand for now.

 dataVectorPlot = Table[{{pointsX[[i]], pointsY[[i]]}, {totalElectricFieldComponentX[i], totalElectricFieldComponentY[i]}}, {i, 1, np}];

Finally, this generates the plot and highlights the problem:

 Show[geometry, ListVectorPlot[dataVectorPlot]]


[![enter image description here][2]][2]


 [1]: https://i.sstatic.net/ln3Vb.png
 [2]: https://i.sstatic.net/fl9Lf.jpg