[firedrake] Interpolating data to Function

Lawrence Mitchell lawrence.mitchell at imperial.ac.uk
Thu Jul 31 18:40:54 BST 2014


> On 31 Jul 2014, at 16:40, Tuomas Karna <tuomas.karna at 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



More information about the firedrake mailing list