Gromacs  2020.4
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Classes | Files
Handling of writing new coordinate files
+ Collaboration diagram for Handling of writing new coordinate files:


Provides basic functions to handle writing of new coordinate files.

The methods included in the coordinateio module implement the basics for manipulating and writing coordinate trajectory files and changing metadata in the underlying datastructures. Included are a container for storing modules that change trajectory data, as well as a manager to write output files that uses those methods. It can be used from within Framework for Trajectory Analysis (trajectoryanalysis), and uses methods from:


The methods in coordinateio provide the infrastructure to perform operations on coordinate data files and structures during data analysis. It implements ways to change the information in coordinate data structures as well as checking that both input data and output method are matching for a given coordinate file writing operation. For this components verify first that all the requirements can be satisfied. Then components are build that will change the coordinate information accordingly.

The main parts are the outputadapters implemented using the IOutputAdapter interface to change information in a local (deep) copy of t_trxframes stored in the coordinatefile.


Each OutputAdapter module implements the same IOutputAdapter interface and has to set its requirements for final processing as a flag from the enum in requirementflags. During processing, they implement a custom version of the processFrame directive that modifies the stored trajectory data before writing a new file to disk.

The interaction between the CoordinateFile and the OutputAdapter modules derived from IOutputAdapter is shown in the diagram below.


Once the CoordinateFile object and its registered modules are created, they can be used to iterate over input data to write new coordinate frames.

Paul Bauer


class  gmx::TrajectoryFileOpener
 Low level method to take care of only file opening and closing. More...
class  gmx::TrajectoryFrameWriter
 Writes coordinate frames to a sink, e.g. a trajectory file. More...
class  gmx::IOutputAdapter
 OutputAdapter class for handling trajectory file flag setting and processing. More...
class  gmx::OutputSelector
 OutputSelector class controls setting which coordinates are actually written. More...
class  gmx::SetAtoms
 SetAtoms class controls availability of atoms data. More...
class  gmx::SetBox
 Allows changing box information when writing a coordinate file. More...
class  gmx::SetForces
 SetForces class allows changing writing of forces to file. More...
class  gmx::SetPrecision
 SetPrecision class allows changing file writing precision. More...
class  gmx::SetStartTime
 SetStartTime class allows changing trajectory time information. More...
class  gmx::SetTimeStep
 SetTimeStep class allows changing trajectory time information. More...
class  gmx::SetVelocities
 SetVelocities class allows changing writing of velocities to file. More...


file  coordinatefile.h
 CoordinateFile takes care of opening files and writing output to them.
file  ioutputadapter.h
 Declares gmx::IOutputAdapter interface for modifying coordinate file structures before writing them to disk.
file  outputadaptercontainer.h
 Declares gmx::OutputAdapterContainer, a storage object for multiple outputadapters derived from the IOutputadaper interface.
file  outputselector.h
 Declares gmx::OutputSelector.
file  setatoms.h
 Declares gmx::SetAtoms.
file  setbox.h
 Declares gmx::SetBox.
file  setforces.h
 Declares gmx::SetForces.
file  setprecision.h
 Declares gmx::SetPrecision.
file  setstarttime.h
 Declares gmx::SetStartTime.
file  settimestep.h
 Declares gmx::SetTimeStep.
file  setvelocities.h
 Declares gmx:SetVelocities.
file  outputadapters.h
 Public API convenience header for accessing outputadapters.
file  requirements.h
 Storage object for requirements to build coordinate file writer.