MathGroup Archive 2005

[Date Index] [Thread Index] [Author Index]

Search the Archive

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: [mg59711] 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: Thu, 18 Aug 2005 00:16:55 -0400 (EDT)
  • Organization: Yale University
  • References: <ddpt58$orc$1@smc.vnet.net> <dds9co$91c$1@smc.vnet.net> <dduroq$oih$1@smc.vnet.net>
  • Sender: owner-wri-mathgroup at wolfram.com

Hi Nasser,

Thank you for your follow up, I will take a look at the books you suggested 
when I have time. Apologies if you thought I suggested that you didn't know 
how to solve Laplace like problems via hand. That was not intended.

There is a package on Math source that can be used to solve the Laplace 
equation at least. I have it working on my machine (Mathematica 5.0.0.0 Win XP).

<http://library.wolfram.com/infocenter/MathSource/684>

The package needs development, but is a useful tool. I have solved the 
Laplace equation with rectangular BC with this package. But beware, it has 
trouble with corners (but I believe that can be fixed) and small numerical 
errors can occur close to the boundaries.

-- 
James Gilmore

Graduate Student
Department of Physics
Yale University
New Haven, CT 06520 USA

"Nasser Abbasi" <nma at 12000.org> wrote in message 
news:dduroq$oih$1 at smc.vnet.net...
> "James Gilmore" <james.gilmore at yale.edu> wrote in message
> news:dds9co$91c$1 at smc.vnet.net...
>
>> 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.
>
> Not if you want to use a numerical solvers such as NDSolve. That is
> the whole idea of using NDSolve.
>
> I know how to solve these by hand, and also by direct numerical
> approach, I've solved my of these before and more advanced ones when I
> took some courses at the Math dept at UC Berkeley one year ago, I was
> just playing around to see if NDSolve can solve BVP and get the same
> plots I got when I solved this problem by hand using sepration of
> variables.
>
>> There are many books
>> that explain how to do this.
>
> Yes, and my home library contains many fine books on PDE's. I like the
> Satnley Farlow book, and Mary Boas has excellent chapter on the
> subject, but a bit short on detailes. Also Richard Haberman applied
> PDE's is nice, and if you want to see a nice new book with the cover
> showing solutions of PDE's plots which I am sure was made using
> Mathematica check Charles MacCluer's BVP and fourier expansions Dover
> book, but it does not contain any Mathematica code. Another book which
> uses a CAS system to solve PDE's is by David Betounes called PDE's for
> computational science, lots of examples and plots.
>
> Is there a short list somewhere which makes it clear what kind/class
> of PDE's Mathematica can solve and not solve directly using NDSolve or
> even DSolve? And why is it that NDSolve can solve an initial value PDE
> and not BVP? I wonder if NDSolve will be able to solve a BVP PDE in
> next version?
>
>
>>
>> "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
>>>
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>
> 



  • Prev by Date: Re: Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)
  • Next by Date: Re: Problem behavior with FindMaximum
  • Previous by thread: Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)
  • Next by thread: Re: How to specify boundary conditions on all 4 sides of a plate for a steady state heat equation (PDE) using NDSolve? (Laplace equation)