Thanks for the immediate replies.
@Vijay : I look forward to the functionality in your patch! My work involves setting
bound charges between dielectrics. I was in fact thinking about how I could handle these interfaces ... I guess having surface_ids in a 3D mesh will allow me to solve the problem.
@Dave : I am using r3510. Could the problem arise from the fact that ex1.C uses the function mesh.read( ) .... is there something special that needs to be done for Gmsh
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
I find that the output of ex1.cc mentions n_subdomains()=1, though
there are two physical regions.
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...