How to solve this nonlinear differential equation numerically?

  • Thread starter wdlang
  • Start date
  • #1
307
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?
 

Answers and Replies

  • #2
336
0
This is similar to the Riccati equation. I hope one of the methods for tackling the Riccati equation is of some use.
 
  • #3
phyzguy
Science Advisor
4,602
1,557
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

  • #4
307
0
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
 
  • #5
307
0
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'
 
  • #6
phyzguy
Science Advisor
4,602
1,557
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).
 
  • #7
116
0
You can simplify things making [tex]y(x)=u(x)/x[/tex]. Then you have:
[tex]u''+(1-2/x^{2})u-u^{3}/x^{2}[/tex]
this equation has two independent solutions as [tex]x\rightarrow \infty[/tex], namely:
[tex]u\rightarrow C_{1}Sin(x)+C_{2}Cos(x)[/tex]
You can integrate the equation backwards. I am not very sure about there being no singularity. If you keep all the terms, except for [tex]u^{3}/x^{2}[/tex], you still obtain a solution:
[tex]u(x)\equiv C_{1}(Sin(x)-Cos(x)/x)+C_{2}(Cos(x)-Sin(x)/x)[/tex]
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 [tex]u^3[/tex] is dominant somehow
 
  • #8
307
0
You can simplify things making [tex]y(x)=u(x)/x[/tex]. Then you have:
[tex]u''+(1-2/x^{2})u-u^{3}/x^{2}[/tex]
this equation has two independent solutions as [tex]x\rightarrow \infty[/tex], namely:
[tex]u\rightarrow C_{1}Sin(x)+C_{2}Cos(x)[/tex]
You can integrate the equation backwards. I am not very sure about there being no singularity. If you keep all the terms, except for [tex]u^{3}/x^{2}[/tex], you still obtain a solution:
[tex]u(x)\equiv C_{1}(Sin(x)-Cos(x)/x)+C_{2}(Cos(x)-Sin(x)/x)[/tex]
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 [tex]u^3[/tex] is dominant somehow
i guess the substitution y=xu may be better?
 
  • #9
116
0
The change I suggest is standard. It removes the first order differentiation, allowing to study the decay and the oscillation separately
 
  • #10
307
0
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
307
0
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.
 

Related Threads on How to solve this nonlinear differential equation numerically?

Replies
7
Views
2K
Replies
22
Views
37K
Replies
1
Views
3K
Replies
13
Views
2K
  • Last Post
Replies
4
Views
3K
Replies
11
Views
19K
Replies
8
Views
997
Top