Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 13 additions & 1 deletion CHANGELOG.rst
Original file line number Diff line number Diff line change
Expand Up @@ -8,11 +8,23 @@ Change Log
<https://semver.org/>`_.

5.x
___
---

Next release
^^^^^^^^^^^^^^^^^^

*Added:*

* ``gsd.hoomd`` schema now supports ``float64`` and ``float32`` values.
Choose the desired precision with the ``precision`` argument to ``open`` (#495).

*Changed:*

* ``Frame.validate`` no longer modifies its contents in place by default.
Pass ``inplace=True`` to recover the previous behavior (#495).
* New files created by ``gsd`` 5.0 are schema version 2.0 and may not
be readable by older software (#495).

*Removed*:

* ``SIGTERM`` handler (#501)
Expand Down
1 change: 1 addition & 0 deletions doc/credits.rst
Original file line number Diff line number Diff line change
Expand Up @@ -20,3 +20,4 @@ The following people contributed to GSD.
* Charlotte Shiqi Zhao, University of Michigan
* Tim Moore, University of Michigan
* Joseph Burkhart, University of Michigan
* Nicholas Craven, Vanderbilt University
50 changes: 39 additions & 11 deletions doc/schema-hoomd.rst
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,21 @@ chunks. Any newer reader will initialize new data chunks with default values
when they are not present in an older version file.

:Schema name: ``hoomd``
:Schema version: 1.4
:Schema version: 2.0

.. seealso::

`hoomd.State` for a full description of how HOOMD interprets this
data.

Changes
-------

Version 2.0
^^^^^^^^^^^

* Each ``float`` data chunk in 2.0 schema files may be either *float32* or *float64*.

Use-cases
---------

Expand Down Expand Up @@ -138,7 +146,7 @@ Configuration

.. chunk:: configuration/box

:Type: float
:Type: float32 *or* float64
:Size: 6x1
:Default: [1,1,1,0,0,0]
:Units: *varies*
Expand All @@ -150,6 +158,8 @@ Configuration
* ``box[0:3]``: :math:`(l_x, l_y, l_z)` the box length in each direction, in length units
* ``box[3:]``: :math:`(xy, xz, yz)` the tilt factors, dimensionless values

.. versionchanged:: 2.0


Particle data
-------------
Expand Down Expand Up @@ -208,31 +218,37 @@ Attributes

.. chunk:: particles/mass

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx1
:Default: 1.0
:Units: mass

Store the mass of each particle.

.. versionchanged:: 2.0

.. chunk:: particles/charge

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx1
:Default: 0.0
:Units: charge

Store the charge of each particle.

.. versionchanged:: 2.0

.. chunk:: particles/diameter

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx1
:Default: 1.0
:Units: length

Store the diameter of each particle.

.. versionchanged:: 2.0

.. chunk:: particles/body

:Type: int32
Expand All @@ -246,7 +262,7 @@ Attributes

.. chunk:: particles/moment_inertia

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx3
:Default: 0,0,0
:Units: mass * length^2
Expand All @@ -255,12 +271,14 @@ Attributes
This inertia tensor is diagonal in the body frame of the particle. The
default value is for point particles.

.. versionchanged:: 2.0

Properties
^^^^^^^^^^

.. chunk:: particles/position

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx3
:Default: 0,0,0
:Units: length
Expand All @@ -281,9 +299,11 @@ Properties
Where :math:`l_x`, :math:`l_y`, :math:`l_z`, :math:`xy`, :math:`xz`, and :math:`yz` are the
simulation box parameters (:chunk:`configuration/box`).

.. versionchanged:: 2.0

.. chunk:: particles/orientation

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx4
:Default: 1,0,0,0
:Units: unit quaternion
Expand All @@ -293,28 +313,34 @@ Properties
where the quaternion is :math:`q = r + a_xi + a_yj + a_zk`. A unit
quaternion has the property: :math:`\sqrt{r^2 + a_x^2 + a_y^2 + a_z^2} = 1`.

.. versionchanged:: 2.0

Momenta
^^^^^^^^

.. chunk:: particles/velocity

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx3
:Default: 0,0,0
:Units: length/time

Store the velocity of each particle :math:`(v_x, v_y, v_z)`.

.. versionchanged:: 2.0

.. chunk:: particles/angmom

:Type: float (32-bit)
:Type: float32 *or* float64
:Size: Nx4
:Default: 0,0,0,0
:Units: quaternion

Store the angular momentum of each particle as a quaternion. See the HOOMD
documentation for information on how to convert to a vector representation.

.. versionchanged:: 2.0

.. chunk:: particles/image

:Type: int32
Expand Down Expand Up @@ -509,14 +535,16 @@ Topology

.. chunk:: constraints/value

:Type: float
:Type: float32 *or* float64
:Size: Nx1
:Default: 0
:Units: length

Store the distance of each constraint. Each constraint defines a fixed
distance between two particles.

.. versionchanged:: 2.0

.. chunk:: constraints/group

:Type: uint32
Expand Down
Loading