Re: [firedrake] Interpolating data to Function
On 31 Jul 2014, at 16:40, Tuomas Karna <tuomas.karna@gmail.com> wrote:
Lawrence,
Another quick question. Is there a mapping somewhere that maps the local nodes stored in func.dat.data to global indices (i.e. nodes of the entire mesh)?
This does exist, but it won't do what you want, since it's not unique when repartitioning. Essentially it's just an mpi_exscan of the local numbers. The ordering of the local dofs will change on a different number of partitions, so the global ordering will be different too. In short, the dat.save/dat.load solution works when restarting on the same number of processes, but we don't have a solution at the moment for general restart, but see below.
I'd like to store the function states to disk so that I could restart simulations. func.dat.save saves the local array for each process. The partitioning however may change between runs, so I'd need to store the global array.
We don't currently have a mechanism for doing this. Michael Lange has been working on incorporating the hdf5 io offered by petsc as a replacement for both visualisation output and also check pointing. However, I think it is still work in progress. Lawrence
On 07/31/2014 10:40 AM, Lawrence Mitchell wrote:
On 31 Jul 2014, at 16:40, Tuomas Karna <tuomas.karna@gmail.com> wrote:
Lawrence,
Another quick question. Is there a mapping somewhere that maps the local nodes stored in func.dat.data to global indices (i.e. nodes of the entire mesh)? This does exist, but it won't do what you want, since it's not unique when repartitioning. Essentially it's just an mpi_exscan of the local numbers. The ordering of the local dofs will change on a different number of partitions, so the global ordering will be different too.
In short, the dat.save/dat.load solution works when restarting on the same number of processes, but we don't have a solution at the moment for general restart, but see below.
I'd like to store the function states to disk so that I could restart simulations. func.dat.save saves the local array for each process. The partitioning however may change between runs, so I'd need to store the global array. We don't currently have a mechanism for doing this. Michael Lange has been working on incorporating the hdf5 io offered by petsc as a replacement for both visualisation output and also check pointing. However, I think it is still work in progress.
Lawrence
OK, good to know. I'll find a workaround for the time being. - Tuomas
participants (2)
- 
                
                Lawrence Mitchell
- 
                
                Tuomas Karna