# Not sure how to set up the Laplacian/Poisson Equation

As stated, I am having trouble trying to set up a Laplacian/Poisson Equation. I have boundary conditions with this too, and I've tried using the DirichletCondition function, but I don't know what I'm doing there either. (I have almost zero Mathematica experience, and the Wolfram site's help is just as confusing to me as the program.)

Laplacian[V[x, y], {x, y} == 0;

V[x, 0] == 0;
V[x, 0.05] == 1;
V[0, y] == 0;
V[0.1, y] == 0;]

Plot[{x, -0.25, 0.25}, {y, -0.15, 0.15}] While I am getting that plot to appear, it's not even close to what I need. What I'm needing is the solution to appear within the region 0 ≤ x ≤ 0.1 and 0 ≤ y ≤ 0.05, as stated by the boundary conditions (rectangular). It's supposed to be a distribution type of plot, kind of like elevation contour graphs and similar.

And for now, the PDE I'm solving is equal to 0, so once I get that done, how do I set up the PDE when it's not equal to 0 (Poisson's Equation)? I would think that since Laplacian is a function, I can't use it anymore since the PDE isn't equal to 0 anymore.

Help is greatly appreciated!

## 2 Answers

Something like this?

PDE = D[V[x, y], x, x] + D[V[x, y], y, y];

BCs = {DirichletCondition[V[x, y] == 0, y == 0],
DirichletCondition[V[x, y] == 1, y == 0.05],
DirichletCondition[V[x, y] == 0, x == 0],
DirichletCondition[V[x, y] == 0, x == 0.1]};

ufun = NDSolveValue[{PDE == 0, BCs}, V, {x, 0, 0.1}, {y, 0, 0.05}];

ContourPlot[ufun[x, y], {x, 0, 0.1}, {y, 0, 0.05}] For Poisson equation replace PDE == 0 by PDE == f[x,y], where f[x,y] is an arbitrary function.

• Oh wow, that's exactly what I needed! Also thanks for clearing up the DirichletCondition, the way you did it was much easier than what the Wolfram site had. To make sure I understand the syntax for PDE, i.e does that mean derivative of V with respect to x, and x again (to satisfy a squared partial)? – LtGenSpartan Feb 22 '19 at 4:31
• @LtGenSpartan Yes! – zhk Feb 22 '19 at 4:33
• I actually have another question, is there a way to add legends, axes, etc. to this plot? – LtGenSpartan Feb 22 '19 at 4:37
• @LtGenSpartan Of course you can. Check the documentations on Plot. – zhk Feb 22 '19 at 4:38
• @LtGenSpartan - FrameLabel -> Automatic, PlotLegends -> Automatic – Bob Hanlon Feb 22 '19 at 4:59

DSolve can handle the Laplace equation if analytic is of any interest. It doesn't do well with Poisson though.

pde = D[V[x, y], x, x] + D[V[x, y], y, y] == 0

bc = {V[x, 0] == 0, V[x, 1/20] == 1, V[0, y] == 0, V[1/10, y] == 0}

DSolve[{pde, bc}, V[x, y], {x, y}] // Flatten;


It gives K as the summation variable. n looks nicer.

% /. K -> n

(*{V[x, y] -> Inactive[Sum][(4 Csch[(n π)/2] Sin[(n π)/2]^2 Sin[10 n π x] Sinh[10 n π y])/(n π), {n, 1, ∞}]}*)