Re: NDSolveValue::bcnop
Yes, I noted that NDSolve[]
didn't work in the 2nd para. and suggested one might try to manually create an ElementMesh with the cuboids as subregions. When NDSolve[]
complains about not finding points on the boundary, I think of two things. One, it mishandles the solid region. Two, round-off errors cause the problem.
In any case, I do not know whether generating your own element mesh would solve the problem. This tutorial, https://reference.wolfram.com/language/FEMDocumentation/tutorial/ElementMeshCreation.html, describes how to do it. If you need help, I suggest also asking on mathematica.stackexchange.com, since this discussion has not attracted the sort of expert help you seek.
Re: No vectors
If I remove the options VectorScale -> {Tiny, Scaled[0.02], None}
and VectorStyle -> Arrowheads[0.02]
, I get some vectors. The following shows that the norms of the gradients are quite small, with 3 having an exponent base 10 greater than -8 and most being between -9.6 and -8.6. The variation in scale may be causing the vectors to disappear in the plot. Or maybe it's because VectorScale
has been superseded as of version 12.1; see the link. If that is the reason, it would have been polite for Wolfram to have programmed in an error message.
The following shows that V[x, y, z]
seems to be a constant 200
, plus or minus some numerical error.
Table[(solution[x, y, z] - 200)/200,
{x, 0, groundLength, groundLength/4},
{y, 0, groundWidth, groundWidth/4},
{z, -0.1, distanceToGround, (distanceToGround+0.1)/4}] //
Flatten // Chop
I figure you will conclude that NDSolve[]
is not working properly. But if it is, congrats!