When solving the following PDE with a missing BC on the fourth edge ($y=1$):
sol = NDSolveValue[{D[u[x, y], {y, 2}] + D[u[x, y], {x, 2}] == (1-y),
DirichletCondition[u[x, y] == 0,(y==0||x==-1||x==1)]}, u, {x,y} \[Element] Rectangle[{-1,0},{1,1}]]
MMA returns an output. I would have expected an error such as missing BC. It seems that it implicitly considered a Neumann condition $\partial_n u = 0$ on $y=1$:
Plot[D[sol[x, y], y] /. y -> 1, {x, -1, 1}, PlotRange -> Full]
Plus, I get the same output when I specify NeumannValue:
sol = NDSolveValue[{D[u[x, y], {y, 2}] + D[u[x, y], {x, 2}] == 1-y + NeumannValue[0, y == 1],
DirichletCondition[u[x, y] == 0,(y==0||x==-1||x==1)]}, u, {x,y} \[Element] Rectangle[{-1,0},{1,1}]]
Is there a rational behind the apparent autocompletion of missing BCs with 0 Neumann conditions?

DirichletCondition. see NeumannValue.html – Nasser Oct 21 '23 at 07:47NDSolve(v13) states "The differential equations must contain enough initial or boundary conditions to determine the solutions for the yi completely." Edit In the NeumannValue doc, OK, thank you. – anderstood Oct 21 '23 at 07:49DirichletCondition:NDSolveValue[{D[u[x, y], {y, 2}] + D[u[x, y], {x, 2}] == (1 - y), u[x, 0] == 0, u[-1, y] == 0, u[1, y] == 0}, u, {x, -1, 1}, {y, 0, 1}]returns the same output. Anyway, you answered my question. I don't know if I should close my question, as it can be found in the doc but not easily. – anderstood Oct 21 '23 at 08:23DirichletCondition. It depends on the problem. I am not sure how it decides internally. But I think if you useDirichletConditionor explicitNeumannthen it does select FEM in that case since these go with FEM method. You could leave the question open if you want, may be someone will have more official answer and more details. It is up to you. – Nasser Oct 21 '23 at 08:27