itaps-parallel Mesh Instances

Carl Ollivier-Gooch cfog at mech.ubc.ca
Fri Nov 16 16:08:01 CST 2007


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....

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

Carl

-- 
------------------------------------------------------------------------
Dr. Carl Ollivier-Gooch, P.Eng.                   Voice: +1-604-822-1854
Associate Professor                                 Fax: +1-604-822-2403
Department of Mechanical Engineering             email: cfog at mech.ubc.ca
University of British Columbia              http://www.mech.ubc.ca/~cfog
Vancouver, BC  V6T 1Z4                  http://tetra.mech.ubc.ca/ANSLab/
------------------------------------------------------------------------




More information about the itaps-parallel mailing list