Felix Höfling | 15 May 2013 12:10
Picon
Favicon

Pre-averaged observables

Hi all,

sometimes, one wants to store pre-averaged observables, i.e. accumulated  
over a certain time span. For example, compute the pressure every 1000  
steps and compute the mean from 10 values, i.e. writing the data only  
every 10000 steps. Such a functionality is provided by LAMMPS and recently  
also by HALMD.

http://lammps.sandia.gov/doc/fix_ave_time.html
http://halmd.org/modules/observables/utility/accumulator.html

Now my question: how shall such data be stored in the H5MD observables  
group? Along with the mean value, one would like to store also the  
standard error (or the variance) and the number of accumulated values. One  
scheme would be to distribute this information over several groups under  
the roof of the observable's name:

obs1
   \-- mean
   |    +-- count
   |    \-- value
   |    \-- step
   |    \-- time
   |
   \-- error_of_mean
   |    +-- count
   |    \-- value
   |    \-- step
   |    \-- time
   |
(Continue reading)

Peter Colberg | 7 May 2013 23:05
Picon
Picon
Favicon

Re: H5MD

Dear Valérie,

Welcome to the community of H5MD users!

On Mon, May 06, 2013 at 02:17:01PM -0500, Valérie Vallet wrote:
> I am writing to you regarding your project on H5MD. I came across
> H5MD when searching for MD-codes and vizualisation tools that would
> write/read HDF5 files for MD trajectories. From the mailing list
> discussion, I realize that you should soon release a first version
> of H5MD. When do you exactly schedule this? Will the H5MD be C, F90,
> python compatible? These are some of the question I have for the
> moment. 
>
> It looks like you library will exactly do what we want in terms of
> generating a structured MD file.
> 
> Will you also work with visualization programs to include H5MD
> reading features in there? I am thinking of VMD for instance.
> 
> Thanks a lot in advance for your answer.

H5MD itself is a specification for storing molecular data using the
HDF5 [1] file format, so any HDF5 software can be used to read and
write H5MD files.

[1] http://www.hdfgroup.org/HDF5/

The HDF5 library provides interfaces for C and Fortran, which one
would typically use for the heavy-duty output in simulation codes.
The main “low-level” HDF5 API [2] seems vast at first, but you will
(Continue reading)

Felix Höfling | 6 May 2013 16:17
Picon
Favicon

unit attributes

Hi,

I realised that the optional attribute "unit" is only mentioned for the  
"value" datasets in the trajectory group. Actually, the "time" dataset may  
also carry a unit. The same applies for the groups in /observables.

I would like to generalise and to modify the value/step/time structure of  
data groups as

data_group
  \-- value
      +-- unit
  \-- step
  \-- time
      +-- unit

Felix

Peter Colberg | 6 May 2013 14:11
Picon
Picon
Favicon

Periodic and non-periodic boundary conditions

Hi all,

How should we store the boundary conditions of a cuboid/triclinic box?

  trajectory
   \-- group1
        \-- box
             +-- type
             +-- periodic

The periodic boundary conditions could be attached to the “box” group
as a D-dimensional attribute “periodic” of integer type, where each
element indicates whether the dimension is periodic (non-zero value)
or non-periodic (zero). Note that HDF5 does not support booleans [1].

[1] http://www.hdfgroup.org/hdf5-quest.html#bool

Does this scheme cover all possible boundary conditions in your simulations?

Peter

Peter Colberg | 5 May 2013 22:19
Picon
Picon
Favicon

Box image vectors

Hi,

While implementing the trajectory I/O for my new simulation codes,
I noticed that H5MD does not yet specify box image vectors in the
trajectory subgroup(s).

I suggest to specify a trajectory subgroup as follows:

    trajectory
     \-- group1
          \-- position
          |    \-- value
          |    \-- step
          |    \-- time
          \-- velocity
          |    \-- value
          |    \-- step
          |    \-- time
          \-- force
          |    \-- value
          |    \-- step
          |    \-- time
          \-- image
          |    \-- value
          |    \-- step
          |    \-- time
          \-- species
          |    \-- value
          |    \-- step
          |    \-- time
(Continue reading)

Peter Colberg | 2 May 2013 22:57
Picon
Picon
Favicon

Minor revisions before H5MD v1.0

Hi all,

As we are closing on the first release of H5MD, I would like to bring
in two minor revisions, one concerning the box group, and one with
regard to the parameters group.

For the box group, in the fixed-size case, I would recommend to store
"edges" and "offset" as attributes. Besides being the “right” way to
store small data, this sets a good example for users with regard to
their custom metadata.

The "parameters" group is intended as a program-dependent group.
I suggest to remove the "parameters/dimension" attribute, as it
is in contrast to the purpose of this group. The dimension can
be derived from, e.g., the "edges" attributes or "edges/value"
dataset, similar to the number of particles being derived from
"position/value" dataset(s).

I am looking forward to the H5MD release :-).

(This weekend is the release weekend of Debian. Hurray!)

Peter

Pierre de Buyl | 15 Apr 2013 16:16
Picon
Picon
Favicon

Re: VMD reader plugin for H5MD

Hi,

Sent to Olaf Lenz at first, here it goes to the list.

P

On Mon, Apr 15, 2013 at 03:45:36PM +0200, Pierre de Buyl wrote:
> Hi Olaf,
> 
> Great news! At the moment, there is no "official" H5MD software. However, I
> started to write a h5py based Python class to manage H5MD files. This may help,
> for instance, to write test files or to have a look at the code.
> 
> https://github.com/pdebuyl/pyh5md
> 
> HTH,
> 
> Pierre
> 
> On Mon, Apr 15, 2013 at 03:05:35PM +0200, Olaf Lenz wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > Hi everybody!
> > 
> > I think one of the things that the h5md format is lacking at the moment
> > is that there is no simple way to visualize h5md files. As we want to
> > use h5md in our software ESPResSo, one of our students (Sascha Ehrhardt)
> > has started to write a file reader plugin for the VMD software
> > 
(Continue reading)

Olaf Lenz | 15 Apr 2013 15:05
Picon
Favicon
Gravatar

VMD reader plugin for H5MD


Hi everybody!

I think one of the things that the h5md format is lacking at the moment
is that there is no simple way to visualize h5md files. As we want to
use h5md in our software ESPResSo, one of our students (Sascha Ehrhardt)
has started to write a file reader plugin for the VMD software

  http://www.ks.uiuc.edu/Research/vmd/

If anybody has any material that might help him, we would be happy to
hear about that. Of course, we will write to the list as soon as we have
something that works.

Olaf
--

-- 
Dr. rer. nat. Olaf Lenz
Institut für Computerphysik, Allmandring 3, D-70569 Stuttgart
Phone: +49-711-685-63607
Pierre de Buyl | 25 Jan 2013 20:23
Picon
Picon
Favicon

Beginning of pyh5md

Hi,

In order to provide a working example of H5MD, I started pyh5md.

In a short list of commands (requirements: numpy, matplotlib and h5py).
Also, you may need to edit the export PYTHONPATH line.

git clone git@...:pdebuyl/pyh5md.git
cd pyh5md/
cat README.md 
python setup.py build
export PYTHONPATH=$PWD/build/lib.linux-x86_64-2.7
cd examples/
python jump_process.py 
python jump_process_analysis.py 

Pierre

Felix Höfling | 25 Jan 2013 16:10
Picon
Favicon

particle number

Hi all,

Let's go on with H5MD after the Christmas break.

I would like to suggest 2 additional attributes:

1) The space dimension shall be stored in /parameters+dimension (as  
integer attribute).

In principle, it can be deduced from the size of the box offset, but this  
appears pretty cumbersome. Apart from handiness, the box may be found  
either in observables or in trajectory, requiring a distinction of  
cases—just to obtain the space dimension.

2) If data are present only in /observables, the number of particles can  
not be inferred. My suggestion is to supplement each observable group with  
an attribute indicating the number of particles that lead to this specific  
average. (So far, all macroscopic observables result from an average over  
particles.) Thereby, also partial observables of particle subgroups are  
handled correctly. The attribute may be attached either to the top groups  
('all', 'A', and so on), or to individual data groups like 'total_energy'.

I believe that both attributes are of sufficient generality to deserve a  
place in H5MD, and I will add them if there are no urgent objections.

BTW, what is missing as well is an (optional) error field (=standard  
deviation) for the observables. What do you think?

Regards,

(Continue reading)

Felix Höfling | 10 Sep 2012 09:14
Picon
Favicon

box data as part of trajectory/position

Hi H5MD users,

[I realised that I sent this post to the wrong thread, where it clearly  
was off topic. Since there was no response so far, I will try again with a  
new thread.]

I thought about the box again since I feel not really comfortable with the
current specification. I find it a bit awkward that the observables group
must be present if a file contains trajectory data only. Further, the box
information is only needed in conjuction with position data. If only
velocities are stored (for some reason), the box is not needed. And the
maybe strongest point last: for time-dependent boxes, there shall be a
simple way to retrieve the corresponding box size for a given entry in the
position time series. (Currently, the box may be stored at different
intervals than the positions).

My suggestion is to link the box much tighter to the position data. The
box group in observables may still be present and can be realised by
appropriate hard links. The following suggestion ensures that the box data
are available within each position group consistently using the same time
grid as the position data:

trajectory
    \-- group1
    |  \-- position
    |    |    \-- value
    |    |    \-- step
    |    |    \-- time
    |    \-- box
    |         +-- type
(Continue reading)


Gmane