Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)
- To: mathgroup at smc.vnet.net
- Subject: [mg59654] Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)
- From: "James Gilmore" <james.gilmore at yale.edu>
- Date: Tue, 16 Aug 2005 04:39:36 -0400 (EDT)
- Organization: Yale University
- References: <ddpt58$orc$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Hi, This issue is dealt with in the help browser _explicitly_: NDSolve->Further Examples->P.D.Es: Limitations This is a classic mathematical physics BVP. You should approach this problem in Mathematica, as you would by hand: use separation of variables, and then a fourier expansion to satisfy the boundary conditions. There are many books that explain how to do this. I look forward to tackling a similar problem by hand when I sit my electrodynamics qualifying exam in 3 weeks. James Gilmore Graduate Student Department of Physics Yale University New Haven, CT 06520 USA Email: james.gilmore at yale.edu URL: <http://pantheon.yale.edu/~jbg39/> "Nasser Abbasi" <nma at 12000.org> wrote in message news:ddpt58$orc$1 at smc.vnet.net... > > hi; > > just for fun, I am trying to solve a steady state heat equation i.e. > laplace equation, for a rectangular plate. > > So, I have 4 boundary conditions, one for each side of the plate. > > But when I do that, NDSolve says that it is designed to solve initial > conditions problems only? is this really the case? May be I am not > defining the B.C. correctly for Mathematica? > > The code is below, also I've posted it on my web page with the full > error message. > > http://12000.org/my_notes/mma_matlab_control/e61/HTML/e61.htm > > I find the error strange, saying that NDSolve can only solve IC PDE, > because I solved 1-D heat equation using IC and BC earlier with no > problem, see this > > http://12000.org/my_notes/mma_matlab_control/e57/HTML/e57.htm > > So, I have a feeling that NDSolve can do this, I must be just doing > something not right. > > > Remove["Global`*"]; > h = 30; w = 10; temp = 100; > eq = D[T[x, y], x, x] + D[T[x, y], y, y] == 0; > bc = {T[0, y] == 0, T[w, y] == 0, T[x, 0] == temp,T[x, h] == 0}; > sol = NDSolve[{eq, bc}, T[x, y], {x, 0, w}, {y, 0, h}] > > > "Boundary values may only be specified for one independent > variable. Initial values may only be specified at one value of the > other independent variable." > > Nasser > > > > > > >