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