<div dir="ltr"><div><div>Yes, it can be either DMDA or DMPlex. For example, I have 1D DMDA with Nx=10 and np=2. At the beginning each processor owns 5 cells. After some simulation time, I found that repartition the 10 cells into 3 and 7 is better for load balancing. Is there an easy/efficient way to migrate data from one partition to another partition? I am wondering whether there are some functions or libraries help me manage this redistribution.<br><br></div>Thanks.<br></div>Xiangdong<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jan 28, 2016 at 12:20 AM, Jed Brown <span dir="ltr"><<a href="mailto:jed@jedbrown.org" target="_blank">jed@jedbrown.org</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">Xiangdong <<a href="mailto:epscodes@gmail.com">epscodes@gmail.com</a>> writes:<br>
<br>
> I have a question on dynamic load balance in petsc. I started running a<br>
> simulation with one partition. As the simulation goes on, that partition<br>
> may lead to load imbalance since it is a non-steady problem. If it is worth<br>
> to perform the load balance, is there an easy way to re-partition the mesh<br>
> and continue the simulation?<br>
<br>
</span>Are you using a PETSc DM?  What "mesh"?  If you own it, then<br>
repartitioning it is entirely your business.<br>
<br>
In general, after adapting the mesh, you rebuild all algebraic data<br>
structures.  Solvers can be reset (SNESReset, etc.).<br>
</blockquote></div><br></div>