[Smtk-developers] Exodus bridge
David Thompson
david.thompson at kitware.com
Mon Nov 17 21:55:34 EST 2014
Hi Yumin,
You are correct; the Exodus bridge doesn't create faces or volumes inside the groups. However it does mark the groups as MODEL_DOMAIN or MODEL_BOUNDARY depending on whether they contain volumes or faces/edges/nodes, respectively. We could (1) change the bridge to create either a single volume or face per group; or (2) add some logic to associations so that they pay attention to group constraint bits like those above; or (3) do #2 but with dimension-specific constraint bits (like "this group may only hold 1-d and 2-d cells").
It would not be simple to change the bridge to expose every element side or node as a separate model entity because the numbering in Exodus files is painfully complex. At that point, we are better off reviving more discrete model functionality from v3 to v4.
David
> On Nov 17, 2014, at 17:55, Yumin Yuan <yumin.yuan at kitware.com> wrote:
>
>
>
>> On Mon, Nov 17, 2014 at 5:43 PM, David Thompson <david.thompson at kitware.com> wrote:
>> Hi all,
>>
>> I've merged some changes to master that store element block, side set, and node set IDs on the SMTK model entities. So, in Python you can
>>
>> # ... load file as in script below ...
>> result = rdr.operate()
>> model = smtk.model.ModelEntity(res.findModelEntity('model').value(0))
>> for group in model.groups():
>> print group.name(), group.stringProperty('exodus type'), group.integerProperty('exodus id')
>>
>> and get
>>
>> Unnamed block ID: 1 Type: HEX ['element block'] [1]
>> Unnamed block ID: 2 Type: HEX ['element block'] [2]
>> Unnamed set ID: 4 ['side set'] [4]
>> Unnamed set ID: 1 ['node set'] [1]
>> Unnamed set ID: 100 ['node set'] [100]
>>
>
> Nice!
>
>> I am about halfway through modernizing the Hydra Python exporter script to use the new model. Once I'm done and Yumin has the association widget working we should have an end-to-end demo. (!!!)
>>
>>
>
> The association widget is working now. I have to change the template file a little bit.
> Associations="f" ==> Associations="g" // for group
> Associations="r" ==> Associations="m" // for model to assign material, I guess the "Exodus" reader-parser did not construct a volume.
>
> Caveat, there are some runtime warnings from cmb_v4 related to "duplicate command function". I think this is happening when loading CMB_plugin, and erdcAppCommon is also linking against CMB_plugin. I will track this down later.
>
>
> Yumin
>
>> David
>>
>> > ...
>> > I can certainly help with the exporter part. I will call you to discuss a bit.
>> >
>> > Yumin
>> >
>> > On Mon, Nov 17, 2014 at 11:29 AM, David Thompson <david.thompson at kitware.com> wrote:
>> > Hi Yumin,
>> >
>> > I've pushed a simple example bridge to SMTK master that uses VTK's Exodus reader to read side and node set information in as groups. No cells (volumes/faces/edges/vertices) are included, but the blocks and sets have tessellation information. You can do this:
>> >
>> > import smtk
>> > mgr = smtk.model.Manager.create()
>> > sess = mgr.createSession('exodus')
>> > rdr = sess.op('read')
>> > rdr.findAsFile('filename').setValue('can.ex2')
>> > res = rdr.operate()
>> > me = smtk.model.ModelEntity(res.findModelEntity('model').value(0))
>> > print '\n'.join([x.name() for x in me.groups()])
>> >
>> > which will print this:
>> >
>> > Unnamed block ID: 1 Type: HEX
>> > Unnamed block ID: 2 Type: HEX
>> > Unnamed set ID: 4
>> > Unnamed set ID: 1
>> > Unnamed set ID: 100
>> >
>> > Because each group has a Tessellation associated with it you should be able to render the side and node sets as well as element blocks. There are a few things left to do and then we will have an end-to-end example of simulation preparation using (unaltered) Exodus files.
>> >
>> > 1. Verify that the vtkModelMultiBlockSource properly includes the tessellation information attached to the side and node sets.
>> > 2. Add properties to the groups from the Exodus reader's metadata (describing set IDs).
>> > 3. Adapt an exporter to the new model.
>> >
>> > I can do #1-2, but will need some help with #3.
>> >
>> > David
>> >
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/smtk-developers/attachments/20141117/6e356afb/attachment.html>
More information about the Smtk-developers
mailing list