Dear all,

        I would like to create a mesh in parallel. I configured libMesh with 
--enable-parmesh and did some experiments. For example, I run an example 
introduction_ex4.C which solves the Poisson's equation in parallel with 48 
processors. I create a 80*80*80 grid and what I got is as follows:



Mesh Information:
  elem_dimensions()={3}
  spatial_dimension()=3
  n_nodes()=4173281
    n_local_nodes()=91821
  n_elem()=512000
    n_local_elem()=10631
    n_active_elem()=512000
  n_subdomains()=1
  n_partitions()=48
  n_processors()=48
  n_threads()=1
  processor_id()=0



        I observed that the code is successfully parallelized, but in each 
processor the mesh use more than 1G memory. Seems that each processor stored a 
copy of the whole mesh (the memory usage of mesh is unchanged if I use 96 
processors instead). My questions are as follows:



        1. Why the mesh is not stored in parallel? Is it because that my 
configuration is not successful, or I should modify the code? If I should 
modify the code, I was wondering how to do it. Do I need to initialize 
ParallelMesh or DistributedMesh instead of simply use Mesh mesh(init.comm()) at 
first?



        2. Is there a primer or an example on how to use ParallelMesh or 
DistributedMesh? Is it OK to use a ParallelMesh in the same way as a normal 
Mesh?



        3.For some reason I am still using libMesh 0.9.5. Is it crucial to 
update libMesh if I have to use ParallelMesh?



Thanks

Xiang












_______________________________________________
Libmesh-users mailing list
Libmesh-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to