You're welcome Markus!
Good catch.
The following is an alternative way to create the stitched together graphic using Translate.
cplot = ContourPlot[
ufun[x, z], {x, 0, 2*\[CapitalLambda]}, {z, 0, Lz},
MaxRecursion -> 4, Contours -> 30,
ColorFunction -> "BlueGreenYellow" ];
n = 5;
Graphics[Table[
Translate[First@cplot, {2 \[CapitalLambda] i, 0}], {i, 0, n}],
PlotRange -> {{0, 2 * \[CapitalLambda] * n}, {0, Lz}}, Frame -> True,
FrameStyle -> Directive[Black, Thickness[0.003]],
LabelStyle -> Directive[Black, 10], FrameLabel -> {"x [m]", "z [m]"},
AspectRatio -> 1]
Update
In the link that I provided, they actually show an example of how to stitch PBC problems together in the basic examples section. It probably is the simplest as shown below.
cplot = ContourPlot[
ufun[x, z], {x, 0, 2*\[CapitalLambda]}, {z, 0, Lz},
MaxRecursion -> 4, Contours -> 30,
ColorFunction -> "BlueGreenYellow",
FrameStyle -> Directive[Black, Thickness[0.003]],
LabelStyle -> Directive[Black, 10],
FrameLabel -> {"x [m]", "z [m]"} ];
n = 5;
Show[Table[
MapAt[Translate[#, {2 \[CapitalLambda] i, 0}] &, cplot, 1], {i, 0,
n}], PlotRange -> All]
Attached is a corrected notebook include the shift noted by Markus.
Attachments: