Physical names don't set when a physical group of the same dimension and name already exist
We encountered a problem that we eventually determined the cause by inspecting the gmsh source code. I can't see it documented, but the GModel::setPhysicalName() function in GModel.cpp, which is called by gmsh::model::setPhysicalName() and gmsh::model::addPhysicalGroup(), enforces that if a physical name is already used by a physical group of the same dimension, then setting the physical group name will fail, despite having a unique physical group tag.
Can this check either be removed entirely (since physical groups are uniquely defined by their dimension and tag the check appears to be an unnecessary limitation)?
Alternatively, can this check be added to the documentation and the API function comments, and the return value from GModel::setPhysicalName() returned by gmsh::model::setPhysicalName() so that I know if name setting failed rather than having to subsequently call gmsh::model::getPhysicalName()?
I'd prefer the former, but admittedly I only scraped the surface of the gmsh source code, so perhaps there is a reason for it that was not apparent to me.
Thanks.