[MOAB-dev] EntityHandle?

Grindeanu, Iulian R. iulian at mcs.anl.gov
Mon Jul 11 09:03:19 CDT 2016


Hi Lukasz,
The entity handle is associated with the moab instance. Of course, different tasks have different moab instances.
Shared entities between processors can have different handles.
If the options used to read the mesh are consistent between runs, you should expect that the entity handles are consistent, reproducible between runs.
Global IDs, which are just tags on entities, if read from the file, should be the same for shared entities.
If you use ghosting for reading, global ids will be correctly propagated, if they exist in the file.

Most of the readers use ReadUtil interface, which means that entity handles are assigned in bulk, for the entity sequence created ; 

vertices:
ErrorCode get_node_coords(const int num_arrays,
                                    const int num_nodes,
                                    const int preferred_start_id,
                                    EntityHandle& actual_start_handle,
                                    std::vector<double*>& arrays,
                                    const int sequence_size = -1)
elements:
 ErrorCode get_element_connect(const int num_elements,
                                        const int verts_per_element,
                                        const EntityType mdb_type,
                                        const int preferred_start_id,
                                        EntityHandle& actual_start_handle,
                                        EntityHandle*& array,
                                        int sequence_size = -1)


ghosted entities are usually created one by one, so that means the first "free" entity handle is used, in ascending order, for the ghosted entities.

Do you have a particular example for which you have issues with the entity handles or global ids?

Iulian


________________________________________
From: moab-dev-bounces at mcs.anl.gov [moab-dev-bounces at mcs.anl.gov] on behalf of Lukasz Kaczmarczyk [Lukasz.Kaczmarczyk at glasgow.ac.uk]
Sent: Sunday, July 10, 2016 4:08 PM
To: moab-dev at mcs.anl.gov
Subject: [MOAB-dev] EntityHandle?

Hello,

I like to ask how entity handle is given to created entity.

In particular if I the same mesh is read, then on that mesh the some entities are create and delete in particular order, do resulting mesh has entities with the same handles for each execution of program.

I understand that mesh distributed on several processes, has different entities handles on shared entities. That is clear.

However what if exactly the same (non-distributed) mesh is stored on the several processor, should I expect that such mesh has that entities with the same GID has the same entity handle. What if next I apply the same sequence of operations, deletion and creation of entities. Should I expect the same handles on all meshes?

Kind regards,
Lukasz



More information about the moab-dev mailing list