I am very sorry for misunderstanding what you said. However, it is likely difficult to call ParMETIS in libmesh? Whether will it affect the implementation of dynamic repartitioning in adaptive mesh refinement. I have found that a function (ParMETIS_V3_AdaptiveRepart) in ParMETIS is used to deal with the adaptively refined mesh. METIS uses the methods (coarsen, partition and refine) to partition the mesh, which most likely affects the element distribution. I don't confirm this. Could you give me some information about it?
thanks a lot.
On 8/28/07, Roy Stogner <email@example.com> wrote:
On Tue, 28 Aug 2007, Yujie wrote:
> Roy told me that METIS can work well in libmesh and ParMETIS can't work
I didn't say that ParMETIS can't work well, just that I thought it
wasn't used by default.
> I want to know whether the problem has been solved. If not, where is
> the key problem?
In src/mesh/mesh_base.C, we build a MetisPartitioner object, and there
doesn't seem to be an easy way for the user to choose a
ParmetisPartitioner or something else without having to edit library
code. We ought to add an API to MeshBase to let users supply their own
instance of a Partitioner subclass.
> In addition, I want to confirm that libmesh will call METIS for mesh
> partitioning after libmesh reads the mesh data.
The partitioner is called in MeshBase::prepare_for_use(), which gets
called as soon as the mesh has been fully generated or loaded from a