# "Fewer dependent variables than equations, so the system is overdetermined" without any BC's

Consider this system of PDEs.

eqn1 = D[u[x, t], x] + 5 D[u[x, t], x, x] + D[v[t], t, t] - 4 == 0
eqn2 = D[v[t], t] + D[u[x, t], t, t] + v[t] == 0


I would like to solve this system under the boundary conditions.

BCE1 = DirichletCondition[u[x, t] == 1, x == 0]
BCE2 = DirichletCondition[u[x, t] == 2, x == 2]
BCTot = {BCE1, BCE2}
IC1 = u[x, 0] == 0
IC2 = v[0] == 1
icTot = {IC1, IC2}
solution = NDSolve[{eqn1, eqn2, BCTot, icTot}, {u, v}, {x, 0, 2}, {t, 0, 1}]
Plot3D[Evaluate[First[u[x, t] /. %]], {x, 0, 2}, {t, 0, 1},PlotRange -> Full, AxesLabel -> {x, y, z}]


Attempting to do so gives me the error

NDSolve::overdet: There are fewer dependent variables, {u[x,t]}, than equations, so the system is overdetermined.


Ok, so my system is overdetermined, something is obviously wrong with my boundary conditions. However, completely removing all reference to boundary conditions (including restarting Mathematica) still gives the exact same error.

solution = NDSolve[{eqn1, eqn2}, {u, v}, {x, 0, 2}, {t, 0, 1}]


What is going on here?

• Do you need u[x,t] and v[x,t] in the final NDSolve? Jan 13 '20 at 18:43
• Changing u and v to u[x,t] and v[t] in the last line doesn't remove that error message. I get an additional error message however: Function::fpct: Too many parameters in {x,t} to be filled from Function[{x,t},1][t]. Jan 13 '20 at 18:57

Here is something to get you started:

BCs and ICs need to be consistent. You need ICs and derivatives of ICs (you have second order time derivatives). Mixing u[x,t] and v[t] is most likely not going to work.

eqn1 = D[u[x, t], x] + 5 D[u[x, t], x, x] + D[v[x, t], t, t] - 4 ==
0;
eqn2 = D[v[x, t], t] + D[u[x, t], t, t] + v[x, t] == 0;
BCE1 = u[0, t] == 0;
BCE2 = u[2, t] == 2;
BCTot = {BCE1, BCE2};
IC1 = {u[x, 0] == x, Derivative[0, 1][u][x, 0] == 0};
IC2 = {v[x, 0] == 1, Derivative[0, 1][v][x, 0] == 1};
icTot = {IC1, IC2};
solution =
NDSolve[{eqn1, eqn2, BCTot, icTot}, {u, v}, {x, 0, 2}, {t, 0, 1}]


This gives a message but then I did chose some values arbitrary.

Plot3D[Evaluate[First[u[x, t] /. %]], {x, 0, 2}, {t, 0, 1},
PlotRange -> Full, AxesLabel -> {x, y, z}]


• Thank you but I was looking to solve (eventually) a system of differential equations. In this system, differential equations of different forms couple together; this is why I have u[x,t] and v[t]. An analogy would be heat transfer through a medium (u[x,t])where one end is in contact with a gas reservoir governed by a form of the differential clausius-clapeyron equation. In this case v[t] can be written as v[x,t] but would only have coupling on the boundary i.e. only includes a term D[v[x, t], x] /. x -> 0. Aside, is there really no way to solve u[x,t] and v[t]? Jan 14 '20 at 15:42
• @Iamtired, not that I know of. I think there are a couple of similar examples on this site but I can not find them right now. Jan 15 '20 at 5:57