The line that defines the "y" displacement constraint in the beam_convergence example, namely
nodes[nx*(ny//2 + 1) - 1, 4] = -1
does not select the node at the right boundary, but in the domain. The line should be replaced with the following:
nodes[(nx+1)*(ny//2+1)-1, 4] = -1