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
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users