I'm trying to solve this system of non-linear ODE's $$\left\{y'(s) \left(x''(s) y'(s)-x'(s) y''(s)\right)=0,\mu x'(s) \left(x'(s) y''(s)-x''(s) y'(s)\right)=g \lambda \left(x'(s)^2+y'(s)^2\right)^{3/2}\right\}$$ where for instance $g=\mu=\lambda=1$

The code with set boundary conditions is

NDSolveValue[{-2 Derivative[1][y][s] (x^\[Prime]\[Prime])[
       s] + Derivative[1][x][s] (y^\[Prime]\[Prime])[s] == 
    0, (-2 Derivative[1][x][s] Derivative[1][y][s] (
        x^\[Prime]\[Prime])[s] + 
      2 Derivative[1][x][s]^2 (y^\[Prime]\[Prime])[s] + 
      Derivative[1][y][s] (y^\[Prime]\[Prime])[s]) == 
    2 (Derivative[1][x][s]^2 + Derivative[1][y][s])^(3/2), 
   DirichletCondition[x[s] == s/2, True], 
   DirichletCondition[x[s] == 1, True]}, {x[s], y[s]}, {s, 0, 1}]

I get a NDSolveValue::femnlmdor error: enter image description here

I don't really understand where this error is coming from, what's wrong with my system begin second order so long as it has sufficient boundary conditions. Any insight would be appreciated.

  • $\begingroup$ could you explain better what the BC are? You have 1D problem. What are the dependent variables values are boundaries? $\endgroup$ – Nasser Apr 13 at 4:49
  • $\begingroup$ There is one independent variable s and two dependant x and y. The boundary conditions are specified at x[0]==0, x[1]==1/2, y[0]==1 and y[1]==1 $\endgroup$ – user2757771 Apr 13 at 4:51
  • 3
    $\begingroup$ if you do not solve using FEM, the error is Cannot solve to find an explicit formula for the derivatives. NDSolve will try solving the system as differential-algebraic equations. It is better to write your code using separate statements so easy to read. mu = 1; g = 1; lambda = 1; ode1 = y'[s] (x''[s]*y'[s] - x'[s]*y''[s]) == 0; ode2 = mu*x'[s]*(x'[s]*y''[s] - x''[s]*y'[s]) == g*lambda*(x'[s]^2 + y'[s]^2)^(3/2); bc = {x[0] == 0, x[1] == 1/2, y[0] == 1 , y[1] == 1}; NDSolveValue[{ode1, ode2, bc}, {x[s], y[s]}, {s, 0, 1}] $\endgroup$ – Nasser Apr 13 at 5:05
  • 2
    $\begingroup$ y'[s] (x''[s]*y'[s] - x'[s]*y''[s]) == 0 has two possible solutions. The first is y[s] constant, which when substituted into the second equation also yields x[s] constant. The second is (x''[s]*y'[s] - x'[s]*y''[s]) == 0, which when substituted into the second equations again yields both x[s] and y[s] constant. $\endgroup$ – bbgodfrey Apr 13 at 11:47
  • 1
    $\begingroup$ If you want to make use of the FEM then you'd need to rewrite this equation in Inactive form. See this message page; FEMDocumentation/ref/message/InitializePDECoefficients/femnlmdor $\endgroup$ – user21 Apr 14 at 7:03

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.