I read about the parallel part of PALABOS, it says blocks will be automotive seperated into cores when parallel. However, when I do a parallel with MultiLevelCoupling, I find during the generating of MultiLevelCoupling, the RAM costs doubled if I use 2 cores. So I come to quire whether MultiLevelCoupling can also divided to each core or just duplicated them to each cores?
My simulation is flow pass a huge blade. I use many refinement region around it to reduce the memory cost. However, the memory seems not so obviously parallel when mpirun.
For example, if I use D3Q19 for 10010001000 MultiblockLattice, the totally memory will be 1910^88/(10^9)=8G. For 10 cores, it will be each 1G.
But if I use a MultiCouplinglattice to get the same nodes, the totally memory cost for a single core is nearly 28G. The most important is if I use 4 cores, each one will need 24G. Further, 20 cores need 7G each.
So I am so confused that whether MultiCouplingLattice have the same parallel ability as Multiblock?
Very thanks for your reply, this is really confused me a lot.
I was test this part last months, and this is my consider:
My nBlock = 6, block number is 143,304 and total nodes print by PALABOS is 30,000,000.
The real nodes on a block edge should be 6+1 and additional 2 for parallel ghost nodes. So the memory cost should be 1433049^319*8/1024^3 =16 GB. However when 20 cores are use, it need 45GB. I have already reduce the stl size to just 10MB.