Re: NDSolve::ndsz question
- To: mathgroup at smc.vnet.net
- Subject: [mg63674] Re: NDSolve::ndsz question
- From: BGHEkaya at gmail.com
- Date: Mon, 9 Jan 2006 04:49:27 -0500 (EST)
- References: <dpnqoa$6rh$1@smc.vnet.net>
- Sender: owner-wri-mathgroup at wolfram.com
Flip, The easiest way to extend the integration using NDSolve is to
work with exact arithmetic. Thus you can readily solve for x=400 with
high accuracy
κ = 400000000;
β = 23/10000;
ϵ = 24/1000;
sol = NDSolve[{y'[x] == -κ
x^(-1/2)\[ExponentialE]^(-ϵ x)(
y[x]^2 - (β x^2BesselK[2, x])^2), y[1/10] ==
β BesselK[2, 1/10]/(1/10)},
y, {x, 1/10, 2000}, WorkingPrecision -> 30, MaxSteps ->
Infinity]
For large x the solution to the ODE is
y[x]~-(Sqrt[ϵ]/(Sqrt[ϵ]*C[1] + Sqrt[Pi]*κ*
Erf[Sqrt[x]*Sqrt[ϵ]]))
and thus as x->Infinity, y[x] tends to a constant value given by
-(Sqrt[ϵ]/(Sqrt[ϵ]*C[1] + Sqrt[Pi]*κ))
We can use the numerical value of y[400] to evaluate the constant of
integration C[1]
I found this value to be
5.824503762*^-10
By increasing the accuracy of NDSolve you can improve on this value.
Hope this helps,
Cheers,
Brian