On 3 June 2013 14:17, Nico Schlömer <[email protected]> wrote: > Hi all, > > since recently, I'm doing time-dependent computations where Navier--Stokes, > the heat equation, and Maxwell's equations are coupled such that the > solution is composed of (u, p, theta, E, B), all of which are living on the > same mesh. When storing the files, I use a separate file for each quantity > and I eventually get a directory full of > > velocity*.vtu > pressure*.vtu > temperature*.vtu > magnetic*.vtu > electric*.vtu > > The total amount of data is easily in the range of several GB. > This becomes a bottle neck for storage and post-processing, so I was > thinking about ways to reduce this. > > One thing that's immediately obvious is the fact that the mesh is stored > anew for each variable in each time step. When looking at the files, mesh > data accounts for about 70% of the data per file. > I now ask myself the question what a sensible backwards-compatible API would > look like to storing several arrays in one file. On the Python side, I could > imagine admitting a list of functions to the writer, > > File('myfile.pvd') << ([u, p, theta, E, B], t) > > (with an assertion that the functions indeed to live on the same mesh). I'm > not sure how (if?) this would translate to C++ though. > > Has anyone else ever run into similar issues or thought about this? >
Use XDMF. It addresses a number of these issues, and can eventually be made (with feedback) to address all of them. Garth > Cheers, > Nico > > _______________________________________________ > fenics mailing list > [email protected] > http://fenicsproject.org/mailman/listinfo/fenics > _______________________________________________ fenics mailing list [email protected] http://fenicsproject.org/mailman/listinfo/fenics
