Always adjust the parameters of complex functions, such as NDSolve, when used for more complex problems. Your problem is not so trivial. My first attempt to deal with this problem is as follows:
dEq = {3000/7*(u''[x] - 1/56*PHI''[x]*Sign[PHI'[x]]) == 0,
1000/7*(w''[x] + PHI'[x]) + F == 0,
125/2744*PHI''[x] - 1000/7*(w'[x] + PHI[x]) == 0
};
bcEq = {3000/7*u'[3/7],
u[0], w[0], w[3/7], PHI'[0], PHI'[3/7]};
bcVal = {-1, 0, 0, 0, 0, 0};
ss2Tuned = First@NDSolve[
{dEq, Thread[bcEq == bcVal]}, {u, w, PHI}, {x, 0, 3/7},
Method -> {"ExplicitRungeKutta",
"DifferenceOrder" -> 5,
"EmbeddedDifferenceOrder" -> 4,
"StiffnessTest" -> False},
AccuracyGoal -> 10,
PrecisionGoal -> 10,
MaxStepFraction -> 1/20
];
(You don't really need to specify RK coefficients as suggested by belisarius, it only makes the problem less readable). This code gives
acceptable solution
(bcEq - bcVal) /. ss2Tuned
(* {2.90656*10^-13, -6.75703*10^-23, 3.30872*10^-24, -7.7412*10^-16, 0., 3.77476*10^-14} *)
using only 31 grid points. Since this problem is very sensible on the used method (check it!) I suggest You to reformulate it as an initial value problem, and use the shooting method to find initial values which will match the boundary values prescribed at the other end of integration interval.
solveIcProblem[a_?NumericQ, b_?NumericQ, c_?NumericQ,
opts : OptionsPattern[]] := Module[{dEq, ic, sol},
dEq = {3000/7*(u''[x] - 1/56*PHI''[x]*Sign[PHI'[x]]) == 0,
1000/7*(w''[x] + PHI'[x]) + F == 0,
125/2744*PHI''[x] - 1000/7*(w'[x] + PHI[x]) == 0
};
ic = {u[0] == 0, u'[0] == a, w[0] == 0, w'[0] == b, PHI[0] == c,
PHI'[0] == 0};
sol = First@NDSolve[{dEq, ic}, {u, w, PHI}, {x, 0, 3/7},
FilterRules[{opts}, Options[NDSolve]]];
{sol, {u'[3/7], w[3/7], PHI'[3/7]} - {-7/3000, 0, 0} /. sol}
];
rightBcDiff[a_?NumericQ, b_?NumericQ, c_?NumericQ,
opts : OptionsPattern[]] :=
Last@solveIcProblem[a, b, c, opts]
FindRoot[
rightBcDiff[a, b, c, Method -> {"ExplicitRungeKutta",
"DifferenceOrder" -> 5,
"EmbeddedDifferenceOrder" -> 4,
"StiffnessTest" -> False},
AccuracyGoal -> Infinity,
PrecisionGoal -> 14,
StartingStepSize -> 10^-3], {{a, -0.0023}, {b, 0.22}, {c, -0.216}},
AccuracyGoal -> Infinity, PrecisionGoal -> 14
]
solveIcProblem[a, b, c] /. % // Last
This method results with
(* {a -> -0.00233333, b -> 0.2205, c -> -0.216} *)
(* {-4.11997*10^-17, -7.77433*10^-13, 1.01738*10^-13} *)
Compared with previous approach
solveIcProblem @@ {u'[0], w'[0], PHI[0]} /. ss2Tuned // Last
(* {2.54158*10^-8, 2.12706*10^-8, -1.5725*10^-9} *)
y'', you need 2 boundary conditions one foryand one for derivativey'. You have 3 second order ODE's there. Hence you need 6 BC's. Also what is confusing me is that you writew[0]==0and alsow[3/7]==0. What about the first derivativew'? did you meanw'[3/7]==0there? – Nasser Oct 28 '12 at 16:07w[0] == 0andw[3/7] == 0would look to me that OP wants to solve a boundary-value problem (whichNDSolve[]has no trouble handling). Still, it looks as he doesn't have all the conditions he needs... – J. M.♦ Oct 29 '12 at 1:54