# Meshes in codes that do AMR

In light of this question and some stuff I read online I am wondering if large FE libs (e.g., deal.ii, libmesh etc.) that do AMR keep the entire mesh or possibly a coarse version of the entire mesh on each core. Also, does this limit the size of the problems that can be solved on machines with low RAM per core.

Finally how is load balancing performed? Is the entire mesh repartitioned after each refinement/coarsening step?

-

We use the p4est library for partitioning the parallel mesh. And no, you can't keep any vectors that are proportional to the problem size, though there are a few arrays we need to keep with size equal to the number of MPI processes. As long as our jobs are only a couple of 10,000 cores, this is not too much of a problem. It will be a problem when we get to $10^7$ or more cores. –  Wolfgang Bangerth Mar 5 at 15:20