How to solve this nonlinear differential equation numerically?

wdlang
Messages
306
Reaction score
0
-f''-(2/x)f'+(2/x^2)f+f^3-f=0

the boundary condition is f(x=0)=0 and f(x=\infty)=1

how to solve f numerically?
 
Physics news on Phys.org
This is similar to the Riccati equation. I hope one of the methods for tackling the Riccati equation is of some use.
 
Since you have two boundary conditions at two different points, this is usually solved by the shooting method, where you assume a value of f'(0), and then integrate out to see if it satisfies the boundary condition at infinity, then adjust your assumption to match the desired boundary condition. However, I tried this briefly using Mathematica's NDSolve function:

NDSolve[{-D[D[f[x], x], x] - 2/x D[f[x], x] + 2/x^2 f[x] + f[x]^3 -
f[x] == 0, f[.00001] == 0,
f'[.00001] == 1.0}, f[x], {x, .00001, 20}]

and I got oscillatory solutions that tended to zero as x->inf (see attachment). Perhaps there is a particluar value of f' at zero that will give the solution you want?
 

Attachments

phyzguy said:
Since you have two boundary conditions at two different points, this is usually solved by the shooting method, where you assume a value of f'(0), and then integrate out to see if it satisfies the boundary condition at infinity, then adjust your assumption to match the desired boundary condition. However, I tried this briefly using Mathematica's NDSolve function:

NDSolve[{-D[D[f[x], x], x] - 2/x D[f[x], x] + 2/x^2 f[x] + f[x]^3 -
f[x] == 0, f[.00001] == 0,
f'[.00001] == 1.0}, f[x], {x, .00001, 20}]

and I got oscillatory solutions that tended to zero as x->inf (see attachment). Perhaps there is a particluar value of f' at zero that will give the solution you want?

thanks a lot

but i am always concerned with the singularity at the origin

the coefficients diverge there

so i do not know how to deal with it
 
the derivative f' at the origin has to be scanned

but i am concerned with how to integrate the eq accurately for a given f'
 
wdlang said:
thanks a lot

but i am always concerned with the singularity at the origin

the coefficients diverge there

so i do not know how to deal with it

There is no singularity at the origin. Assume as x->0 that f looks like f = K x. Then f->0, f^3 ->0, f''->0, and f'->K, and the equation reduces to: -2K/x+2K/x=0. So everything is well behaved. In essence, the two "singular" terms cancel. You can then start your integration at some small distance away from the origin (I chose x=1E-5, but it won't really matter as long as you start where the other terms are negligible).
 
You can simplify things making y(x)=u(x)/x. Then you have:
u''+(1-2/x^{2})u-u^{3}/x^{2}
this equation has two independent solutions as x\rightarrow \infty, namely:
u\rightarrow C_{1}Sin(x)+C_{2}Cos(x)
You can integrate the equation backwards. I am not very sure about there being no singularity. If you keep all the terms, except for u^{3}/x^{2}, you still obtain a solution:
u(x)\equiv C_{1}(Sin(x)-Cos(x)/x)+C_{2}(Cos(x)-Sin(x)/x)
which should be valid before the neglected term is noticeable. I see no way for any solution being bounded at x=0, unless the term with u^3 is dominant somehow
 
gato_ said:
You can simplify things making y(x)=u(x)/x. Then you have:
u''+(1-2/x^{2})u-u^{3}/x^{2}
this equation has two independent solutions as x\rightarrow \infty, namely:
u\rightarrow C_{1}Sin(x)+C_{2}Cos(x)
You can integrate the equation backwards. I am not very sure about there being no singularity. If you keep all the terms, except for u^{3}/x^{2}, you still obtain a solution:
u(x)\equiv C_{1}(Sin(x)-Cos(x)/x)+C_{2}(Cos(x)-Sin(x)/x)
which should be valid before the neglected term is noticeable. I see no way for any solution being bounded at x=0, unless the term with u^3 is dominant somehow

i guess the substitution y=xu may be better?
 
The change I suggest is standard. It removes the first order differentiation, allowing to study the decay and the oscillation separately
 
  • #10
gato_ said:
The change I suggest is standard. It removes the first order differentiation, allowing to study the decay and the oscillation separately

thanks a lot.

any reference?
 
  • #11
gato_ said:
The change I suggest is standard. It removes the first order differentiation, allowing to study the decay and the oscillation separately

how about guess a taylor expansion of f around x=0

and integrate outside from x_0<<1?

the boundary condition at x=0 indicates that

f(x)=ax + b x^2 + c x^3+ d x^4+...

we can determine the relations between a, b, c, d by the differential equation.
 

Similar threads

Replies
3
Views
2K
Replies
1
Views
2K
Replies
3
Views
3K
Replies
11
Views
3K
Replies
5
Views
3K
Replies
1
Views
3K
Back
Top