I am trying to get an analytical solution to the 2D Laplace equation with Dirichlet boundary conditions on the left and right sides of the domain and Neumann boundary conditions on the top and bottom. I know there is an analytical solution and I know what it is, but I would like to see if DSolve will return it. Below is the code I have written where DSolve is returning the input without evaluating anything.
ClearAll["Global`*"]
x1 = 0;
y1 = 0;
x2 = 10*10^-6;
y2 = 0.01;
phi1 = -5;
phi2 = 0;
bc = {DirichletCondition[phi[x, y] == phi1, (x == x1 && y1 < y < y2)],
DirichletCondition[phi[x, y] == phi2, (x == x2 && y1 < y < y2)]};
diffeq = Laplacian[phi[x, y], {x, y}] ==
0 + NeumannValue[0, y == y1 || y == y2];
sol[x_, y_] =
DSolve[{diffeq, bc}, phi[x, y], {x, x1, x2}, {y, y1, y2}]
I know the analytical solution is a Fourier series. Is there something wrong with my syntax and DSolve does not realize there is something to be evaluated? Or is DSolve not capable of solving this type of problem?