MathGroup Archive 2012

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

Search the Archive

Re: NDSolve

  • To: mathgroup at smc.vnet.net
  • Subject: [mg125259] Re: NDSolve
  • From: Cos Lol <giaexams at gmail.com>
  • Date: Fri, 2 Mar 2012 07:51:30 -0500 (EST)
  • Delivered-to: l-mathgroup@mail-archive0.wolfram.com
  • References: <jinjgp$d0k$1@smc.vnet.net>

On 1 =CC=E1=F1, 12:37, rf248 <rf... at st-andrews.ac.uk> wrote:
> Hello,
> I am trying to solve an initial value problem with NDSolve. However, the initial values are set on a regular singular point. When solving Bessel's differential equation, one can avoid this problem with the option SolveDelayed ->True.
> This however does not help with the following problem (hydrogen atom) to which the analytic solution is a Laguerre polynomial.
>
> l = 0; n = 1; a = 1; eps = -1/(2 n^2);
> func = r D[r R[r], {r, 2}] + (2 (a r + eps r^2) - l (l + 1)) R[r] == 0;
> nrad = NDSolve[{func, R[0] == 2, R'[0] == -2}, R[r], {r, 0, 100},
>   SolveDelayed -> True]
>
> Above, the initial values chosen correspond to an exact solution for constants l, n, a and eps. Mathematica must therefor be able to find a solution.
>
> Thanks!

it's a mathematical problem
the func becomes r*(...) so if you drop the r assuming r is not equal
to 0, mathematica then solves the DE

otherwise if you want the formula to stand for any values-expressions,
use isntead of 0 a number e=$MachineEpsilon i.e.
l = 0; n = 1; a = 1; eps = -1/(2 n^2); e=$MachineEpsilon;
func = r D[r R[r], {r, 2}] + (2 (a r + eps r^2) - l (l + 1)) R[r] =
0;
nrad = NDSolve[{func, R[e] == 2, R'[e] == -2}, R[r], {r, e, 100},
  SolveDelayed -> True]



  • Prev by Date: Re: Problems getting DLL Functioncalls to work properly
  • Next by Date: Re: nested sums
  • Previous by thread: NDSolve
  • Next by thread: Re: Mathematica 4.1 and Windows 7 compatibility