[Top][All Lists]

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

Re: [h5md-user] Particle tracking

From: Peter Colberg
Subject: Re: [h5md-user] Particle tracking
Date: Sun, 1 Sep 2013 17:33:33 -0400
User-agent: Mutt/1.5.21 (2010-09-15)

On Sun, Sep 01, 2013 at 04:23:35PM -0400, Pierre de Buyl wrote:
> Coming back to my previous message and the use of "id", one could
> set id=-1 where there is no particle. If the fill value [1] of "id"
> is set to -1, this is achieved at no cost for empty slots and it
> would also not impose any specific memory arrangement for the empty
> slots.
> Counting the number of >=0 items in "id" would give the number of
> particles at a given time.
> [1] http://www.hdfgroup.org/HDF5/doc/UG/10_Datasets.html#Allocation
> Just thinking out loud :-)

That would be a solution with minimal impact on the specification.

I was also reminded of the parallel case (MPI), where, as Olaf pointed
out before, dataset reads and writes of a subset of particles on a
compute node might be subject to alignment constraints. Using a fill
value for the "id" dataset would allow for holes in the particle data
to meet such alignment requirements.

As always, HDF5 assists us with a function, H5Pset_fill_value [1].

[1] http://www.hdfgroup.org/HDF5/doc/RM/RM_H5P.html#Property-SetFillValue

The "id" dataset is created with a property setting the fill value to -1,
so during the simulation only the valid ids need to be set.

Should we include the id fill value in the H5MD version 1.0.0?

I am insistent over the issue, since I had a problem a few days ago
where a variable particle number would have helped. For visualization,
I needed to store a varying subset (~ 1000) of the system (10^5
particles) to avoid many gigabytes of unneeded trajectory data.


reply via email to

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