From: Roy S. <roy...@ic...> - 2009-10-27 23:26:29
|
On Wed, 28 Oct 2009, Arvind Ajoy wrote: > I am trying to read in a simple mesh created using Gmsh, which has > two Physical regions. I use the example programme ex1.cc to read > the .msh file, and write it out as another .msh file, i.e ./ex1 -d 2 > in.msh out.msh. > > I find that the output of ex1.cc mentions n_subdomains()=1, though > there are two physical regions. Interesting... MeshBase::n_subdomains() has been around since 2005, when Ben added it (presumably to Mesh, back then?). MeshBase::set_n_subdomains() appears to be an easy accessor that Derek added earlier this year... but other than a little overloading in the BoundaryInfo::sync() method, I can't find anywhere that subdomain counts are actually getting *set* rather than just copied around! I suppose a typical use case is for the user code to set subdomain ids, but we do support them in Exodus, GMSH, Nemesis, and XDR I/O... yet none of that code seems to update the total mesh id count. Ben, Derek, anyone else know what I'm missing? It seems as if updating MeshBase::_n_sbd ought to be a standard part of prepare_for_use(), but isn't... --- Roy |