[MOAB-dev] Setting connectivity for single vertex

Grindeanu, Iulian R. iulian at mcs.anl.gov
Tue Feb 3 15:37:35 CST 2015


Hi Mark,

So these changes have no effect on moab "database", only our simplified vtk writer and reader are changed.
We do not have in moab the concept of 1-node element, so I am ignoring them at reading

for hdf5 writer, I did not modify it, so free nodes will not be visible in VisIt

What do you think it should be the correct strategy?

Thanks,
Iulian

________________________________
From: Miller, Mark C. [miller86 at llnl.gov]
Sent: Tuesday, February 03, 2015 3:16 PM
To: Grindeanu, Iulian R.; CORTIS M.
Cc: moab-dev at mcs.anl.gov
Subject: Re: [MOAB-dev] Setting connectivity for single vertex

Ok, I understand now. Thanks for clarifying.

In one other case I am aware of for this (Mili data from Engeineering codes at LLNL), we added logic to the reader in VisIt to create two menu items for the mesh. One was the normal "mesh" and the other was "mesh_w_freenodes" where the latter would indeed keep the free nodes and display them in VisIt. Typicall, VTK's pipelines will remove 'free nodes' whenever the RelevantPointsFilter is involved.

Another option (in VisIt anyways) could be to include a check-box menu item on VisIt's Mesh Plot attributes to also plot any free nodes. In any event, this is clearly an issue with the Vis tools and not the database (e.g. MOAB). While hacking the database fixes it expediently, its not the right long term strategy.

Out of curiosity, do you have enough control over the data producer to adjust how it outputs things? If you could make it output a separate "mesh" object that is just the mesh consisting of free nodes, as true VERTEX elements, then apart from having to plot (and maybe open a separate file) one additional object, you would be able to see the free nodes.

Mark


From: <Grindeanu>, "Iulian R." <iulian at mcs.anl.gov<mailto:iulian at mcs.anl.gov>>
Date: Tuesday, February 3, 2015 1:08 PM
To: "Miller, Mark C." <miller86 at llnl.gov<mailto:miller86 at llnl.gov>>, "CORTIS M." <michael.cortis at durham.ac.uk<mailto:michael.cortis at durham.ac.uk>>
Cc: "moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>" <moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>>
Subject: RE: [MOAB-dev] Setting connectivity for single vertex

Thanks,
 the problem I have is that I cannot see the free vertices in VisIt.
(vertices that are not connected to any element)

If I just plot the mesh (no data associated), how do I show those free vertices?

So this branch will create "dummy" 1-node cells in vtk file (that are ignored by moab), but can be viewed in VisIt.

Thanks,
Iulian

________________________________
From: Miller, Mark C. [miller86 at llnl.gov<mailto:miller86 at llnl.gov>]
Sent: Tuesday, February 03, 2015 1:25 PM
To: Grindeanu, Iulian R.; CORTIS M.
Cc: moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>
Subject: Re: [MOAB-dev] Setting connectivity for single vertex

I've been eavesdropping on this thread a bit and am just wondering if the problem is in the database or in the Vis tools?

I cannot speak for ParaView but I am certain VisIt can display point data just fine without having to create 'connectivity' for the points. What you get amounts to a set of descrete glyphs (boxes, spheres, icosohedrons. . .your choice) where the glyphs can be colored by one variable and optionally scaled by another. If what you really want is to interpolate between the points, then the data either needs to be resampled or, perhaps, 'connected' using voronoi/dulaney algorithms (both options of which are available in VisIt).

So, I am just really puzzled why there is any need to create what amounts to meaningless 'connectivity' to satisfy either ParaView or VisIt.

Mark
A VisIt Developer ;)


From: <Grindeanu>, "Iulian R." <iulian at mcs.anl.gov<mailto:iulian at mcs.anl.gov>>
Date: Tuesday, February 3, 2015 11:19 AM
To: "CORTIS M." <michael.cortis at durham.ac.uk<mailto:michael.cortis at durham.ac.uk>>
Cc: "moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>" <moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>>
Subject: Re: [MOAB-dev] Setting connectivity for single vertex

Hi,
can you try this pull request?
https://bitbucket.org/fathomteam/moab/pull-request/97/read-and-write-free-nodes-in-vtk-format/diff

Does it fix your problem?
If you find issues, can you send me the vtk file?

Best Regards,
Iulian
________________________________
From:moab-dev-bounces at mcs.anl.gov<mailto:moab-dev-bounces at mcs.anl.gov> [moab-dev-bounces at mcs.anl.gov<mailto:moab-dev-bounces at mcs.anl.gov>] on behalf of CORTIS M. [michael.cortis at durham.ac.uk<mailto:michael.cortis at durham.ac.uk>]
Sent: Sunday, February 01, 2015 9:39 AM
To: Paul Wilson
Cc: moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>
Subject: Re: [MOAB-dev] Setting connectivity for single vertex

Hi,

So if you save points on vtk you have such thing where no connectivity and no cell definition.

POINTS 2 double
10.0 0 0
-10.0 0 0
CELLS 0 0
CELL_TYPES 0

but if you want to can include connectivities and cel definition as follows

POINTS 2 double
10.0 0 0
-10.0 0 0
CELLS 2 4
1 0
1 1
CELL_TYPES 2
1
1

This way, Paraview and VisIt can recognise points as elements and consequently can visualise them.

Michael


On 1 Feb 2015, at 15:34, Paul Wilson <ppwilson at wisc.edu<mailto:ppwilson at wisc.edu>>
 wrote:

Hello again,

On 02/01/2015 09:31 AM, CORTIS M. wrote:
Hello Paul,

In fact you can create vertices and use them and store data on tag.
The only problem was that if there is no connectivity,
ParaView and VisIT does not visualise them unless you plot the points using glyphs.
So I had to create a function which read the points from a mesh file and insert their individual connectivities and save them as vtk.
Now I see!  Thanks for the clarification.

So are you connecting the vertices to themselves?  What is the element type in VTK for such an element?

Paul




Problem solved. But may be MOAB would consider this problem and do something about it.

Thanks for your input,

Michael


On 1 Feb 2015, at 15:24, Paul Wilson <ppwilson at wisc.edu<mailto:ppwilson at wisc.edu>>
 wrote:

Hello Michael,

On 01/29/2015 05:08 PM, CORTIS M. wrote:
Hi Iulian,

Yes I am trying to create an element made from single vertex.
I want to used these for Material Point Method.

So there is a way of creating the vertices, but not adding connectivity to themselves only?
Or may be another way round?

Perhaps, I'm not fully understanding your questions, but it is certainly possible to create vertices in MOAB and then use them directly in your analysis.  There is no need to create an element if, in fact, all you need are the vertices.  Each vertex can be tagged with data in the same way that an element can be.

I hope that is helpful,
Paul

If not, don't worry about. Will create a vtk writer to do this and hopefully moab can use the vertices.

Any assistance is really appreciated.

Kind regards

Michael




On 29 Jan 2015, at 17:24, "Grindeanu, Iulian R." <iulian at mcs.anl.gov<mailto:iulian at mcs.anl.gov>> wrote:

Hello,
Moab does not have elements with a single vertex. Is this what you are trying to do?
A vertex (node) is represented with an entity handle of type MBVERTEX, and you can get coordinates for it

I am not sure what are you trying to do.
Best Regards,
Iulian

________________________________
From: moab-dev-bounces at mcs.anl.gov<mailto:moab-dev-bounces at mcs.anl.gov> [moab-dev-bounces at mcs.anl.gov<mailto:moab-dev-bounces at mcs.anl.gov>] on behalf of CORTIS M. [michael.cortis at durham.ac.uk<mailto:michael.cortis at durham.ac.uk>]
Sent: Thursday, January 29, 2015 10:18 AM
To: moab-dev at mcs.anl.gov<mailto:moab-dev at mcs.anl.gov>
Cc: Tautges, Timothy J.
Subject: Re: [MOAB-dev] Setting connectivity for single vertex

Thanks Tim,

I am still having a problem, may be the guys at Argonne can help with this.

I've tried a simpler one and trying to crete the vertex from point.

  double points[9]={0.5,0,0};
  EntityHandle vertex;
  rval=moab2.create_vertex(points,vertex);CHKERR_PETSC(rval);
  EntityHandle dummy;
  rval = moab2.create_element(MBVERTEX,&vertex,1,dummy); CHKERR_PETSC(rval);

But I am getting Error code 2, MB_TYPE_OUT_OF_RANGE !
Is it possible to use MBVERTEX here?

Thanks,

Michael

On 29 Jan 2015, at 15:04, Tim Tautges <tautges at mcs.anl.gov<mailto:tautges at mcs.anl.gov>> wrote:

[cc'ng moab-dev list, since I've left Argonne.]

dummy is 0, which is an invalid handle, but should be the handle(s) of the entities whose connectivity you're setting; I suspect what you want there is *vertices.begin().  And you can't set connectivity until you make an element, so you need to call create_element, probably with the number of verts per element as 1 and the connectivity just the single vertex defining the point element.

- tim

On 01/29/2015 03:34 AM, CORTIS M. wrote:
Dear Tim,

I've got the following problem:

I want to create vertex entities, ie create the points and vertex entities using those points.
So I've create a set of vertices from an array of coordinates.
And If you try to set the connectivity for every point you get Error code 4 (MB_ENTITY_NOT_FOUND).

This is my code:

double points[6]={1,0,0, 0,1,0, 0,0,1};
Range vertices;
rval = moab.create_vertices(points,2,vertices); CHKERR_PETSC(rval);
EntityHandle dummy=0;
rval = moab.set_connectivity(dummy,vertexlist,1); CHKERR_PETSC(rval); //Error code 4

Any suggestions how to overcome this problem.

Kind regards,

Michael



--
-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --
Paul Wilson ~ UW-Madison ~ 608-263-0807 ~ cal: http://bit.ly/pphw-cal
Professor, Engineering Physics. ~ http://cnerg.engr.wisc.edu<http://cnerg.engr.wisc.edu/>
Faculty Director, Advanced Computing Infrastructure ~ http://aci.wisc.edu<http://aci.wisc.edu/>



--
-- ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ --
Paul Wilson ~ UW-Madison ~ 608-263-0807 ~ cal: http://bit.ly/pphw-cal
Professor, Engineering Physics. ~ http://cnerg.engr.wisc.edu<http://cnerg.engr.wisc.edu/>
Faculty Director, Advanced Computing Infrastructure ~ http://aci.wisc.edu<http://aci.wisc.edu/>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mcs.anl.gov/pipermail/moab-dev/attachments/20150203/5f44b36b/attachment-0001.html>


More information about the moab-dev mailing list