Re: Poisson equation with boundary conditions on rectangle
- To: mathgroup at smc.vnet.net
- Subject: [mg87318] Re: Poisson equation with boundary conditions on rectangle
- From: Michael Debono <mdebono88 at gmail.com>
- Date: Mon, 7 Apr 2008 05:19:18 -0400 (EDT)
- References: <frvma1$i4d$1@smc.vnet.net>
On Mar 21, 7:58 am, Benjamin Hell <hell... at gmx.de> wrote: > Hi, > I'm currently trying to solve the following pde with rectangle boundary (I better already use mathematica code here): > > The equation (Poisson equation): > D[u[y, z], y, y] + D[u[y, z], z, z] + 1 == 0 > > The boundary conditions on the rectangle(y in [0,0.1] and z in [-0.4,0.4]): > u[y, 0.4] == 0, u[y, -0.4] == 0, u[0, z] == 0, > Derivative[1, 0][u][0.1, z] == 0 > > I tried the following in mathematica: > eqn = D[u[y, z], y, y] + D[u[y, z], z, z] + 1 == 0; //defining equation > NDSolve[{eqn, u[y, 0.4] == 0, u[y, -0.4] == 0, u[0, z] == 0, Derivative[1, 0][u][0.1, z] == 0 }, u, {y, 0, 0.1}, {z, -0.4, 0.4}] //using NDSolve to solve the boundary problem > > But, as you might guess, I get an error using NDSolve the way above: "NDSolve::ivone: Boundary values may only be specified for one independent variable. Initial values may only be specified at one value of the other independent variable." > When I lookup the description of that error I realize that in my example the following error condition matches: "This input generates a message because the equations specify values for the solution on all sides of the solution region." > Does this mean, that mathematica can't approximate the solution to my problem with NDSolve or am I doing something wrong? > So overall question is: How can I solve my problem using mathematica without writing my own numerical pde solver for my problem? > > Thanks in advance! I too have a problem like yours...I found this link which may help you: http://documents.wolfram.com/mathematica/Built-inFunctions/AdvancedDocumentation/LinearAlgebra/LinearAlgebraInMathematica/Examples/AdvancedDocumentationLinearAlgebra6.3.html It uses a finite difference method..even tough I don't really know how it works lol!