-------- Original Message --------
Subject: Re: [FEniCS] HDF5File saving Functions with invariant cells and dofs
Date: 03/10/2013 09:49
From: Chris Richardson <[email protected]>
To: Maximilian Albert <[email protected]>
Copy: "Garth N. Wells" <[email protected]>, [email protected]

On 03/10/2013 09:40, Maximilian Albert wrote:
2013/10/3 Garth N. Wells <[email protected]>:

What's required is the right abstraction for handling Functions and
files. I think the hashing approach is more a hack. What about
something along the lines of:

    Function u(V);
    Function w(V);

    HDF5Function hdf5_function_file("my_filename.h5", "w");
    hdf5_function_file.register(u, "u_name");
    hdf5_function_file.register(w, "w_name");

    hdf5_function_file.parameters["common_mesh"] = true;
    hdf5_function_file.parameters["write_mesh_once"] = true;

    // Write all registered functions
    hdf5_function_file.write();

    // Write all registered functions again
    hdf5_function_file.write();

   // Write u only
    hdf5_function_file.write("u_name");

I can't comment on the efficienty/implementation side of things, but
from a user's point of view my first reaction is that I like this
idea.

My question is, how does this relate to time-dependent problems? Would
it be easy to associate timestep information with the saved functions
through the interface suggested above? From a UI point of view I would
imagine that something like this makes sense:

    // Write all functions at timestep t=0
    hdf5_function_file.write(t=0);

    // Write u only at timestep t=2.5
    hdf5_function_file.write("u_name", t=2.5);

(If no timestep is provided, it could just increase in steps of 1 or so.)

Are there any fundamental problems with this approach I'm missing? If
not, is it something you'd be willing to implement/support? Also,
could this be easily intergrated with XDMF files, so that animations
(e.g. in Paraview) would use the correct timesteps? I haven't checked
recently, but a while ago whenever a field was saved in dolfin this
created a new timestep in the XDMF file so that it was impossible to
animate a timeseries of two fields simultaneously.


I am not entirely convinced that this extra level of complexity is required.
I think the HDF5File should be a generic container which can accept
different types of object inside it, rather than having different types of
file for different types of object.

It is quite reasonable to attach tags (such as timestamps) to HDF5 datasets,
and we should support this through the HDF5 attributes interface.

The HDF5File interface to Function is fundamentally incompatible with visualisation, because it supports a wider range of FunctionSpaces

Chris
_______________________________________________
fenics mailing list
[email protected]
http://fenicsproject.org/mailman/listinfo/fenics

Reply via email to