How to make NDSolve solve this apparently easy DE system?

Hello,

I have been trying to solve a BVP for a system of two apparently easy DEs, by using the code:

k=7; (OK)
(k=8; fails )
g=1;
d=1;
sol=NDSolve[{u’‘[x]-ku[x]/(g+u[x])==0,v’‘[x]+ku[x]/(g+u[x])/d==0,u’[0]==0,u[1]==1,v[0]==0,v[1]==0},{u,v},{x,0,1},WorkingPrecision->80,PrecisionGoal->20,MaxSteps->∞];
ufun[x_]:=Evaluate[u[x]/.sol];
vfun[x_]:=Evaluate[v[x]/.sol];
Plot[{ufun[x],vfun[x]},{x,0,1}]

I need to solve the system for large k values, reaching, say 10^4 or higher, with a precision of at least 20 digits. Unfortunately, this code works for 0<=k<=7, but fails to produce results for k>=8. Looking at the solutions obtained for k=7, they don’t seem particularly challenging, except for the fact that v[0]=v[1]=0, so that the precision requested cannot be obviously achieved at x=0 or 1. But error message suggests some convergence problem in FindRoot. My question is: what would be the best choice of the method, and parameters, to achieve my goals, and why the current choice does not work?

Lesław

I have no problems with this:
k = 8; g = 1; d = 1;
{ufun, vfun} =
NDSolveValue[{u’‘ - k u/(g + u) == 0,
v’‘ + k u/(g + u)/d == 0,
u’[0] == 0, u[1] == 1, v[0] == 0, v[1] == 0},
{u, v}, {x, 0, 1}];
Plot[{ufun, vfun}, {x, 0, 1}]

Yes, but how to make it effective to provide 20 accurate digits that I need?

Leslaw