itaps-parallel Mesh Instances

Mark Miller miller86 at llnl.gov
Mon Nov 19 20:08:08 CST 2007


"Devine, Karen D." wrote:
> 
> All:  Thanks for your emails.  I admit I am getting more confused than
> before by this discussion.  So let me try to get a clear answer on the
> simplest serial cases before we move to parallelism and iPartition.
> 
> Suppose a serial multiphysics application has two Exodus files with one mesh
> description in each file.  The application wants a single ITAPS
> implementation (e.g., MOAB) to manage both meshes.  It wants to do
> completely different operations on each mesh.  Suppose one mesh is a 3D
> hexahedral mesh and the other is a 2D quadrilateral mesh.

  Is there any relationship between these two meshes? For example,
is the quadrliateral mesh composed entirely of a set of faces of
the hexahedral mesh? Does the quadrilateral mesh represent maybe
some boundary layer of some physical phenomena that is passing
through the hex mesh; a shock front that is explicitly represented
maybe (but derived from an operation involving gradient of a
pressure variable on the hex mesh?) Does the 3D hex mesh represent
say some Jello-brand gelatin and the 2D quad mesh a knife being
used to cut through it?

  The reason for asking these, maybe silly, questions is that I like
to 'test the water' about how truly distinct these two meshes are.
Sometimes, when a multiphysics application has 'different' meshes,
that is only a manifisation of they way the developers of that 
application have been forced to think about and write the software
due to a variety of other constraints. When they are faced with a
truly abstract interface for representing their meshes, it isn't
necessarily immediately obvious that things will be 'ok' -- in
that they will be able to do all the operations they need to --
if they put both meshes into the same thing; an iMesh instance in
this case.


> 
> A) Should the application create two mesh instances, and ask the
> implementation to load meshInstance1 from ExodusFile1 and meshInstance2 from
> ExodusFile2?  Or ...
> B) Should both Exodus files be loaded into the same instance?

I am pretty sure 'B' is the better answer.

> 
> For case B, what answer does the following iMesh function return?  How does
> this function determine which mesh it is dealing with?
> 
>    void iMesh_getGeometricDimension(iMesh_Instance instance,
>    int *geom_dim, int *err);

I would expect this to return 3 in all the use-cases I asked about above.

> 
> I assumed that since we pass the mesh instance to each iMesh function,
> implementations can use it to determine which mesh they are to query.  So
> this function would return appropriate info for case A.



-- 
Mark C. Miller, Lawrence Livermore National Laboratory
email: mailto:miller86 at llnl.gov
(M/T/W) (925)-423-5901 (!!LLNL BUSINESS ONLY!!)
(Th/F)  (530)-753-8511 (!!LLNL BUSINESS ONLY!!)




More information about the itaps-parallel mailing list