[MOAB-dev] MOAB question

Suzanne Shontz shontz at cse.psu.edu
Tue Dec 2 22:38:35 CST 2008


Dear Jason & Tim,

Thanks for your very helpful responses.  The solution suggested in the 
"short answer" section did the trick.  All I needed was the 0's and 1's to 
mark vertices as fixed/free for Mesquite.  (Although you'd be happy to 
know that I read the long answer solution, too.)

-- Suzanne


On Tue, 2 Dec 2008, Jason Kraftcheck wrote:

> 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