[MOAB-dev] iMeshP and parallel imesh

acaceres at mcs.anl.gov acaceres at mcs.anl.gov
Tue Feb 2 10:27:55 CST 2010


So iMeshP is the proper way to find out if an entity is ghosted, correct?


----- Original Message -----
From: "Jason Kraftcheck" <kraftche at cae.wisc.edu>
To: acaceres at mcs.anl.gov
Cc: moab-dev at lists.mcs.anl.gov
Sent: Tuesday, February 2, 2010 10:09:37 AM GMT -06:00 US/Canada Central
Subject: Re: [MOAB-dev] iMeshP and parallel imesh

acaceres at mcs.anl.gov wrote:
> Hi,
> 
> I'm using iMesh in parallel and trying to see if I can use iMeshP to get
> information like whether a local vertex is a ghost or not. I haven't quite
> figured out the interface, but it seems like a lot of the iMeshP calls want
> an iMeshP_PartitionHandle, so my first attempt was just:
> 
> call iMesh_newMesh("PARALLEL",iMesh, err) 
> call iMesh_load(%val(iMesh), %val(IMESH_NULL), input_filename,
> ";PARALLEL=READ_DELETE;PARTITION=PARALLEL_PARTITION;PARTITION_DISTRIBUTE;",
> err)
> call iMeshP_getNumPartitions(%val(iMesh), numPartitions, err)
> 
> 
> (the file I'm reading has a partition defined on it using the
> "PARALLEL_PARTITION" tag, pre-computed with zoltan). This is with 2
> processors. I'm getting numPartitions==0. I'm probably completely
> misunderstanding how iMeshP is supposed to be used, so can somebody clarify
> the following:
> 
> - am I getting the correct behavior? - when I load a mesh using the first
> two calls above, how do I find out if
an entity is a ghost or not?
> 

Note that MOAB's iMeshP implementation is rather incomplete and may not work
correctly.

You need to do the load through the iMeshP API:

call iMesh_newMesh("",iMesh,err)
call iMeshP_createPartitionAll(%val(iMesh),%val(MPI_COMM_WORLD),partn,err)
call iMeshP_loadAll(%val(iMesh),%val(partn),%val(root),input_filename,
                   ";PARALLEL=READ_DELETE",err)

- jason


More information about the moab-dev mailing list