Complex PDE on GMSH generated mesh

Wow thank you very much, it works perfectly fine, you literally made my day!
I dind’t know i can use the dx command for gmsh generated meshes.

Just one note, if i’m trying to solve domains with two or more subdomains.

Do i write

with df.XDMFFile(pathname + "DuctMesh_xdmf_precise.xdmf") as infile:
    infile.read(mesh)
mvc = df.MeshValueCollection("size_t", mesh)
with df.XDMFFile(pathname + "DuctMesh_xdmf_Boundary_precise.xdmf") as infile:
    infile.read(mvc, "name_to_read")
mf = df.cpp.mesh.MeshFunctionSizet(mesh, mvc)
mvc_2 = df.MeshValueCollection("size_t", mesh, 3)
with df.XDMFFile(pathname + "DuctMesh_xdmf_precise.xdmf") as infile:
    infile.read(mvc, "name_to_read")
cf = df.cpp.mesh.MeshFunctionSizet(mesh, mvc_2)

ds_excited = df.Measure("ds", domain=mesh, subdomain_data=mf, subdomain_id=1)
ds_sound_proof = df.Measure("ds", domain=mesh, subdomain_data=mf, subdomain_id=2)
ds_admittance = df.Measure("ds", domain=mesh, subdomain_data=mf, subdomain_id=3)
dx_volume = df.Measure("dx", domain=mesh, subdomain_data=cf, subdomain_id=4)

or

with df.XDMFFile(pathname + "DuctMesh_xdmf_precise.xdmf") as infile:
    infile.read(mesh)
mvc = df.MeshValueCollection("size_t", mesh, 3)
with df.XDMFFile(pathname + "DuctMesh_xdmf_Boundary_precise.xdmf") as infile:
    infile.read(mvc, "name_to_read")
mf = df.cpp.mesh.MeshFunctionSizet(mesh, mvc)
with df.XDMFFile(pathname + "DuctMesh_xdmf_precise.xdmf") as infile:
    infile.read(mvc, "name_to_read")
cf = df.cpp.mesh.MeshFunctionSizet(mesh, mvc)

ds_excited = df.Measure("ds", domain=mesh, subdomain_data=mf, subdomain_id=1)
ds_sound_proof = df.Measure("ds", domain=mesh, subdomain_data=mf, subdomain_id=2)
ds_admittance = df.Measure("ds", domain=mesh, subdomain_data=mf, subdomain_id=3)
dx_volume = df.Measure("dx", domain=mesh, subdomain_data=cf, subdomain_id=4)

Thank your very much!!
You really helped me out a lot!

Edit 1:
In

mvc = df.MeshValueCollection("size_t", mesh, 3)

the last integer denotes the dimension, i guess, so if i’m trying to solve a 2D problem i would replace it with 2, wouldn’t I?