2 added 3 characters in body edited Jul 9 '18 at 4:39 Alex Trounev 11.1k11 gold badge99 silver badges2626 bronze badges We can not take the eps too small, because there is a stop because of the divergence of the solution. Empirically, I picked up eps = 0.005. Then there is a solution, but it is not like expected - it's a function similar to Bessel's function. eps = 5*10^-3;end = 12; a = 1.9123; b = -28.9815; d = 1; A = 1.6; gamma = 1; chi = 3.5; j[x_, r_] := 2 A^2 r x g0[x_, r_] := a + b/2 + 3 d/4 + A^2 (b + d) (x^2 + r^2) + d A^4 ((x^2 + r^2)^2 + 4 x^2 r^2) g1[x_, r_] := j[x, r] (b + 2 d) + 4 d A^4 r x (r^2 + x^2) U[0][x_] := x/Sqrt[x^2 + 2] q[x_] := U[0][x]^2 FNB2 = Interpolation[ Table[{r, NIntegrate[(q[x]*x* Exp[-A^2 (r^2 + x^2)] (g0[x, r] BesselI[0, j[x, r]] - g1[x, r] BesselI[1, j[x, r]])), {x, 0, Infinity}]}, {r, eps, end, .005}]]; U[1] = NDSolveValue[{u''[r] + u'[r]/r - 2*u[r]u[r]/r^2 + u[r] - chi*(u[r])^(45) - (2 Pi)^(3/2)/A u[r]*FNB2[r] == 0, u'[eps] == 1.1, u[eps] == 0}, u, {r, eps, end}] {Plot[U[1][r], {r, eps, end}, PlotRange -> All], Plot[FNB2[r], {r, eps, end}, PlotRange -> All]}  We can not take the eps too small, because there is a stop because of the divergence of the solution. Empirically, I picked up eps = 0.005. Then there is a solution, but it is not like expected - it's a function similar to Bessel's function. eps = 5*10^-3;end = 12; a = 1.9123; b = -28.9815; d = 1; A = 1.6; gamma = 1; chi = 3.5; j[x_, r_] := 2 A^2 r x g0[x_, r_] := a + b/2 + 3 d/4 + A^2 (b + d) (x^2 + r^2) + d A^4 ((x^2 + r^2)^2 + 4 x^2 r^2) g1[x_, r_] := j[x, r] (b + 2 d) + 4 d A^4 r x (r^2 + x^2) U[0][x_] := x/Sqrt[x^2 + 2] q[x_] := U[0][x]^2 FNB2 = Interpolation[ Table[{r, NIntegrate[(q[x]*x* Exp[-A^2 (r^2 + x^2)] (g0[x, r] BesselI[0, j[x, r]] - g1[x, r] BesselI[1, j[x, r]])), {x, 0, Infinity}]}, {r, eps, end, .005}]]; U[1] = NDSolveValue[{u''[r] + u'[r]/r - 2*u[r]/r^2 + u[r] - chi*(u[r])^(4) - (2 Pi)^(3/2)/A u[r]*FNB2[r] == 0, u'[eps] == 1.1, u[eps] == 0}, u, {r, eps, end}] {Plot[U[1][r], {r, eps, end}, PlotRange -> All], Plot[FNB2[r], {r, eps, end}, PlotRange -> All]}  We can not take the eps too small, because there is a stop because of the divergence of the solution. Empirically, I picked up eps = 0.005. Then there is a solution, but it is not like expected - it's a function similar to Bessel's function. eps = 5*10^-3;end = 12; a = 1.9123; b = -28.9815; d = 1; A = 1.6; gamma = 1; chi = 3.5; j[x_, r_] := 2 A^2 r x g0[x_, r_] := a + b/2 + 3 d/4 + A^2 (b + d) (x^2 + r^2) + d A^4 ((x^2 + r^2)^2 + 4 x^2 r^2) g1[x_, r_] := j[x, r] (b + 2 d) + 4 d A^4 r x (r^2 + x^2) U[0][x_] := x/Sqrt[x^2 + 2] q[x_] := U[0][x]^2 FNB2 = Interpolation[ Table[{r, NIntegrate[(q[x]*x* Exp[-A^2 (r^2 + x^2)] (g0[x, r] BesselI[0, j[x, r]] - g1[x, r] BesselI[1, j[x, r]])), {x, 0, Infinity}]}, {r, eps, end, .005}]]; U[1] = NDSolveValue[{u''[r] + u'[r]/r - u[r]/r^2 + u[r] - chi*(u[r])^(5) - (2 Pi)^(3/2)/A u[r]*FNB2[r] == 0, u'[eps] == 1.1, u[eps] == 0}, u, {r, eps, end}] {Plot[U[1][r], {r, eps, end}, PlotRange -> All], Plot[FNB2[r], {r, eps, end}, PlotRange -> All]}  1 answered Jul 8 '18 at 14:43 Alex Trounev 11.1k11 gold badge99 silver badges2626 bronze badges We can not take the eps too small, because there is a stop because of the divergence of the solution. Empirically, I picked up eps = 0.005. Then there is a solution, but it is not like expected - it's a function similar to Bessel's function. eps = 5*10^-3;end = 12; a = 1.9123; b = -28.9815; d = 1; A = 1.6; gamma = 1; chi = 3.5; j[x_, r_] := 2 A^2 r x g0[x_, r_] := a + b/2 + 3 d/4 + A^2 (b + d) (x^2 + r^2) + d A^4 ((x^2 + r^2)^2 + 4 x^2 r^2) g1[x_, r_] := j[x, r] (b + 2 d) + 4 d A^4 r x (r^2 + x^2) U[0][x_] := x/Sqrt[x^2 + 2] q[x_] := U[0][x]^2 FNB2 = Interpolation[ Table[{r, NIntegrate[(q[x]*x* Exp[-A^2 (r^2 + x^2)] (g0[x, r] BesselI[0, j[x, r]] - g1[x, r] BesselI[1, j[x, r]])), {x, 0, Infinity}]}, {r, eps, end, .005}]]; U[1] = NDSolveValue[{u''[r] + u'[r]/r - 2*u[r]/r^2 + u[r] - chi*(u[r])^(4) - (2 Pi)^(3/2)/A u[r]*FNB2[r] == 0, u'[eps] == 1.1, u[eps] == 0}, u, {r, eps, end}] {Plot[U[1][r], {r, eps, end}, PlotRange -> All], Plot[FNB2[r], {r, eps, end}, PlotRange -> All]}