[MOAB-dev] MOAB question

Jason Kraftcheck kraftche at cae.wisc.edu
Tue Dec 2 22:10:55 CST 2008


Tim Tautges wrote:
> Only have time for a quick answer just now, but you should use mbtagprop 
> to propagate sets (which are used to represent cubit 
> blocks/nodesets/sidesets) to tags (variables on indiv mesh entities 
> representing same thing).
> 
> - tim
> 
> Suzanne Shontz wrote:
>> Dear Tim:
>>
>> I've been using MOAB to convert some hex meshes from the Exodus II 
>> file format (they're meshes generated with CUBIT) to the VTK file format.
>> The outputted VTK files contain information on the vertex coordinates 
>> and the hex elements.  However, they do not contain information as to
>> which vertices are/are not part of the surface (i.e., boundary).  Is 
>> there
>> an option within MOAB to write out this additional information?  Note
>> that I'm calling mbconvert as follows:  mbconvert file.g file.vtk.
>>
>> Thanks in advance for your help,
>> Suzanne
>>
> 

Short answer:

If all you want is to mark the boundary vertices as fixed so that they 
can be used as input to Mesquite, use the mbskin utility:
   mbskin -t -w file.g file.vtk

Long answer:

ExodusII files do not directly contain any information about which 
vertices are part of a geometric surface or which are on the skin of the 
mesh.  To embed this information in an ExodusII file using Cubit you 
will need to create sidesets or nodesets containing the boundary of the 
mesh.  Cubit will write those to the ExodusII file.

Alternately, you could write a 'cub' file from Cubit, which will contain 
the grouping of mesh entities according to which geometric entities they 
lie on (surfaces, curves, etc.)

VTK files have no mechanism by which to represent groups of entities. 
The best that can be done is to 'tag' (e.g. store an integer value on) 
each entity indicating the group it belongs to.  The mbtagprop utility 
Tim mentioned can do such things.  E.g. it can be used to write the ID 
of each geometric surface as a tag on each vertex that is constrained to 
lie on that surface.

If you have an ExodusII file containing nodesets (dirichlet sets) and 
you want to store on each node the ID of the nodeset it is contained in, 
I think the following will work:
   mbtagprop -t DIRCHLET_SET -n file.g file.vtk

If instead you want to write a '1' to a tag named 'fixed' for every node 
contained in a nodeset, then I think the following syntax will work:
   mbtagprop -t DIRICHLET_SET -c fixed=integer:1=1 -n file.g file.vtk

- jason



More information about the moab-dev mailing list