[MOAB-dev] Some questions upon embarking on a new MOAB Reader
Paul Wilson
wilsonp at engr.wisc.edu
Fri Aug 7 19:32:30 CDT 2009
Hi Tim
I have nearly completed a basic implementation of an ABAQUS reader
with support for a limited set of keywords. (Those we need right now).
I have done my best to structure it for support of additional keywords
as the need arises.
In so doing, I have devised an answer to some of the questions that I
have posed and will endeavor to create some documentation when it is
ready.
Paul
-- --
Associate Professor, Nuclear Engineering
Chair, Energy Analysis & Policy
UW-Madison
wilsonp at engr.wisc.edu, 608.263.0807
Sent from my iPhone
On Aug 7, 2009, at 5:51 PM, Tim Tautges <tautges at mcs.anl.gov> wrote:
> Replying also to the moab-dev list, as (as you infer) it's of
> general interest.
>
> Paul Wilson wrote:
>> Hi Tim,
>> Patrick has studied the ABAQUS input file description and we have
>> discussed how to incorporate this into a reader. A number of
>> questions emerged, however. I am not sure if this is appropriate
>> for the moab-dev list as it may become an involved conversation,
>> but I am happy to carry it out there (and have Patrick join that
>> list). Some of the paradigms we see here are likely to be in other
>> file formats and their implementation in MOAB should probably
>> conform to some kind of "master plan".
>> The ABAQUS format describes individual parts, each in their own
>> local coordinate system, with a list of nodes and a list of
>> elements. The nodes and elements can be arranged in nodesets or
>> elementsets, which are generally conveniences for applying
>> materials, loads, etc. In many cases, the node and element sets
>> define material boundaries, but not always. The file then
>> describes assemblies, each of which has multiple instances of a
>> subset of the parts, each transformed to the coordinate system of
>> the assembly.
>
> The general question of how to represent assemblies of parts, which
> is similar to how feature-based geometric modeling systems do
> things, has not really been addressed (yet) in MOAB nor in CGM.
> There are several important nuances and/or caveats:
>
> - If you have a mesh for each part, rather than each part instance
> (or copy), then the question arises how you get a contiguous mesh
> where parts meet (assuming their mesh in coincident). Some codes
> can handle non-conforming mesh like this, but in almost all cases
> you sacrifice time and/or accuracy in the analysis. If Abaqus
> merges mesh together where appropriate, then the question arises how
> to handle boundary conditions on the sides of such lattices. If you
> rule that out altogether, then it's easier but less generally
> useful. That makes me wonder whether the files have separate mesh
> for part instances rather than for parts.
>
> - The assembly/part/part instance + transform hierarchy can and
> should be represented in the resulting MOAB mesh, similar to how
> it's done with geometric entities and topology. I view the assembly/
> part/part instance graph as standing beside the geometric topology
> graph, possibly with links between the two (e.g. in cases where a
> part only has one instance). I haven't explicitly handled the
> notion of a transform embedded as a tag somewhere, but that's
> clearly how one would do it. Similarly, MOAB doesn't have direct
> support for coordinate systems and transformations between them, but
> that can easily be done at the application level for now if it's
> critical.
>
> - In general, you want to separate the specification of materials
> (in material sets) from the element representation itself; making
> them the same thing is an artifact of the Exodus format, which
> probably influenced Abaqus' data formats (their author came from
> Sandia). I've told you about this in the past, so this is more for
> others' information.
>
>> Some basics of our recommended MOAB layout:
>> * each PART definition would be a meshset that is a child of the
>> root set
>> * each PART could contain a set of nodes and elements
>> * each nodeset and element set would be a meshset that is a child
>> of the PART meshset
>> * assignment of matieral properties, loads, etc, would conform to
>> the manner in which they are defined in the file
>> * if defined on a nodeset/elementset, that set would be tagged
>> * if defined for a particular node/element, that node/element
>> would be tagged
>> * each ASSEMBLY (not sure if we are like to see more than one)
>> would be a meshset that is a child of the root set
>> * each instance of a PART would be a meshset (copy of PART meshset
>> - see below) that is transformed to the ASSEMBLY's coordinate
>> system and a child of the ASSEMBLY set
>
> As I said above, this gets much more complicated when you start
> considering merging and non-manifold stuff. Geometric modeling
> systems almost always leave this to the mesh generation step, and
> few mesh generation tools have very satisfactory ways of handling
> this (often require manual "merging" by users).
>
>> Some questions:
>> 1. Are there examples in other readers of preserving this richness
>> of hierarchy, etc?
>
> The closest thing is representing geometric topology.
>
>> 2. Copying meshsets/creating PART instances:
>> a. Do we want to copy or use some other paradigm? I think we
>> need to copy since nodes/elements will ultimately have different
>> field values.
>
> In the near term, this will almost surely requiring copying. In the
> longer term, I'd love to do more of an implicit copy, where you
> still represent the copy in handle space but reference their
> connectivity/coordinate information from the source of the copy.
> Field values would still be assigned to the copies, as dense tags.
>
>> b. Is there infrastructure for copying a meshset and having its
>> child meshsets be recreated automatically? Since the copy, in this
>> sense, will create new entities for the copied nodes/elements, the
>> new child meshsets will need to refer to the new nodes/elements.
>> Cross-referencing these could be complicated.
>
> Yep, it's complicated. I've explored those issues a little bit in
> MeshKit, but have yet to write it up anywhere.
>
> - tim
>
>> I think those are my only questions for now.... We will start
>> implementing something today, so if you want to chat about this,
>> let me know....
>> Paul
>
> --
> ================================================================
> "You will keep in perfect peace him whose mind is
> steadfast, because he trusts in you." Isaiah 26:3
>
> Tim Tautges Argonne National Laboratory
> (tautges at mcs.anl.gov) (telecommuting from UW-Madison)
> phone: (608) 263-8485 1500 Engineering Dr.
> fax: (608) 263-4499 Madison, WI 53706
>
More information about the moab-dev
mailing list