Hi Stephane,

        It's a problem of accurate initial guess.  I got a good initial guess 
by doing a homotopy down from phi=1000.    The solution should be

                
IFun{Float64,Interval{Float64}}([17.0558,-9.62248e-7,2.40562e-7,-5.76944e-14,4.82252e-15],Interval{Float64}(3.514457e-7,7.60773e-7))


If you replace your initial guess with the this solution it should work, also 
as you perturb your parameters.

(These subtleties are why I'm hesitant to build in a nonlinear solver.)

Hope that helps!

Sheehan




On 10 Jul 2014, at 8:21 pm, 'Stéphane Laurent' via julia-users 
<julia-users@googlegroups.com> wrote:

> Hello Sheehan,
> 
>  I get a failure with the following example, do you have an idea about the 
> why ?:
> 
> # solves u" = phi²*sinh(u)-2u'/(x+gamma) ,  u'(a)=-xi,  u'(R)=0
> a= 3.514457e-07
> R= 7.60773e-07
> x=Fun(identity, Interval(a,R))
> d=x.domain
> B=neumann(d)
> D=diff(d)
> # Solves Lu + g(u) == 0
> phi=1.341211
> gamma=0.8585931
> L = D^2 + 2/(x.+gamma)*D
> g = u -> -phi^2*(exp(u)-exp(-u))/2; gp = u -> -phi^2*(exp(u)+exp(-u))/2
> 
> u=0.x   #initial guess  
> xi=9.403218
> for k=1:5
>         u=u-[B,L+gp(u)]\[diff(u)[a]+xi,diff(u)[R],L*u+g(u)];
> end
> 
> 
> julia> u
> IFun{Float64,Interval{Float64}}([NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN  …  
> NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN,NaN],Interval{Float64}(3.514457e-7,7.60773e-7))
> 
> 
> 

Reply via email to