itaps-parallel Mesh Instances

Tim Tautges tautges at mcs.anl.gov
Fri Nov 16 17:31:43 CST 2007



Carl Ollivier-Gooch wrote:
> Devine, Karen D. wrote:
>> In yesterday's meeting, Lori asked me to add our understanding of iMesh
>> instances to the background and terminology section of the combined
>> document.  I am unable to do so until we come to some agreement on 
>> what mesh
>> instances are and how they are to be used.
>>
>> Let's start with getting agreement for serial applications.
>>
>> In the iMesh user guide, I cannot find a definition of what a mesh 
>> instance
>> represents.  To me as a new(ish) ITAPS user, it looks like it 
>> represents a
>> single mesh.  If our interface were a C++ interface, I would say that 
>> iMesh
>> is a class, and that we'd create one iMesh object for each mesh we 
>> used in
>> the application.  Then we'd invoke methods on each iMesh object as 
>> needed.
>> For examples, in a loosely coupled physics implementation on two meshes,
>> we'd invoke meshOne's methods to do the first set of physics, and 
>> meshTwo's
>> methods to do the second set of physics.
>>
>> In our C interface, we can't invoke methods on an object.  What we do
>> instead is what most people do when writing an object-oriented C 
>> interface:
>> they pass the object to the interface functions.  It is like passing 
>> C++'s
>> "this" pointer to C functions.
>>
>> I think this is a natural way for users of multiple meshes to view the 
>> iMesh
>> instance, and I don't see anything in the documentation to contradict 
>> it.  I
>> also think we need to allow multiple iMesh instances to allow multiple
>> implementations to be used at the same time via the multiplexer.
>>
>> Let's get this serial scenario understood before we move on to parallel.
> 
> A slight twist on this (I think) is the notion that a serial mesh 
> interface represents a single mesh -database-, which typically contains 
> a single mesh, but may (so say the docs) contain a multiblock, 
> multigrid, or adaptive refinement -collection- of meshes.  In this 
> context, we have talked about a "simple mesh" being just an ordinary 
> vanilla single block mesh.  For the more complicated cases, we more or 
> less explicitly assume that sets will be used to collect entities that 
> lie in different blocks or levels or whatever.  Also, it's possible for 
> the mesh database to contain orphaned entities: in a refinement 
> scenario, one could choose to keep the parents of split entities around 
> for possible later coarsening, although I don't know that anyone is 
> actually doing that....
> 

As a matter of fact, that is being done in Philippe Pebay's streaming 
refiner, which is being ported to ITAPS/MOAB as we speak.

- tim

> Karen, I apologize for (probably) adding complexity to the issue....
> 
> Carl
> 

-- 
================================================================
"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 itaps-parallel mailing list