From: Xiang LI <ma...@us...> - 2019-01-23 06:29:12
|
Dear Libmesh developers and users, Currently I am using libMesh to solve problems with large parallel computers. I met some problems with the load-balance of unstructured mesh. I was wondering that if you have any suggestions for it. I am solving a fluid system in a cube. The mesh I use is unstructured, in which the element size decays exponentially as it approaches to the boundary of the cube. I generate the mesh by directly modifying mesh_generation.C, giving the coordinates of the dofs directly in the code. The code works well and I can get correct results. In order to solve it in parallel, I use --enable-parmesh in the configuration of libMesh and use asm preconditioners with PETSc GMRES solver. The problem is that the degrees of freedom seem not to be distributed "evenly" over each processor. For example, in a test problem, I tried to solve with 960 processors. In this case, some processors are given about 10,000 dofs, while some other processors are given about 20,000 dofs. In this case, seems that the load-balance is not correctly done for the unstructered mesh. I was wondering that if libMesh can handle it, and how to modify the code to make my code well-balanced in parallel? Best, Leo |