h5md-user
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[h5md-user] topology


From: Pierre de Buyl
Subject: [h5md-user] topology
Date: Tue, 22 Apr 2014 13:59:24 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

Hi all,

Topology was deliberately left out of H5MD 1.0. The intent was that feedback on
this point was needed, as well as some experience with relevant simulations.

I have started to work on polymer simulations recently and I have chosen a way
to store topology information that requires no "conceptual" addition to H5MD.

Depending on the direction of the discussion this could become either a module
or a part of the specification itself.

Here is how I do:

1. Create a "/topology" group that contains groups named directly after those in
"/particles". This is similar to what is done in the thermodynamics module
http://nongnu.org/h5md/modules/thermodynamics.html#observables
2. Within the groups, H5MD elements store bonds as [N_bonds][bond_order] data.
For pairs, bond_order=2, for instance. This allows to store angles and
dihedrals. This also allows to store several bond lists (you could have pairs
for separate potentials, for instance).

As these are H5MD elements, you can store them in a time-dependent fashion. This
requires that a "fill value" is defined if you need to grow the dataset in
"N_bonds". I use "-1" but the value itself can be retrieved and does not need to
be in the specification.

I show below a "h5ls -r" dump of a topology group:
"""
/chains                  Dataset {4000, 2}
/crosslinks              Group
/crosslinks/step         Dataset {100/Inf}
/crosslinks/time         Dataset {100/Inf}
/crosslinks/value        Dataset {100/Inf, 417/Inf, 2}
"""

Here, "chains" is a "fixed in time" element of 4000 pairs and "crosslinks" is a
"time dependent" element with 100 time steps and at most 417 pairs.

The position in "/topology/<group>" could be (in my opinion) changed to
"/particles/<group>/topology". I wanted to work with minimal modifications,
which why I use "/topology" now but putting the information in "/particles"
seems more natural to me.

For completeness, I need to say that I currently use ESPResSo++
http://www.espresso-pp.de/ . I cannot tell if this influenced my proposition.

Cheers,

Pierre




reply via email to

[Prev in Thread] Current Thread [Next in Thread]