Marking surfaces of a 3D mesh (mshr) to apply b.c

Here is a snapshot from my gmsh. As you give your physical markers “str” names instead of integers, it gives them a separate numbering.

You should rather follow the one from 9th of march, which handles multiple mesh blocks, Transitioning from mesh.xml to mesh.xdmf, from dolfin-convert to meshio
Everything is read in wrong since you are not reading in all mesh-blocks.