This has been the subject of some recent discussion & a lot of design
effort... Let me give my thoughts:
We've focused on hybrid, unstructured meshes because of their generality.
However, we recognize that structured, block-structured, overset, &
Cartesian meshes would be useful to support as well for both memory and
algorithmic efficiency reasons. For that reason, the MeshBase class is
intended to provide a minimal interface for a mesh, and the Mesh class
provides one specific instance for unstructured meshes. (Note that we
intend to rename MeshBase->Mesh and Mesh->UnstructuredMesh to alleviate the
It has always been my goal to implement a BlockStructuredGrid class and a
CompositeMesh class as well. The former would implement block structured
meshes, with a single block grid supported as a degenerate case. The
CompositeMesh would be a collection of other Meshes, which could be either
Block-Structured &/or unstructured. This would provide the ability to
handle overset grids with a combination of structured & unstructured
The main taks, I feel, are as follows:
(1) Implement the desired mesh class. Overload methods when appropriate to
provide optimized implementations for the mesh at hand. For example,
finding neighbors is a chore on unstructured meshes but nearly trivial on
structured grids. Also, you would want to implement a useful I/O format for
the mesh type. For example, we currently don't support Plot3D, which is
indispensable in the structured grid community.
(2) Provide an interator for the desired element type. Elements are stored
in unstructured meshes but should be created dynamically given an (i,j,k) in
a structured mesh.
(3) Profile the library and then provide specializations where appropriate.
I would suggest that approach since it fits in the current design & would
get you going quickly. It would allow you, for instance, to use the current
PointLocator as is before specializing it for a structured grid.
Others may have comments as well?
[mailto:libmesh-users-admin@...] On Behalf Of Coroian,
Sent: Friday, June 24, 2005 12:41 PM
Subject: [Libmesh-users] Structured Grid Application of LibMesh
Good Afternoon Everyone,
I would like to use libMesh for a structured grid. Have any of you done
What classes, or functions, need to be overloaded for such a task. I can
imagine that the pointLocator methods need rewriting to take advantage of
the regularity of the structured grid....
I'd appreciate any inputs you may have.
Software Engineer I
Advatech Pacific Inc.
Get latest updates about Open Source Projects, Conferences and News.