matrix box,rvec *x,real prec);
/* Write a frame to xtc file */
</pre>
-To use the library function include <tt>"xtcio.h"</tt>
+To use the library function include <tt>"gromacs/fileio/xtcio.h"</tt>
in your file and link with <tt>-lgmx.$(CPU)</tt>
<p>
#include <math.h>
#include "main.h"
#include "macros.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "copyrite.h"
#include "sysstuff.h"
#include "txtdump.h"
#include "gmx_fatal.h"
-#include "xtcio.h"
-#include "enxio.h"
+#include "gromacs/fileio/xtcio.h"
+#include "gromacs/fileio/enxio.h"
#include "smalloc.h"
-#include "gmxfio.h"
-#include "tpxio.h"
-#include "trnio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trnio.h"
#include "txtdump.h"
#include "vec.h"
#include "ns.h"
#include "smalloc.h"
#include "wnblist.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "statutil.h"
#include "copyrite.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "pbc.h"
#include "vec.h"
#include "mshift.h"
#include "statutil.h"
#include "copyrite.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "gmx_fatal.h"
#include "xvgr.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "index.h"
#include "gstat.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "viewit.h"
#include "gbutil.h"
#include "vec.h"
-#include "confio.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/gmxfio.h"
typedef struct {
int resnr;
#include "mshift.h"
#include "statutil.h"
#include "copyrite.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_fatal.h"
#include "xvgr.h"
#include "gstat.h"
#include "index.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
void cat(FILE *out,char *fn,real t)
{
#include "statutil.h"
#include "gmx_fatal.h"
#include "random.h"
-#include "pdbio.h"
-#include "futil.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/futil.h"
#include "physics.h"
#include "xvgr.h"
#include "vec.h"
#include "names.h"
#include "ehdata.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
t_histo *init_histo(int np,real minx,real maxx)
{
#include "gmx_fatal.h"
#include "random.h"
#include "strdb.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "physics.h"
#include "ehdata.h"
#include "statutil.h"
#include "gmx_fatal.h"
#include "random.h"
-#include "pdbio.h"
-#include "futil.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/futil.h"
#include "physics.h"
#include "xvgr.h"
#include "vec.h"
#include "statutil.h"
#include "random.h"
#include "names.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "physics.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "copyrite.h"
#include "xvgr.h"
#include "string2.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
int main(int argc,char *argv[])
{
#include "pbc.h"
#include "rmpbc.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "index.h"
#include "smalloc.h"
#include "nrnb.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_fatal.h"
#include <math.h>
#include <string.h>
#include <ctype.h>
-#include "pdbio.h"
-#include "confio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
#include "symtab.h"
#include "smalloc.h"
#include "symtab.h"
#include "typedefs.h"
#include "macros.h"
#include "string2.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "vec.h"
#include "statutil.h"
#include "copyrite.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "strdb.h"
gmx_bool isword(char c)
#include "statutil.h"
#include "copyrite.h"
#include "gmx_fatal.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "macros.h"
#include "smalloc.h"
#include "vec.h"
#include "physics.h"
#include "names.h"
#include "txtdump.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "symtab.h"
#include "strdb.h"
#include "atomprop.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#define TET 109.47
#define DCONS 0.117265878
#include "main.h"
#include "nrnb.h"
#include "txtdump.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "mdatoms.h"
#include "copyrite.h"
#include "gmx_fatal.h"
#include "xvgr.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "macros.h"
#include "smalloc.h"
#include "vec.h"
#include "physics.h"
#include "names.h"
#include "txtdump.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "symtab.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
real pot(real x,real qq,real c6,real c12)
{
#include "macros.h"
#include "names.h"
#include "smalloc.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "statutil.h"
#include "writeps.h"
#include "copyrite.h"
#include "smalloc.h"
#include "xmlio.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
int cmain(int argc,char *argv[])
{
add_subdirectory(options)
add_subdirectory(timing)
add_subdirectory(utility)
+add_subdirectory(fileio)
if (NOT GMX_BUILD_MDRUN_ONLY)
add_subdirectory(legacyheaders)
add_subdirectory(gmxana)
#include <boost/shared_ptr.hpp>
-#include "gromacs/legacyheaders/gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gromacs/legacyheaders/oenv.h"
#include "gromacs/legacyheaders/vec.h"
#include "gromacs/legacyheaders/xvgr.h"
--- /dev/null
+#
+# This file is part of the GROMACS molecular simulation package.
+#
+# Copyright (c) 2013, by the GROMACS development team, led by
+# Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+# and including many others, as listed in the AUTHORS file in the
+# top-level source directory and at http://www.gromacs.org.
+#
+# GROMACS is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public License
+# as published by the Free Software Foundation; either version 2.1
+# of the License, or (at your option) any later version.
+#
+# GROMACS is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with GROMACS; if not, see
+# http://www.gnu.org/licenses, or write to the Free Software Foundation,
+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+#
+# If you want to redistribute modifications to GROMACS, please
+# consider that scientific software is very special. Version
+# control is crucial - bugs must be traceable. We will be happy to
+# consider code for inclusion in the official distribution, but
+# derived work must not be called official GROMACS. Details are found
+# in the README & COPYING files - if they are missing, get the
+# official version at http://www.gromacs.org.
+#
+# To help us fund GROMACS development, we humbly ask that you cite
+# the research papers on the package. Check out http://www.gromacs.org.
+
+file(GLOB FILEIO_SOURCES *.cpp *.c)
+set(LIBGROMACS_SOURCES ${LIBGROMACS_SOURCES} ${FILEIO_SOURCES} PARENT_SCOPE)
+
+set(FILEIO_PUBLIC_HEADERS
+ confio.h
+ enxio.h
+ filenm.h
+ futil.h
+ gmx_system_xdr.h
+ gmxfio.h
+ matio.h
+ mdoutf.h
+ pdbio.h
+ tpxio.h
+ trajectory_writing.h
+ trnio.h
+ trx.h
+ trxio.h
+ xdrf.h
+ xtcio.h
+ )
+gmx_install_headers(fileio ${FILEIO_PUBLIC_HEADERS})
+
+if (BUILD_TESTING)
+# add_subdirectory(tests)
+endif (BUILD_TESTING)
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#include "filenm.h"
#include "pdbio.h"
#include "tpxio.h"
+#include "trxio.h"
#include "gmx_fatal.h"
#include "copyrite.h"
-#include "filenm.h"
#include "statutil.h"
#include "pbc.h"
#include "mtop_util.h"
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _confio_h
-#define _confio_h
+#ifndef GMX_FILEIO_CONFIO_H
+#define GMX_FILEIO_CONFIO_H
-#include "typedefs.h"
+#include "../legacyheaders/typedefs.h"
/* For reading coordinate files it is assumed that enough memory
* has been allocated beforehand.
}
#endif
-#endif /* _confio_h */
+#endif /* GMX_FILEIO_CONFIO_H */
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
if (*bOK && *file_version == 1 && nre_test < 0)
{
-#if 0
- if (fp >= ener_old_nalloc)
- {
- gmx_incons("Problem with reading old format energy files");
- }
-#endif
-
if (!ef->eo.bReadFirstStep)
{
ef->eo.bReadFirstStep = TRUE;
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _enxio_h
-#define _enxio_h
+#ifndef GMX_FILEIO_ENXIO_H
+#define GMX_FILEIO_ENXIO_H
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "pbc.h"
+#include "../legacyheaders/sysstuff.h"
+#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/pbc.h"
#include "gmxfio.h"
#ifdef __cplusplus
}
#endif
-#endif /* _enerio_h */
+#endif /* GMX_FILEIO_ENERIO_H */
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
+#include "filenm.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "smalloc.h"
#include "string2.h"
#include "gmx_fatal.h"
-#include "filenm.h"
#include "futil.h"
#include "xdrf.h"
#include "macros.h"
const int *tps;
} t_deffile;
-/* this array should correspond to the enum in include/types/filenm.h */
+/* this array should correspond to the enum in filenm.h */
static const t_deffile
deffile[efNR] =
{
tMPI_Thread_mutex_unlock(&filenm_mutex);
#endif
-#if 0
- for (i = 0; i < efNR; i++)
- {
- deffile[i].defnm = default_file_name;
- }
-#endif
}
const char *ftp2ext(int ftp)
return NULL;
}
-#if 0
-static void add_filters(char *filter, int *n, int nf, const int ftp[])
-{
- char buf[8];
- int i;
-
- sprintf(filter, "*.{");
- for (i = 0; (i < nf); i++)
- {
- sprintf(buf, "%s", ftp2ext(ftp[i]));
- if (*n > 0)
- {
- strcat(filter, ",");
- }
- strcat(filter, buf);
- (*n)++;
- }
- strcat(filter, "}");
-}
-
-char *ftp2filter(int ftp)
-{
- int n;
- static char filter[128];
-
- filter[0] = '\0';
- n = 0;
- switch (ftp)
- {
- case efTRX:
- add_filters(filter, &n, NTRXS, trxs);
- break;
- case efTRN:
- add_filters(filter, &n, NTRNS, trns);
- break;
- case efSTO:
- add_filters(filter, &n, NSTOS, stos);
- break;
- case efSTX:
- add_filters(filter, &n, NSTXS, stxs);
- break;
- case efTPX:
- add_filters(filter, &n, NTPXS, tpxs);
- break;
- default:
- sprintf(filter, "*%s", ftp2ext(ftp));
- break;
- }
- return filter;
-}
-#endif
-
gmx_bool is_optional(const t_filenm *fnm)
{
return ((fnm->flag & ffOPT) == ffOPT);
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _filenm_h
-#define _filenm_h
+#ifndef GMX_FILEIO_FILENM_H
+#define GMX_FILEIO_FILENM_H
#include "futil.h"
extern "C" {
#endif
+/* this enum should correspond to the array deffile in gmxlib/filenm.c */
+enum {
+ efMDP,
+ efTRX, efTRO, efTRN, efTRR, efTRJ, efXTC, efG87,
+ efEDR,
+ efSTX, efSTO, efGRO, efG96, efPDB, efBRK, efENT, efESP, efPQR, efXYZ,
+ efCPT,
+ efLOG, efXVG, efOUT,
+ efNDX,
+ efTOP, efITP,
+ efTPX, efTPS, efTPR, efTPA, efTPB,
+ efTEX, efRTP, efATP, efHDB,
+ efDAT, efDLG,
+ efMAP, efEPS, efMAT, efM2P,
+ efMTX,
+ efEDI,
+ efCUB,
+ efXPM,
+ efRND,
+ efNR
+};
+
+typedef struct {
+ int ftp; /* File type (see enum above) */
+ const char *opt; /* Command line option */
+ const char *fn; /* File name (as set in source code) */
+ unsigned long flag; /* Flag for all kinds of info (see defs)*/
+ int nfiles; /* number of files */
+ char **fns; /* File names */
+} t_filenm;
+
+#define ffSET 1<<0
+#define ffREAD 1<<1
+#define ffWRITE 1<<2
+#define ffOPT 1<<3
+#define ffLIB 1<<4
+#define ffMULT 1<<5
+#define ffRW (ffREAD | ffWRITE)
+#define ffOPTRD (ffREAD | ffOPT)
+#define ffOPTWR (ffWRITE| ffOPT)
+#define ffOPTRW (ffRW | ffOPT)
+#define ffLIBRD (ffREAD | ffLIB)
+#define ffLIBOPTRD (ffOPTRD | ffLIB)
+#define ffRDMULT (ffREAD | ffMULT)
+#define ffOPTRDMULT (ffRDMULT | ffOPT)
+#define ffWRMULT (ffWRITE | ffMULT)
+#define ffOPTWRMULT (ffWRMULT | ffOPT)
+
void set_default_file_name(const char *name);
/* Set the default file name for all file types to name */
/* Return the number of files for the first option with type ftp
and the files in **fns[] (will be allocated), or NULL when none found. */
-#if 0
-/* This function is not thread-safe and used nowhere: */
-char *ftp2filter(int ftp);
-/* Return a file extension filter for file type */
-#endif
-
#define ftp2FILE(ftp, nfile, fnm, mode) ffopen(ftp2fn(ftp, nfile, fnm), mode)
/* Return a file pointer from the filename (see above) */
}
#endif
-#endif /* _filenm_h */
+#endif /* GMX_FILEIO_FILENM_H */
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _futil_h
-#define _futil_h
+#ifndef GMX_FILEIO_FUTIL_H
+#define GMX_FILEIO_FUTIL_H
#include <stdio.h>
-#include "typedefs.h"
-#include "types/commrec.h"
+#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/types/commrec.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _futil_h */
+#endif /* GMX_FILEIO_FUTIL_H */
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2001-2004, The GROMACS development team.
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _gmx_system_xdr_h
-#define _gmx_system_xdr_h
+#ifndef GMX_FILEIO_GMX_SYSTEM_XDR_H
+#define GMX_FILEIO_GMX_SYSTEM_XDR_H
#include <limits.h>
#include <stdio.h>
}
#endif
-#endif /* _gmx_system_xdr_h */
+#endif /* GMX_FILEIO_GMX_SYSTEM_XDR_H */
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
- *
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _gmxfio_h
-#define _gmxfio_h
+#ifndef GMX_FILEIO_GMXFIO_H
+#define GMX_FILEIO_GMXFIO_H
#include <stdio.h>
#include "sysstuff.h"
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
+#ifndef GMX_FILEIO_GMXFIO_INT_H
+#define GMX_FILEIO_GMXFIO_INT_H
/* This is the new improved and thread safe version of gmxfio. */
/* lock/unlock the mutex associated with a fio */
void gmx_fio_lock(t_fileio *fio);
void gmx_fio_unlock(t_fileio *fio);
+
+#endif
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#include "gmx_fatal.h"
-#if 0
-#ifdef HAVE_FSEEKO
-# define gmx_fseek(A, B, C) fseeko(A, B, C)
-# define gmx_ftell(A) ftello(A)
-# define gmx_off_t off_t
-#else
-# define gmx_fseek(A, B, C) fseek(A, B, C)
-# define gmx_ftell(A) ftell(A)
-# define gmx_off_t int
-#endif
-#endif
-
-
/* This is just for clarity - it can never be anything but 4! */
#define XDR_INT_SIZE 4
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _matio_h
-#define _matio_h
+#ifndef GMX_FILEIO_MATIO_H
+#define GMX_FILEIO_MATIO_H
-#include "typedefs.h"
+#include "../legacyheaders/typedefs.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _matio_h */
+#endif /* GMX_FILEIO_MATIO_H */
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+#include "mdoutf.h"
+
+#include "gromacs/legacyheaders/xvgr.h"
+#include "trnio.h"
+#include "xtcio.h"
+#include "gromacs/legacyheaders/mdrun.h"
+#include "gromacs/legacyheaders/smalloc.h"
+
+gmx_mdoutf_t *init_mdoutf(int nfile, const t_filenm fnm[], int mdrun_flags,
+ const t_commrec *cr, const t_inputrec *ir,
+ const output_env_t oenv)
+{
+ gmx_mdoutf_t *of;
+ char filemode[3];
+ gmx_bool bAppendFiles;
+
+ snew(of, 1);
+
+ of->fp_trn = NULL;
+ of->fp_ene = NULL;
+ of->fp_xtc = NULL;
+ of->fp_dhdl = NULL;
+ of->fp_field = NULL;
+
+ of->eIntegrator = ir->eI;
+ of->bExpanded = ir->bExpanded;
+ of->elamstats = ir->expandedvals->elamstats;
+ of->simulation_part = ir->simulation_part;
+
+ if (MASTER(cr))
+ {
+ bAppendFiles = (mdrun_flags & MD_APPENDFILES);
+
+ of->bKeepAndNumCPT = (mdrun_flags & MD_KEEPANDNUMCPT);
+
+ sprintf(filemode, bAppendFiles ? "a+" : "w+");
+
+ if ((EI_DYNAMICS(ir->eI) || EI_ENERGY_MINIMIZATION(ir->eI))
+#ifndef GMX_FAHCORE
+ &&
+ !(EI_DYNAMICS(ir->eI) &&
+ ir->nstxout == 0 &&
+ ir->nstvout == 0 &&
+ ir->nstfout == 0)
+#endif
+ )
+ {
+ of->fp_trn = open_trn(ftp2fn(efTRN, nfile, fnm), filemode);
+ }
+ if (EI_DYNAMICS(ir->eI) &&
+ ir->nstxtcout > 0)
+ {
+ of->fp_xtc = open_xtc(ftp2fn(efXTC, nfile, fnm), filemode);
+ of->xtc_prec = ir->xtcprec;
+ }
+ if (EI_DYNAMICS(ir->eI) || EI_ENERGY_MINIMIZATION(ir->eI))
+ {
+ of->fp_ene = open_enx(ftp2fn(efEDR, nfile, fnm), filemode);
+ }
+ of->fn_cpt = opt2fn("-cpo", nfile, fnm);
+
+ if ((ir->efep != efepNO || ir->bSimTemp) && ir->fepvals->nstdhdl > 0 &&
+ (ir->fepvals->separate_dhdl_file == esepdhdlfileYES ) &&
+ EI_DYNAMICS(ir->eI))
+ {
+ if (bAppendFiles)
+ {
+ of->fp_dhdl = gmx_fio_fopen(opt2fn("-dhdl", nfile, fnm), filemode);
+ }
+ else
+ {
+ of->fp_dhdl = open_dhdl(opt2fn("-dhdl", nfile, fnm), ir, oenv);
+ }
+ }
+
+ if (opt2bSet("-field", nfile, fnm) &&
+ (ir->ex[XX].n || ir->ex[YY].n || ir->ex[ZZ].n))
+ {
+ if (bAppendFiles)
+ {
+ of->fp_dhdl = gmx_fio_fopen(opt2fn("-field", nfile, fnm),
+ filemode);
+ }
+ else
+ {
+ of->fp_field = xvgropen(opt2fn("-field", nfile, fnm),
+ "Applied electric field", "Time (ps)",
+ "E (V/nm)", oenv);
+ }
+ }
+ }
+
+ return of;
+}
+
+void done_mdoutf(gmx_mdoutf_t *of)
+{
+ if (of->fp_ene != NULL)
+ {
+ close_enx(of->fp_ene);
+ }
+ if (of->fp_xtc)
+ {
+ close_xtc(of->fp_xtc);
+ }
+ if (of->fp_trn)
+ {
+ close_trn(of->fp_trn);
+ }
+ if (of->fp_dhdl != NULL)
+ {
+ gmx_fio_fclose(of->fp_dhdl);
+ }
+ if (of->fp_field != NULL)
+ {
+ gmx_fio_fclose(of->fp_field);
+ }
+
+ sfree(of);
+}
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#ifndef GMX_FILEIO_MDOUTF_H
+#define GMX_FILEIO_MDOUTF_H
+
+#include "filenm.h"
+#include <stdio.h>
+#include "../legacyheaders/types/simple.h"
+#include "enxio.h"
+#include "gmxfio.h"
+
+typedef struct {
+ t_fileio *fp_trn;
+ t_fileio *fp_xtc;
+ int xtc_prec;
+ ener_file_t fp_ene;
+ const char *fn_cpt;
+ gmx_bool bKeepAndNumCPT;
+ int eIntegrator;
+ gmx_bool bExpanded;
+ int elamstats;
+ int simulation_part;
+ FILE *fp_dhdl;
+ FILE *fp_field;
+} gmx_mdoutf_t;
+
+gmx_mdoutf_t *init_mdoutf(int nfile, const t_filenm fnm[],
+ int mdrun_flags,
+ const t_commrec *cr, const t_inputrec *ir,
+ const output_env_t oenv);
+/* Returns a pointer to a data structure with all output file pointers
+ * and names required by mdrun.
+ */
+
+void done_mdoutf(gmx_mdoutf_t *of);
+/* Close all open output files and free the of pointer */
+
+#define MDOF_X (1<<0)
+#define MDOF_V (1<<1)
+#define MDOF_F (1<<2)
+#define MDOF_XTC (1<<3)
+#define MDOF_CPT (1<<4)
+
+#endif /* GMX_FILEIO_MDOUTF_H */
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _pdbio_h
-#define _pdbio_h
+#ifndef GMX_FILEIO_PDBIO_H
+#define GMX_FILEIO_PDBIO_H
-#include "sysstuff.h"
-#include "typedefs.h"
-#include "symtab.h"
-#include "atomprop.h"
+#include "../legacyheaders/sysstuff.h"
+#include "../legacyheaders/typedefs.h"
+#include "../legacyheaders/symtab.h"
+#include "../legacyheaders/atomprop.h"
#ifdef __cplusplus
extern "C" {
}
#endif
-#endif /* _pdbio_h */
+#endif /* GMX_FILEIO_PDBIO_H */
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
- *
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _tpxio_h
-#define _tpxio_h
+#ifndef GMX_FILEIO_TPXIO_H
+#define GMX_FILEIO_TPXIO_H
/**************************************************************
* can also be used with the routines in gmxfio.h
*
**************************************************************/
-#include "typedefs.h"
+#include "../legacyheaders/typedefs.h"
#include "gmxfio.h"
#ifdef __cplusplus
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
*
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gallium Rubidium Oxygen Manganese Argon Carbon Silicon
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
#include "gmx_wallcycle.h"
#include "mdrun.h"
#include "confio.h"
+#include "trajectory_writing.h"
+#include "mdoutf.h"
void
do_trajectory_writing(FILE *fplog,
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team,
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#ifndef GMX_FILEIO_TRAJECTORY_WRITING_H
+#define GMX_FILEIO_TRAJECTORY_WRITING_H
+
+#include <stdio.h>
+#include "filenm.h"
+#include "mdoutf.h"
+#include "../legacyheaders/types/simple.h"
+#include "../legacyheaders/types/commrec.h"
+#include "../legacyheaders/update.h"
+#include "../legacyheaders/mdebin.h"
+
+void
+do_trajectory_writing(FILE *fplog,
+ t_commrec *cr,
+ int nfile,
+ const t_filenm fnm[],
+ gmx_large_int_t step,
+ gmx_large_int_t step_rel,
+ double t,
+ t_inputrec *ir,
+ t_state *state,
+ t_state *state_global,
+ gmx_mtop_t *top_global,
+ t_forcerec *fr,
+ gmx_update_t upd,
+ gmx_mdoutf_t *outf,
+ t_mdebin *mdebin,
+ gmx_ekindata_t *ekind,
+ rvec *f,
+ rvec *f_global,
+ gmx_wallcycle_t wcycle,
+ gmx_rng_t mcrng,
+ int *nchkpt,
+ gmx_bool bCPT,
+ gmx_bool bRerunMD,
+ gmx_bool bLastStep,
+ gmx_bool bDoConfOut,
+ gmx_bool bSumEkinhOld
+ );
+/* Wrapper routine for trajectory writing */
+
+void write_traj(FILE *fplog, t_commrec *cr,
+ gmx_mdoutf_t *of,
+ int mdof_flags,
+ gmx_mtop_t *top_global,
+ gmx_large_int_t step, double t,
+ t_state *state_local, t_state *state_global,
+ rvec *f_local, rvec *f_global,
+ int *n_xtc, rvec **x_xtc);
+/* Routine that writes frames to trn, xtc and/or checkpoint.
+ * What is written is determined by the mdof_flags defined above.
+ * Data is collected to the master node only when necessary.
+ */
+
+#endif /* GMX_FILEIO_TRAJECTORY_WRITING_H */
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#include "trajectory_writing.h"
+#include "gromacs/legacyheaders/mvdata.h"
+#include "gromacs/legacyheaders/domdec.h"
+#include "checkpoint.h"
+#include "trnio.h"
+#include "xtcio.h"
+#include "gromacs/legacyheaders/smalloc.h"
+
+static void moveit(t_commrec *cr, rvec xx[])
+{
+ if (!xx)
+ {
+ return;
+ }
+
+ move_rvecs(cr, FALSE, FALSE, xx, NULL, (cr->nnodes-cr->npmenodes)-1, NULL);
+}
+
+void write_traj(FILE *fplog, t_commrec *cr,
+ gmx_mdoutf_t *of,
+ int mdof_flags,
+ gmx_mtop_t *top_global,
+ gmx_large_int_t step, double t,
+ t_state *state_local, t_state *state_global,
+ rvec *f_local, rvec *f_global,
+ int *n_xtc, rvec **x_xtc)
+{
+ int i, j;
+ gmx_groups_t *groups;
+ rvec *xxtc;
+ rvec *local_v;
+ rvec *global_v;
+
+#define MX(xvf) moveit(cr, xvf)
+
+ /* MRS -- defining these variables is to manage the difference
+ * between half step and full step velocities, but there must be a better way . . . */
+
+ local_v = state_local->v;
+ global_v = state_global->v;
+
+ if (DOMAINDECOMP(cr))
+ {
+ if (mdof_flags & MDOF_CPT)
+ {
+ dd_collect_state(cr->dd, state_local, state_global);
+ }
+ else
+ {
+ if (mdof_flags & (MDOF_X | MDOF_XTC))
+ {
+ dd_collect_vec(cr->dd, state_local, state_local->x,
+ state_global->x);
+ }
+ if (mdof_flags & MDOF_V)
+ {
+ dd_collect_vec(cr->dd, state_local, local_v,
+ global_v);
+ }
+ }
+ if (mdof_flags & MDOF_F)
+ {
+ dd_collect_vec(cr->dd, state_local, f_local, f_global);
+ }
+ }
+ else
+ {
+ if (mdof_flags & MDOF_CPT)
+ {
+ /* All pointers in state_local are equal to state_global,
+ * but we need to copy the non-pointer entries.
+ */
+ state_global->lambda = state_local->lambda;
+ state_global->veta = state_local->veta;
+ state_global->vol0 = state_local->vol0;
+ copy_mat(state_local->box, state_global->box);
+ copy_mat(state_local->boxv, state_global->boxv);
+ copy_mat(state_local->svir_prev, state_global->svir_prev);
+ copy_mat(state_local->fvir_prev, state_global->fvir_prev);
+ copy_mat(state_local->pres_prev, state_global->pres_prev);
+ }
+ if (cr->nnodes > 1)
+ {
+ /* Particle decomposition, collect the data on the master node */
+ if (mdof_flags & MDOF_CPT)
+ {
+ if (state_local->flags & (1<<estX))
+ {
+ MX(state_global->x);
+ }
+ if (state_local->flags & (1<<estV))
+ {
+ MX(state_global->v);
+ }
+ if (state_local->flags & (1<<estSDX))
+ {
+ MX(state_global->sd_X);
+ }
+ if (state_global->nrngi > 1)
+ {
+ if (state_local->flags & (1<<estLD_RNG))
+ {
+#ifdef GMX_MPI
+ MPI_Gather(state_local->ld_rng,
+ state_local->nrng*sizeof(state_local->ld_rng[0]), MPI_BYTE,
+ state_global->ld_rng,
+ state_local->nrng*sizeof(state_local->ld_rng[0]), MPI_BYTE,
+ MASTERRANK(cr), cr->mpi_comm_mygroup);
+#endif
+ }
+ if (state_local->flags & (1<<estLD_RNGI))
+ {
+#ifdef GMX_MPI
+ MPI_Gather(state_local->ld_rngi,
+ sizeof(state_local->ld_rngi[0]), MPI_BYTE,
+ state_global->ld_rngi,
+ sizeof(state_local->ld_rngi[0]), MPI_BYTE,
+ MASTERRANK(cr), cr->mpi_comm_mygroup);
+#endif
+ }
+ }
+ }
+ else
+ {
+ if (mdof_flags & (MDOF_X | MDOF_XTC))
+ {
+ MX(state_global->x);
+ }
+ if (mdof_flags & MDOF_V)
+ {
+ MX(global_v);
+ }
+ }
+ if (mdof_flags & MDOF_F)
+ {
+ MX(f_global);
+ }
+ }
+ }
+
+ if (MASTER(cr))
+ {
+ if (mdof_flags & MDOF_CPT)
+ {
+ write_checkpoint(of->fn_cpt, of->bKeepAndNumCPT,
+ fplog, cr, of->eIntegrator, of->simulation_part,
+ of->bExpanded, of->elamstats, step, t, state_global);
+ }
+
+ if (mdof_flags & (MDOF_X | MDOF_V | MDOF_F))
+ {
+ fwrite_trn(of->fp_trn, step, t, state_local->lambda[efptFEP],
+ state_local->box, top_global->natoms,
+ (mdof_flags & MDOF_X) ? state_global->x : NULL,
+ (mdof_flags & MDOF_V) ? global_v : NULL,
+ (mdof_flags & MDOF_F) ? f_global : NULL);
+ if (gmx_fio_flush(of->fp_trn) != 0)
+ {
+ gmx_file("Cannot write trajectory; maybe you are out of disk space?");
+ }
+ gmx_fio_check_file_position(of->fp_trn);
+ }
+ if (mdof_flags & MDOF_XTC)
+ {
+ groups = &top_global->groups;
+ if (*n_xtc == -1)
+ {
+ *n_xtc = 0;
+ for (i = 0; (i < top_global->natoms); i++)
+ {
+ if (ggrpnr(groups, egcXTC, i) == 0)
+ {
+ (*n_xtc)++;
+ }
+ }
+ if (*n_xtc != top_global->natoms)
+ {
+ snew(*x_xtc, *n_xtc);
+ }
+ }
+ if (*n_xtc == top_global->natoms)
+ {
+ xxtc = state_global->x;
+ }
+ else
+ {
+ xxtc = *x_xtc;
+ j = 0;
+ for (i = 0; (i < top_global->natoms); i++)
+ {
+ if (ggrpnr(groups, egcXTC, i) == 0)
+ {
+ copy_rvec(state_global->x[i], xxtc[j++]);
+ }
+ }
+ }
+ if (write_xtc(of->fp_xtc, *n_xtc, step, t,
+ state_local->box, xxtc, of->xtc_prec) == 0)
+ {
+ gmx_fatal(FARGS, "XTC error - maybe you are out of disk space?");
+ }
+ gmx_fio_check_file_position(of->fp_xtc);
+ }
+ }
+}
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _trnio_h
-#define _trnio_h
+#ifndef GMX_FILEIO_TRNIO_H
+#define GMX_FILEIO_TRNIO_H
/**************************************************************
*
*
**************************************************************/
-#include "typedefs.h"
+#include "../legacyheaders/typedefs.h"
#include "gmxfio.h"
#ifdef __cplusplus
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GRoups of Organic Molecules in ACtion for Science
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
/* The gmx_bools indicate whether a field was read from the trajectory.
* not be allocated.
*/
-#ifndef _trx_h
-#define _trx_h
+#ifndef GMX_FILEIO_TRX_H
+#define GMX_FILEIO_TRX_H
-#include "atoms.h"
+#include "../legacyheaders/types/atoms.h"
#ifdef __cplusplus
extern "C" {
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code forxd
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
+
+#include "trxio.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "pbc.h"
#include "statutil.h"
#include "gmxfio.h"
+#include "trxio.h"
+#include "gromacs/legacyheaders/statutil.h"
#include "trnio.h"
#include "names.h"
#include "vec.h"
#include "futil.h"
-#include "gmxfio.h"
#include "xtcio.h"
#include "pdbio.h"
#include "confio.h"
char *persistent_line; /* Persistent line for reading g96 trajectories */
};
+/* utility functions */
+
+int check_times2(real t, real t0, gmx_bool bDouble)
+{
+ int r;
+
+#ifndef GMX_DOUBLE
+ /* since t is float, we can not use double precision for bRmod */
+ bDouble = FALSE;
+#endif
+
+ r = -1;
+ if ((!bTimeSet(TBEGIN) || (t >= rTimeValue(TBEGIN))) &&
+ (!bTimeSet(TEND) || (t <= rTimeValue(TEND))))
+ {
+ if (bTimeSet(TDELTA) && !bRmod_fd(t, t0, rTimeValue(TDELTA), bDouble))
+ {
+ r = -1;
+ }
+ else
+ {
+ r = 0;
+ }
+ }
+ else if (bTimeSet(TEND) && (t >= rTimeValue(TEND)))
+ {
+ r = 1;
+ }
+ if (debug)
+ {
+ fprintf(debug, "t=%g, t0=%g, b=%g, e=%g, dt=%g: r=%d\n",
+ t, t0, rTimeValue(TBEGIN), rTimeValue(TEND), rTimeValue(TDELTA), r);
+ }
+ return r;
+}
+
+int check_times(real t)
+{
+ return check_times2(t, t, FALSE);
+}
+
static void initcount(t_trxstatus *status)
{
status->__frame = -1;
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
+ * Copyright (c) 2001-2004, The GROMACS development team,
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#ifndef GMX_FILEIO_TRXIO_H
+#define GMX_FILEIO_TRXIO_H
+
+#include "../legacyheaders/typedefs.h"
+#include "filenm.h"
+#include "../legacyheaders/readinp.h"
+#include "pdbio.h"
+#include "../legacyheaders/oenv.h"
+#include "gmxfio.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+#if 0 /* avoid screwing up indentation */
+}
+#endif
+
+/* a dedicated status type contains fp, etc. */
+typedef struct t_trxstatus t_trxstatus;
+
+/* I/O function types */
+
+/************************************************
+ * Trajectory functions
+ ************************************************/
+
+int prec2ndec(real prec);
+/* Convert precision in 1/(nm) to number of decimal places */
+
+void clear_trxframe(t_trxframe *fr, gmx_bool bFirst);
+/* Set all content gmx_booleans to FALSE.
+ * When bFirst = TRUE, set natoms=-1, all pointers to NULL
+ * and all data to zero.
+ */
+
+void set_trxframe_ePBC(t_trxframe *fr, int ePBC);
+/* Set the type of periodic boundary conditions, ePBC=-1 is not set */
+
+int nframes_read(t_trxstatus *status);
+/* Returns the number of frames read from the trajectory */
+
+int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind,
+ const atom_id *ind, gmx_conect gc);
+/* Write an indexed frame to a TRX file, see write_trxframe. gc may be NULL */
+
+int write_trxframe(t_trxstatus *status, t_trxframe *fr, gmx_conect gc);
+/* Write a frame to a TRX file.
+ * Only entries for which the gmx_boolean is TRUE will be written,
+ * except for step, time, lambda and/or box, which may not be
+ * omitted for certain trajectory formats.
+ * The precision for .xtc and .gro is fr->prec, when fr->bPrec=FALSE,
+ * the precision is set to 1000.
+ * gc is important for pdb file writing only and may be NULL.
+ */
+
+int write_trx(t_trxstatus *status, int nind, const atom_id *ind, t_atoms *atoms,
+ int step, real time, matrix box, rvec x[], rvec *v,
+ gmx_conect gc);
+/* Write an indexed frame to a TRX file.
+ * v can be NULL.
+ * atoms can be NULL for file types which don't need atom names.
+ */
+
+void close_trx(t_trxstatus *status);
+/* Close trj file as opened with read_first_x, read_frist_frame
+ * or open_trx. Identical to close_trj.
+ */
+
+t_trxstatus *open_trx(const char *outfile, const char *filemode);
+/* Open a TRX file and return an allocated status pointer */
+
+/* get a fileio from a trxstatus */
+t_fileio *trx_get_fileio(t_trxstatus *status);
+
+
+gmx_bool bRmod_fd(double a, double b, double c, gmx_bool bDouble);
+/* Returns TRUE when (a - b) MOD c = 0, using a margin which is slightly
+ * larger than the float/double precision.
+ */
+
+#ifdef GMX_DOUBLE
+#define bRmod(a, b, c) bRmod_fd(a, b, c, TRUE)
+#else
+#define bRmod(a, b, c) bRmod_fd(a, b, c, FALSE)
+#endif
+
+int check_times2(real t, real t0, gmx_bool bDouble);
+/* This routine checkes if the read-in time is correct or not;
+ * returns -1 if t<tbegin or t MOD dt = t0,
+ * 0 if tbegin <= t <=tend+margin,
+ * 1 if t>tend
+ * where margin is 0.1*min(t-tp,tp-tpp), if this positive, 0 otherwise.
+ * tp and tpp should be the time of the previous frame and the one before.
+ * The mod is done with single or double precision accuracy depending
+ * on the value of bDouble.
+ */
+
+int check_times(real t);
+/* This routine checkes if the read-in time is correct or not;
+ * returns -1 if t<tbegin,
+ * 0 if tbegin <= t <=tend,
+ * 1 if t>tend
+ */
+
+
+
+
+
+/* For trxframe.flags, used in trxframe read routines.
+ * When a READ flag is set, the field will be read when present,
+ * but a frame might be returned which does not contain the field.
+ * When a NEED flag is set, frames not containing the field will be skipped.
+ */
+#define TRX_READ_X (1<<0)
+#define TRX_NEED_X (1<<1)
+#define TRX_READ_V (1<<2)
+#define TRX_NEED_V (1<<3)
+#define TRX_READ_F (1<<4)
+#define TRX_NEED_F (1<<5)
+/* Useful for reading natoms from a trajectory without skipping */
+#define TRX_DONT_SKIP (1<<6)
+
+/* For trxframe.not_ok */
+#define HEADER_NOT_OK (1<<0)
+#define DATA_NOT_OK (1<<1)
+#define FRAME_NOT_OK (HEADER_NOT_OK | DATA_NOT_OK)
+
+int read_first_frame(const output_env_t oenv, t_trxstatus **status,
+ const char *fn, t_trxframe *fr, int flags);
+/* Read the first frame which is in accordance with flags, which are
+ * defined further up in this file.
+ * Returns natoms when succeeded, 0 otherwise.
+ * Memory will be allocated for flagged entries.
+ * The flags are copied to fr for subsequent calls to read_next_frame.
+ * Returns TRUE when succeeded, FALSE otherwise.
+ */
+
+gmx_bool read_next_frame(const output_env_t oenv, t_trxstatus *status,
+ t_trxframe *fr);
+/* Reads the next frame which is in accordance with fr->flags.
+ * Returns TRUE when succeeded, FALSE otherwise.
+ */
+
+int read_first_x(const output_env_t oenv, t_trxstatus **status,
+ const char *fn, real *t, rvec **x, matrix box);
+/* These routines read first coordinates and box, and allocates
+ * memory for the coordinates, for a trajectory file.
+ * The routine returns the number of atoms, or 0 when something is wrong.
+ * The integer in status should be passed to calls of read_next_x
+ */
+
+gmx_bool read_next_x(const output_env_t oenv, t_trxstatus *status, real *t, rvec x[], matrix box);
+/* Read coordinates and box from a trajectory file. Return TRUE when all well,
+ * or FALSE when end of file (or last frame requested by user).
+ * status is the integer set in read_first_x.
+ */
+
+void close_trj(t_trxstatus *status);
+/* Close trj file as opened with read_first_x, read_frist_frame
+ * or open_trx. Identical to close_trx.
+ */
+
+void rewind_trj(t_trxstatus *status);
+/* Rewind trj file as opened with read_first_x */
+
+t_topology *read_top(const char *fn, int *ePBC);
+/* Extract a topology data structure from a topology file.
+ * If ePBC!=NULL *ePBC gives the pbc type.
+ */
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
- *
+/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This file is part of Gromacs Copyright (c) 1991-2008
- * David van der Spoel, Erik Lindahl, Berk Hess, University of Groningen.
+ * Copyright (c) 1991-2008, by the GROMACS development team.
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
*
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * And Hey:
- * Gnomes, ROck Monsters And Chili Sauce
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
--- /dev/null
+/*
+ * This file is part of the GROMACS molecular simulation package.
+ *
+ * Copyright (c) 1991-2008, by the GROMACS development team.
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
+ * of the License, or (at your option) any later version.
+ *
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
+ *
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
+ *
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
+ */
+
+#ifndef GMX_FILEIO_VMDIO_H_
+#define GMX_FILEIO_VMDIO_H_
+
+#include "external/vmd_molfile/molfile_plugin.h"
+#include "trx.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+struct gmxvmdplugin
+{
+ molfile_plugin_t *api;
+ const char * filetype;
+ void * handle;
+ gmx_bool bV;
+};
+
+int read_first_vmd_frame(const char *fn, struct trxframe *fr);
+gmx_bool read_next_vmd_frame(struct trxframe *fr);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* GMX_FILEIO_VMDIO_H_ */
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _xdrf_h
-#define _xdrf_h
+#ifndef GMX_FILEIO_XDRF_H
+#define GMX_FILEIO_XDRF_H
#include <stdio.h>
-#include "typedefs.h"
+#include "../legacyheaders/typedefs.h"
#ifdef __PGI /*Portland group compiler*/
#define int64_t long long
#endif
#include "../utility/gmx_header_config.h"
-#if (defined GMX_NATIVE_WINDOWS || defined GMX_CYGWIN || defined GMX_INTERNAL_XDR)
+#ifdef GMX_INTERNAL_XDR
#include "gmx_system_xdr.h"
#else
#include <rpc/rpc.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * GROningen Mixture of Alchemy and Childrens' Stories
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
#ifdef HAVE_CONFIG_H
#include <config.h>
/*
+ * This file is part of the GROMACS molecular simulation package.
*
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
* Copyright (c) 1991-2000, University of Groningen, The Netherlands.
* Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
+ * Copyright (c) 2013, by the GROMACS development team, led by
+ * Mark Abraham, David van der Spoel, Berk Hess, and Erik Lindahl,
+ * and including many others, as listed in the AUTHORS file in the
+ * top-level source directory and at http://www.gromacs.org.
+ *
+ * GROMACS is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public License
+ * as published by the Free Software Foundation; either version 2.1
* of the License, or (at your option) any later version.
*
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
+ * GROMACS is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
*
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with GROMACS; if not, see
+ * http://www.gnu.org/licenses, or write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*
- * For more info, check our website at http://www.gromacs.org
+ * If you want to redistribute modifications to GROMACS, please
+ * consider that scientific software is very special. Version
+ * control is crucial - bugs must be traceable. We will be happy to
+ * consider code for inclusion in the official distribution, but
+ * derived work must not be called official GROMACS. Details are found
+ * in the README & COPYING files - if they are missing, get the
+ * official version at http://www.gromacs.org.
*
- * And Hey:
- * Gromacs Runs On Most of All Computer Systems
+ * To help us fund GROMACS development, we humbly ask that you cite
+ * the research papers on the package. Check out http://www.gromacs.org.
*/
-#ifndef _xtcio_h
-#define _xtcio_h
+#ifndef GMX_FILEIO_XTCIO_H
+#define GMX_FILEIO_XTCIO_H
-#include "typedefs.h"
+#include "../legacyheaders/typedefs.h"
#include "gmxfio.h"
#include "xdrf.h"
#include "typedefs.h"
#include "vec.h"
#include "gstat.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/trxio.h"
void print_one(const output_env_t oenv, const char *base, const char *name,
const char *title, const char *ylabel, int nf, real time[],
#include "physics.h"
#include "smalloc.h"
#include "xvgr.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "names.h"
#include "gmx_fatal.h"
#include "macros.h"
#include "vec.h"
#include "xvgr.h"
-#include "matio.h"
-#include "futil.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/futil.h"
t_mat *init_mat(int n1, gmx_bool b1D)
{
#include "smalloc.h"
#include "vec.h"
#include "eigio.h"
-#include "trnio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/tpxio.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
void read_eigenvectors(const char *file, int *natoms, gmx_bool *bFit,
rvec **xref, gmx_bool *bDMR,
#include "typedefs.h"
#include "smalloc.h"
#include "xvgr.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "vec.h"
#include "statutil.h"
#include <config.h>
#endif
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "smalloc.h"
#include "string2.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "pdbio.h"
-#include "confio.h"
-#include "tpxio.h"
-#include "matio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/matio.h"
#include "mshift.h"
#include "xvgr.h"
#include "do_fit.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "readinp.h"
#include "statutil.h"
#include "txtdump.h"
#include "physics.h"
#include "typedefs.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "copyrite.h"
#include "vec.h"
#include "gmx_fatal.h"
#include "xvgr.h"
#include "gstat.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "gmx_ana.h"
#include "sysstuff.h"
#include "typedefs.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "macros.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "physics.h"
#include "gmx_fatal.h"
#include "xvgr.h"
#include "smalloc.h"
#include "macros.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "xvgr.h"
#include "rmpbc.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
#include "gmx_ana.h"
#include <stdio.h>
#include <math.h>
-#include "confio.h"
-#include "pdbio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/pdbio.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "macros.h"
#include "maths.h"
#include "index.h"
#include "smalloc.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include <string.h>
#include "sysstuff.h"
#include "txtdump.h"
#include "vec.h"
#include "strdb.h"
#include "xvgr.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
static gmx_bool bAllowed(real phi, real psi)
#include "smalloc.h"
#include "typedefs.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "string2.h"
#include "vec.h"
#include "macros.h"
#include "pbc.h"
#include "rmpbc.h"
#include "xvgr.h"
-#include "futil.h"
-#include "matio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/matio.h"
#include "cmat.h"
#include "do_fit.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "viewit.h"
#include "gmx_ana.h"
#include "rmpbc.h"
#include "statutil.h"
#include "xvgr.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "index.h"
#include "smalloc.h"
#include "calcgrid.h"
#include "coulomb.h"
#include "pme.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "mtop_util.h"
#include "gmx_ana.h"
#include <config.h>
#endif
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "smalloc.h"
#include "macros.h"
#include <math.h>
#include "typedefs.h"
#include "xvgr.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "string2.h"
#include "vec.h"
#include "index.h"
#include "pbc.h"
#include "gmx_fatal.h"
-#include "futil.h"
-#include "confio.h"
-#include "pdbio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/pdbio.h"
#include "txtdump.h"
#include "do_fit.h"
#include "viewit.h"
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "confio.h"
-#include "trnio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/trnio.h"
#include "mshift.h"
#include "xvgr.h"
#include "do_fit.h"
#include "rmpbc.h"
#include "txtdump.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "eigio.h"
#include "physics.h"
#include "gmx_ana.h"
#include "string2.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/linearalgebra/eigensolver.h"
#include "smalloc.h"
#include "vec.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "xvgr.h"
#include "rmpbc.h"
#include "pbc.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
#include "gmx_ana.h"
#include "macros.h"
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "princ.h"
#include "rmpbc.h"
#include "txtdump.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "pbc.h"
#include "gmx_ana.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "dens_filter.h"
#include "binsearch.h"
#include "powerspect.h"
#include "string2.h"
#include "gstat.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "maths.h"
#include "xvgr.h"
#include "vec.h"
#include "pbc.h"
#include "bondf.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "xvgr.h"
#include "txtdump.h"
#include "gmx_statistics.h"
#include "names.h"
#include "physics.h"
#include "calcmu.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "nrjac.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "copyrite.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/programinfo.h"
#include "xvgr.h"
#include "vec.h"
#include "do_fit.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "smalloc.h"
#include "nrnb.h"
#include "disre.h"
#include "force.h"
#include "gstat.h"
#include "main.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "index.h"
#include "mdatoms.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "mdrun.h"
#include "names.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "mtop_util.h"
#include "gmx_ana.h"
#include "smalloc.h"
#include "mshift.h"
#include "statutil.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "gmx_fatal.h"
#include "xvgr.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "index.h"
#include "gstat.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "viewit.h"
#include <stdio.h>
#include <math.h>
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "copyrite.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "macros.h"
#include "maths.h"
#include "correl.h"
#include "gmx_ana.h"
#include "gromacs/fft/fft.h"
+#include "gromacs/fileio/trxio.h"
enum {
VACF, MVACF, DOS, DOS_SOLID, DOS_DIFF, DOS_CP, DOS_S, DOS_A, DOS_E, DOS_NR
*
* For more info, check our website at http://www.gromacs.org
*/
-#include <copyrite.h>
-#include <filenm.h>
-#include <macros.h>
-#include <pbc.h>
-#include <smalloc.h>
-#include <statutil.h>
-#include <vec.h>
-#include <xvgr.h>
+#include "copyrite.h"
+#include "gromacs/fileio/filenm.h"
+#include "macros.h"
+#include "pbc.h"
+#include "smalloc.h"
+#include "statutil.h"
+#include "vec.h"
+#include "xvgr.h"
+#include "gromacs/fileio/trxio.h"
int gmx_dyecoupl(int argc, char *argv[])
#include "statutil.h"
#include "smalloc.h"
#include "index.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "physics.h"
#include "random.h"
#include "gmx_ana.h"
#include "macros.h"
+#include "gromacs/fileio/trxio.h"
static void rot_conf(t_atoms *atoms, rvec x[], rvec v[], real trans, real angle,
#include <math.h>
#include <string.h>
#include <ctype.h>
-#include "pdbio.h"
-#include "confio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
#include "symtab.h"
#include "smalloc.h"
#include "macros.h"
#include "strdb.h"
#include "physics.h"
#include "atomprop.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "pbc.h"
#include "princ.h"
#include "txtdump.h"
#include "names.h"
#include "macros.h"
#include "gmx_fatal.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "vec.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
#define TIME_EXPLICIT 0
#define TIME_CONTINUE 1
#include "gmx_fatal.h"
#include "vec.h"
#include "smalloc.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "statutil.h"
#include "names.h"
#include "macros.h"
#include "xvgr.h"
#include "gstat.h"
#include "physics.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "strdb.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
static int search_str2(int nstr, char **str, char *key)
#include "vec.h"
#include "string2.h"
#include "smalloc.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "statutil.h"
#include "names.h"
#include "copyrite.h"
#include "xvgr.h"
#include "gstat.h"
#include "physics.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "viewit.h"
#include "mtop_util.h"
#include "gmx_ana.h"
#include "vec.h"
#include "statutil.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "princ.h"
#include "do_fit.h"
#include "rmpbc.h"
#include "smalloc.h"
#include "string2.h"
#include "physics.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "txtdump.h"
#include <math.h>
#include "macros.h"
#include "random.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "atomprop.h"
#include "names.h"
#include "vec.h"
#include "vec.h"
#include "gbutil.h"
#include "addconf.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "pbc.h"
#include "gmx_ana.h"
#include "xvgr.h"
#include "string2.h"
#include "smalloc.h"
#include "sysstuff.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "statutil.h"
#include "vec.h"
#include "random.h"
#include "names.h"
#include "sortwater.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
static void rand_rot(int natoms, rvec x[], rvec v[], vec4 xrot[], vec4 vrot[],
int *seed, rvec max_rot)
#include "string2.h"
#include "smalloc.h"
#include "sysstuff.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "statutil.h"
#include "pbc.h"
#include "force.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "maths.h"
#include "macros.h"
#include "vec.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "mdrun.h"
#include "main.h"
#include "random.h"
#include <string.h>
#include "smalloc.h"
#include "typedefs.h"
-#include "confio.h"
-#include "futil.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "vec.h"
#include "index.h"
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "princ.h"
#include "rmpbc.h"
#include "txtdump.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gstat.h"
#include "gmx_ana.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
/****************************************************************************/
#include "copyrite.h"
#include "sysstuff.h"
#include "txtdump.h"
-#include "futil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
#include "macros.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "xvgr.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "string2.h"
#include "pbc.h"
#include "correl.h"
#include <math.h>
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_fatal.h"
#include "fitahx.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "wgms.h"
#include "hxprops.h"
#include "macros.h"
#include "maths.h"
#include "pbc.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
#include "index.h"
#include "smalloc.h"
#include "index.h"
#include "pbc.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "pbc.h"
#include "do_fit.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
int gmx_helixorient(int argc, char *argv[])
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "tpxio.h"
-#include "matio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/matio.h"
#include "binsearch.h"
#include "powerspect.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "readinp.h"
#include "statutil.h"
#include "txtdump.h"
#include "macros.h"
#include "gmx_fatal.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "txtdump.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "gstat.h"
#include "xvgr.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
typedef struct {
#include "gmx_fatal.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
-#include "pdbio.h"
-#include "confio.h"
-#include "tpxio.h"
-#include "matio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/matio.h"
#include "mshift.h"
#include "xvgr.h"
#include "do_fit.h"
#include <ctype.h>
#include "sysstuff.h"
#include "strdb.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "string2.h"
#include "statutil.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "typedefs.h"
#include "index.h"
#include "smalloc.h"
#include "vec.h"
#include "sysstuff.h"
#include "typedefs.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "smalloc.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "xvgr.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "rmpbc.h"
#include "pbc.h"
#include "gmx_ana.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "rmpbc.h"
-#include "xtcio.h"
+#include "gromacs/fileio/xtcio.h"
#include "gmx_ana.h"
#include "statutil.h"
#include "macros.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
+#include "gromacs/fileio/trxio.h"
static int calc_ntype(int nft, int *ft, t_idef *idef)
{
#include "statutil.h"
#include "smalloc.h"
#include "macros.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "xvgr.h"
#include "index.h"
#include "do_fit.h"
#include "gmx_ana.h"
#include "gmx_fatal.h"
+#include "gromacs/fileio/trxio.h"
static real dointerp(int n, rvec x1[], rvec x2[], rvec xx[],
#include "macros.h"
#include "statutil.h"
#include "maths.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "index.h"
#include "typedefs.h"
#include "xvgr.h"
#include "gstat.h"
#include "gmx_statistics.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "pbc.h"
#include "vec.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_ana.h"
#include "vec.h"
#include "pbc.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "macros.h"
#include "gmx_fatal.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "pdbio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "txtdump.h"
#include "physics.h"
#include "random.h"
#include "macros.h"
#include "gmx_fatal.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "pdbio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "txtdump.h"
#include "physics.h"
#include "random.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
-#include "tpxio.h"
-#include "confio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/confio.h"
#include "cmat.h"
#include "gmx_ana.h"
#include "smalloc.h"
#include "vec.h"
#include "copyrite.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "string2.h"
#include "readinp.h"
#include "calcgrid.h"
#include "physics.h"
#include "typedefs.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "vec.h"
#include "index.h"
#include "gmx_fatal.h"
#include "xvgr.h"
#include "rmpbc.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "nrjac.h"
#include "gmx_ana.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "gmx_ana.h"
#include "string2.h"
+#include "gromacs/fileio/trxio.h"
#define EPS0 8.85419E-12
#define ELC 1.60219E-19
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "princ.h"
#include "rmpbc.h"
#include "txtdump.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gstat.h"
#include "gmx_ana.h"
#include "xvgr.h"
#include "physics.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "nrama.h"
#include "vec.h"
#include "pbc.h"
#include "xvgr.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
#include "index.h"
#include "smalloc.h"
#include "nrnb.h"
#include "coulomb.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "names.h"
#include "vec.h"
#include "index.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "princ.h"
#include "rmpbc.h"
#include "do_fit.h"
-#include "matio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/matio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "cmat.h"
#include "viewit.h"
#include "gmx_ana.h"
#include "typedefs.h"
#include "names.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "string2.h"
#include "strdb.h"
#include "vec.h"
#include "index.h"
#include "pbc.h"
#include "xvgr.h"
-#include "futil.h"
-#include "matio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "string2.h"
#include "vec.h"
#include "index.h"
-#include "pdbio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "pbc.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "do_fit.h"
#include "princ.h"
#include "rmpbc.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_ana.h"
#include "gromacs/linearalgebra/eigensolver.h"
#include "physics.h"
#include "typedefs.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "macros.h"
#include "gstat.h"
#include "vec.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
int gmx_rotacf(int argc, char *argv[])
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "xvgr.h"
#include "rmpbc.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "do_fit.h"
#include "gmx_ana.h"
#include "vec.h"
#include "sysstuff.h"
#include "typedefs.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/fileio/trxio.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "smalloc.h"
#include "pbc.h"
#include "pbc.h"
#include "xvgr.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "index.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "nsfactor.h"
#include "gmx_omp.h"
#include "xvgr.h"
#include "pbc.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "nsc.h"
-#include "pdbio.h"
-#include "confio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
#include "rmpbc.h"
#include "names.h"
#include "atomprop.h"
#include "physics.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
#include "pbc.h"
#include "xvgr.h"
#include "copyrite.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "physics.h"
#include "index.h"
#include "smalloc.h"
#include "nrnb.h"
#include "coulomb.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "names.h"
#include "sfactor.h"
#include "macros.h"
#include "gmx_fatal.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "readinp.h"
#include "statutil.h"
#include "txtdump.h"
#include "gstat.h"
#include "xvgr.h"
#include "physics.h"
-#include "pdbio.h"
-#include "matio.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include "statutil.h"
#include "gmx_fatal.h"
#include "xvgr.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "macros.h"
#include "smalloc.h"
#include "vec.h"
#include "physics.h"
#include "names.h"
#include "txtdump.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "symtab.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
real pot(real x, real qq, real c6, real cn, int npow)
{
#include "xvgr.h"
#include "pbc.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
#include "smalloc.h"
#include "vec.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include <math.h>
#include "index.h"
#include "pbc.h"
#include "xvgr.h"
#include "pbc.h"
#include "index.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "physics.h"
#include "gmx_ana.h"
#include <stdio.h>
#include <math.h>
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "macros.h"
#include "maths.h"
#include "xvgr.h"
#include "pbc.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
#define NK 24
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "xvgr.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "rmpbc.h"
#include "physics.h"
#include "nrjac.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_ana.h"
#include "sysstuff.h"
#include "smalloc.h"
#include "typedefs.h"
-#include "gmxfio.h"
-#include "tpxio.h"
-#include "trnio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/trnio.h"
#include "statutil.h"
-#include "futil.h"
-#include "pdbio.h"
-#include "confio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "index.h"
#include "vec.h"
-#include "xtcio.h"
+#include "gromacs/fileio/xtcio.h"
#include "do_fit.h"
#include "rmpbc.h"
#include "wgms.h"
#include "pbc.h"
#include "xvgr.h"
-#include "xdrf.h"
+#include "gromacs/fileio/xdrf.h"
#include "gmx_ana.h"
#define TIME_EXPLICIT 0
#include "sysstuff.h"
#include "smalloc.h"
#include "typedefs.h"
-#include "gmxfio.h"
-#include "tpxio.h"
-#include "trnio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/trnio.h"
#include "statutil.h"
-#include "futil.h"
-#include "pdbio.h"
-#include "confio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "index.h"
#include "vec.h"
-#include "xtcio.h"
+#include "gromacs/fileio/xtcio.h"
#include "do_fit.h"
#include "rmpbc.h"
#include "wgms.h"
#include "macros.h"
#include "vec.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "index.h"
#include "mshift.h"
#include "princ.h"
#include "rmpbc.h"
#include "txtdump.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gmx_ana.h"
typedef struct {
#include "vec.h"
#include "copyrite.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "string2.h"
#include "readinp.h"
#include "calcgrid.h"
#include "macros.h"
#include "statutil.h"
#include "maths.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "index.h"
#include "typedefs.h"
#include "xvgr.h"
#include "gstat.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "vec.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "gmx_ana.h"
#include <stdio.h>
#include <math.h>
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gstat.h"
#include "macros.h"
#include "maths.h"
#include "xvgr.h"
#include "gmx_ana.h"
#include "gromacs/fft/fft.h"
+#include "gromacs/fileio/trxio.h"
static void index_atom2mol(int *n, atom_id *index, t_block *mols)
{
#include "vec.h"
#include "copyrite.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "names.h"
#include "gmx_random.h"
#include "gmx_ana.h"
#include "vec.h"
#include "xvgr.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "strdb.h"
#include "statutil.h"
#include "pbc.h"
#include "macros.h"
#include "statutil.h"
#include "writeps.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "smalloc.h"
#include "string2.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "viewit.h"
#include "gmx_ana.h"
+#include "gromacs/fileio/trxio.h"
#define FUDGE 1.2
#define DDD 2
#include <ctype.h>
#include <string.h>
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_random.h"
#include "smalloc.h"
#include "sysstuff.h"
#include "smalloc.h"
#include "gromacs/fft/fft.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "interf.h"
#include "powerspect.h"
#include <stdlib.h>
#include <math.h>
#include "typedefs.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "physics.h"
#include "smalloc.h"
#include "statutil.h"
#include "gstat.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "copyrite.h"
#include "gmx_fatal.h"
#include "sysstuff.h"
#include "smalloc.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "maths.h"
#include "gmx_fatal.h"
#include "atomprop.h"
#endif
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "names.h"
#include "typedefs.h"
#include "smalloc.h"
-#include "gmxfio.h"
-#include "xdrf.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/xdrf.h"
#include "statutil.h"
#include "txtdump.h"
#include "vec.h"
#include "network.h"
#include "gmx_random.h"
#include "checkpoint.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "string2.h"
#include <fcntl.h>
/* This file is completely threadsafe - keep it that way! */
-#include "gromacs/legacyheaders/futil.h"
+#include "gromacs/fileio/futil.h"
#include "gromacs/legacyheaders/macros.h"
#include "gromacs/legacyheaders/random.h"
#include "gromacs/legacyheaders/smalloc.h"
#include "smalloc.h"
#include "macros.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "xvgr.h"
#include "gmx_fatal.h"
#include "bondf.h"
#include "smalloc.h"
#include "physics.h"
#include "txtdump.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "names.h"
#include "writeps.h"
#include "macros.h"
#include <errno.h>
#include <stdarg.h>
#include <string.h>
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "main.h"
#include "network.h"
#include "macros.h"
#include "string2.h"
#include "smalloc.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gromacs/utility/gmxmpi.h"
#include "string2.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "gmx_fatal.h"
#include "gmxcpp.h"
#include <assert.h>
#include "sysstuff.h"
#include "strdb.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "macros.h"
#include "names.h"
#include "string2.h"
#include "statutil.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "main.h"
#include "typedefs.h"
#include "smalloc.h"
#include "macros.h"
#include "index.h"
#include "txtdump.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "network.h"
#include "main.h"
#include "macros.h"
-#include "futil.h"
-#include "filenm.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/fileio/gmxfio.h"
#include "string2.h"
#include "copyrite.h"
#include "gmx_fatal.h"
#include "macros.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "mshift.h"
#include "main.h"
#include "pbc.h"
#include "typedefs.h"
#include "random.h"
#include "bondf.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "nrama.h"
#include "rmpbc.h"
#include <stdlib.h>
#include "typedefs.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "smalloc.h"
#include "readinp.h"
#include "macros.h"
#include "statutil.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "names.h"
#include "warninp.h"
#include "gmx_fatal.h"
#include "mshift.h"
#include "pbc.h"
#include "gstat.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "vec.h"
typedef struct {
#include "sysstuff.h"
#include "smalloc.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "maths.h"
#include "gmx_fatal.h"
#include "vec.h"
#include "macros.h"
#include "index.h"
#include "strdb.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "typedefs.h"
#include "statutil.h"
#include "oenv.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "xvgr.h"
-#include "matio.h"
+#include "gromacs/fileio/matio.h"
#include "names.h"
#include "sfactor.h"
#include "string2.h"
#include "smalloc.h"
#include "statutil.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "gmx_fatal.h"
#include "network.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/onlinehelp/wman.h"
#include "gromacs/utility/exceptions.h"
}
}
-int check_times2(real t, real t0, gmx_bool bDouble)
-{
- int r;
-
-#ifndef GMX_DOUBLE
- /* since t is float, we can not use double precision for bRmod */
- bDouble = FALSE;
-#endif
-
- r = -1;
- if ((!bTimeSet(TBEGIN) || (t >= rTimeValue(TBEGIN))) &&
- (!bTimeSet(TEND) || (t <= rTimeValue(TEND))))
- {
- if (bTimeSet(TDELTA) && !bRmod_fd(t, t0, rTimeValue(TDELTA), bDouble))
- {
- r = -1;
- }
- else
- {
- r = 0;
- }
- }
- else if (bTimeSet(TEND) && (t >= rTimeValue(TEND)))
- {
- r = 1;
- }
- if (debug)
- {
- fprintf(debug, "t=%g, t0=%g, b=%g, e=%g, dt=%g: r=%d\n",
- t, t0, rTimeValue(TBEGIN), rTimeValue(TEND), rTimeValue(TDELTA), r);
- }
- return r;
-}
-
-int check_times(real t)
-{
- return check_times2(t, t, FALSE);
-}
-
-
static void set_default_time_unit(const char *time_list[], gmx_bool bCanTime)
#include <stdio.h>
#include <stdlib.h>
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "smalloc.h"
#include "gmx_fatal.h"
#include "strdb.h"
#include "gmx_fatal.h"
#include "macros.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
int continuing(char *s)
{
* And Hey:
* GROningen Mixture of Alchemy and Childrens' Stories
*/
+#include "gromacs/legacyheaders/statutil.h"
+
#ifdef HAVE_CONFIG_H
#include <config.h>
#endif
#include "typedefs.h"
-#include "statutil.h"
#include "gmx_fatal.h"
#ifdef GMX_THREAD_MPI
#include "statutil.h"
#include "viewit.h"
#include "string2.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "macros.h"
#include "gmx_fatal.h"
+++ /dev/null
-/* -*- mode: c; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4; c-file-style: "stroustrup"; -*-
- *
- *
- * This file is part of Gromacs Copyright (c) 1991-2008
- * David van der Spoel, Erik Lindahl, Berk Hess, University of Groningen.
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the research papers on the package. Check out http://www.gromacs.org
- *
- * And Hey:
- * Gnomes, ROck Monsters And Chili Sauce
- */
-
-#ifndef VMDIO_H_
-#define VMDIO_H_
-
-#include "external/vmd_molfile/molfile_plugin.h"
-#include "types/trx.h"
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-struct gmxvmdplugin
-{
- molfile_plugin_t *api;
- const char * filetype;
- void * handle;
- gmx_bool bV;
-};
-
-int read_first_vmd_frame(const char *fn, struct trxframe *fr);
-gmx_bool read_next_vmd_frame(struct trxframe *fr);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* VMDIO_H_ */
#endif
#include <stdio.h>
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "writeps.h"
#include "smalloc.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
const char *fontnm[efontNR] = {
"Times-Roman", "Times-Italic", "Times-Bold", "Times-BoldItalic",
#include "sysstuff.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "copyrite.h"
#include "smalloc.h"
#include "xvgr.h"
#include "viewit.h"
#include "vec.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/programinfo.h"
#include <fcntl.h>
#include "sysstuff.h"
#include "string2.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "network.h"
#include "gmx_fatal.h"
#include "smalloc.h"
#include "macros.h"
#include "smalloc.h"
#include "string2.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "vec.h"
#include "pbc.h"
#include "toputil.h"
#include "physics.h"
#include "index.h"
#include "names.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gpp_atomtype.h"
#include "fflibutil.h"
#include "macros.h"
#include "typedefs.h"
#include "smalloc.h"
#include "string2.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "symtab.h"
#include "vec.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "physics.h"
#include "calch.h"
#ifndef _genhydro_h
#define _genhydro_h
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "hackblock.h"
extern int add_h(t_atoms **pdbaptr, rvec *xptr[],
#include "string2.h"
#include "sysstuff.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "symtab.h"
#include "h_db.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "fflibutil.h"
#include "gmx_fatal.h"
#include "macros.h"
#include "smalloc.h"
#include "macros.h"
#include "symtab.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "gmx_fatal.h"
#include "pdb2top.h"
#include "topio.h"
#include "string2.h"
#include "physics.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "gen_ad.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "index.h"
#include "gen_vsite.h"
#include "add_par.h"
#include <stdlib.h>
#include "sysstuff.h"
#include "princ.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "vec.h"
#include "smalloc.h"
#include "smalloc.h"
#include "readir.h"
#include "names.h"
-#include "futil.h"
-#include "trnio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/trnio.h"
#include "txtdump.h"
static char *RotStr = {"Enforced rotation:"};
#include <ctype.h>
#include "string2.h"
#include "strdb.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "smalloc.h"
#include "gmx_fatal.h"
#include "symtab.h"
#include "smalloc.h"
#include "typedefs.h"
#include "symtab.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "resall.h"
#include "h_db.h"
#include "string2.h"
#include "gmx_fatal.h"
#include "ter_db.h"
#include "toputil.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "fflibutil.h"
#include <ctype.h>
#include <assert.h>
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "sysstuff.h"
#include "typedefs.h"
#include "smalloc.h"
#include "macros.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "txtdump.h"
#include "physics.h"
#include "macros.h"
#include "typedefs.h"
-#include "gmxfio.h"
+#include "../fileio/gmxfio.h"
+#include "../fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
#include "sysstuff.h"
#include "typedefs.h"
-#include "enxio.h"
+#include "../fileio/enxio.h"
#ifdef __cplusplus
extern "C" {
#include "statutil.h"
#include "mshift.h"
#include "rmpbc.h"
+#include "index.h"
#ifdef __cplusplus
extern "C" {
#define _hackblock_h
#include "typedefs.h"
-#include "pdbio.h"
+#include "../fileio/pdbio.h"
#include "grompp.h"
#include "gpp_atomtype.h"
#include <stdio.h>
#include "network.h"
+#include "../fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
#include "typedefs.h"
#include "sysstuff.h"
#include "ebin.h"
-#include "enxio.h"
+#include "../fileio/enxio.h"
#include "types/state.h"
#ifdef __cplusplus
#include "network.h"
#include "sim_util.h"
#include "tgroup.h"
-#include "filenm.h"
+#include "../fileio/filenm.h"
#include "mshift.h"
#include "edsam.h"
#include "mdebin.h"
const char *deviceOptions, unsigned long Flags);
/* Driver routine, that calls the different methods */
-void
-do_trajectory_writing(FILE *fplog,
- t_commrec *cr,
- int nfile,
- const t_filenm fnm[],
- gmx_large_int_t step,
- gmx_large_int_t step_rel,
- double t,
- t_inputrec *ir,
- t_state *state,
- t_state *state_global,
- gmx_mtop_t *top_global,
- t_forcerec *fr,
- gmx_update_t upd,
- gmx_mdoutf_t *outf,
- t_mdebin *mdebin,
- gmx_ekindata_t *ekind,
- rvec *f,
- rvec *f_global,
- gmx_wallcycle_t wcycle,
- gmx_rng_t mcrng,
- int *nchkpt,
- gmx_bool bCPT,
- gmx_bool bRerunMD,
- gmx_bool bLastStep,
- gmx_bool bDoConfOut,
- gmx_bool bSumEkinhOld
- );
-/* Wrapper routine for trajectory writing */
-
#ifdef __cplusplus
}
#endif
#include "typedefs.h"
#include "statutil.h"
#include "mshift.h"
+#include "../fileio/trxio.h"
#ifdef __cplusplus
extern "C" {
#define _sim_util_h
#include "typedefs.h"
-#include "enxio.h"
+#include "../fileio/enxio.h"
#include "mdebin.h"
#include "update.h"
#include "vcm.h"
#include "gromacs/timing/walltime_accounting.h"
+#include "../fileio/mdoutf.h"
#ifdef __cplusplus
extern "C" {
#endif
-typedef struct {
- t_fileio *fp_trn;
- t_fileio *fp_xtc;
- int xtc_prec;
- ener_file_t fp_ene;
- const char *fn_cpt;
- gmx_bool bKeepAndNumCPT;
- int eIntegrator;
- gmx_bool bExpanded;
- int elamstats;
- int simulation_part;
- FILE *fp_dhdl;
- FILE *fp_field;
-} gmx_mdoutf_t;
-
typedef struct gmx_global_stat *gmx_global_stat_t;
void do_pbc_first(FILE *log, matrix box, t_forcerec *fr,
gmx_bool bSumEkinhOld, int flags);
/* Communicate statistics over cr->mpi_comm_mysim */
-gmx_mdoutf_t *init_mdoutf(int nfile, const t_filenm fnm[],
- int mdrun_flags,
- const t_commrec *cr, const t_inputrec *ir,
- const output_env_t oenv);
-/* Returns a pointer to a data structure with all output file pointers
- * and names required by mdrun.
- */
-
-void done_mdoutf(gmx_mdoutf_t *of);
-/* Close all open output files and free the of pointer */
-
-#define MDOF_X (1<<0)
-#define MDOF_V (1<<1)
-#define MDOF_F (1<<2)
-#define MDOF_XTC (1<<3)
-#define MDOF_CPT (1<<4)
-
-void write_traj(FILE *fplog, t_commrec *cr,
- gmx_mdoutf_t *of,
- int mdof_flags,
- gmx_mtop_t *top_global,
- gmx_large_int_t step, double t,
- t_state *state_local, t_state *state_global,
- rvec *f_local, rvec *f_global,
- int *n_xtc, rvec **x_xtc);
-/* Routine that writes frames to trn, xtc and/or checkpoint.
- * What is written is determined by the mdof_flags defined above.
- * Data is collected to the master node only when necessary.
- */
-
int do_per_step(gmx_large_int_t step, gmx_large_int_t nstep);
/* Return TRUE if io should be done */
#ifndef _statutil_h
#define _statutil_h
-#include "typedefs.h"
-#include "filenm.h"
+#include "../fileio/filenm.h"
#include "readinp.h"
-#include "pdbio.h"
#include "oenv.h"
-#include "gmxfio.h"
#ifdef __cplusplus
extern "C" {
/* End trajectory time control */
-/* a dedicated status type contains fp, etc. */
-typedef struct t_trxstatus t_trxstatus;
-
-/* I/O function types */
-
-
/* LEGACY FUNCTIONS
The program names, command lines, etc. are now also set in the output_env
/* Id. without leading directory */
const char *ShortProgram(void);
-/************************************************
- * Trajectory functions
- ************************************************/
-
-int prec2ndec(real prec);
-/* Convert precision in 1/(nm) to number of decimal places */
-
-void clear_trxframe(t_trxframe *fr, gmx_bool bFirst);
-/* Set all content gmx_booleans to FALSE.
- * When bFirst = TRUE, set natoms=-1, all pointers to NULL
- * and all data to zero.
- */
-
-void set_trxframe_ePBC(t_trxframe *fr, int ePBC);
-/* Set the type of periodic boundary conditions, ePBC=-1 is not set */
-
-int nframes_read(t_trxstatus *status);
-/* Returns the number of frames read from the trajectory */
-
-int write_trxframe_indexed(t_trxstatus *status, t_trxframe *fr, int nind,
- const atom_id *ind, gmx_conect gc);
-/* Write an indexed frame to a TRX file, see write_trxframe. gc may be NULL */
-
-int write_trxframe(t_trxstatus *status, t_trxframe *fr, gmx_conect gc);
-/* Write a frame to a TRX file.
- * Only entries for which the gmx_boolean is TRUE will be written,
- * except for step, time, lambda and/or box, which may not be
- * omitted for certain trajectory formats.
- * The precision for .xtc and .gro is fr->prec, when fr->bPrec=FALSE,
- * the precision is set to 1000.
- * gc is important for pdb file writing only and may be NULL.
- */
-
-int write_trx(t_trxstatus *status, int nind, const atom_id *ind, t_atoms *atoms,
- int step, real time, matrix box, rvec x[], rvec *v,
- gmx_conect gc);
-/* Write an indexed frame to a TRX file.
- * v can be NULL.
- * atoms can be NULL for file types which don't need atom names.
- */
-
-void close_trx(t_trxstatus *status);
-/* Close trj file as opened with read_first_x, read_frist_frame
- * or open_trx. Identical to close_trj.
- */
-
-t_trxstatus *open_trx(const char *outfile, const char *filemode);
-/* Open a TRX file and return an allocated status pointer */
-
-/* get a fileio from a trxstatus */
-t_fileio *trx_get_fileio(t_trxstatus *status);
-
-
-gmx_bool bRmod_fd(double a, double b, double c, gmx_bool bDouble);
-/* Returns TRUE when (a - b) MOD c = 0, using a margin which is slightly
- * larger than the float/double precision.
- */
-
-#ifdef GMX_DOUBLE
-#define bRmod(a, b, c) bRmod_fd(a, b, c, TRUE)
-#else
-#define bRmod(a, b, c) bRmod_fd(a, b, c, FALSE)
-#endif
-
-int check_times2(real t, real t0, gmx_bool bDouble);
-/* This routine checkes if the read-in time is correct or not;
- * returns -1 if t<tbegin or t MOD dt = t0,
- * 0 if tbegin <= t <=tend+margin,
- * 1 if t>tend
- * where margin is 0.1*min(t-tp,tp-tpp), if this positive, 0 otherwise.
- * tp and tpp should be the time of the previous frame and the one before.
- * The mod is done with single or double precision accuracy depending
- * on the value of bDouble.
- */
-
-int check_times(real t);
-/* This routine checkes if the read-in time is correct or not;
- * returns -1 if t<tbegin,
- * 0 if tbegin <= t <=tend,
- * 1 if t>tend
- */
-
-
-
-
-
-/* For trxframe.flags, used in trxframe read routines.
- * When a READ flag is set, the field will be read when present,
- * but a frame might be returned which does not contain the field.
- * When a NEED flag is set, frames not containing the field will be skipped.
- */
-#define TRX_READ_X (1<<0)
-#define TRX_NEED_X (1<<1)
-#define TRX_READ_V (1<<2)
-#define TRX_NEED_V (1<<3)
-#define TRX_READ_F (1<<4)
-#define TRX_NEED_F (1<<5)
-/* Useful for reading natoms from a trajectory without skipping */
-#define TRX_DONT_SKIP (1<<6)
-
-/* For trxframe.not_ok */
-#define HEADER_NOT_OK (1<<0)
-#define DATA_NOT_OK (1<<1)
-#define FRAME_NOT_OK (HEADER_NOT_OK | DATA_NOT_OK)
-
-int read_first_frame(const output_env_t oenv, t_trxstatus **status,
- const char *fn, t_trxframe *fr, int flags);
-/* Read the first frame which is in accordance with flags, which are
- * defined further up in this file.
- * Returns natoms when succeeded, 0 otherwise.
- * Memory will be allocated for flagged entries.
- * The flags are copied to fr for subsequent calls to read_next_frame.
- * Returns TRUE when succeeded, FALSE otherwise.
- */
-
-gmx_bool read_next_frame(const output_env_t oenv, t_trxstatus *status,
- t_trxframe *fr);
-/* Reads the next frame which is in accordance with fr->flags.
- * Returns TRUE when succeeded, FALSE otherwise.
- */
-
-int read_first_x(const output_env_t oenv, t_trxstatus **status,
- const char *fn, real *t, rvec **x, matrix box);
-/* These routines read first coordinates and box, and allocates
- * memory for the coordinates, for a trajectory file.
- * The routine returns the number of atoms, or 0 when something is wrong.
- * The integer in status should be passed to calls of read_next_x
- */
-
-gmx_bool read_next_x(const output_env_t oenv, t_trxstatus *status, real *t, rvec x[], matrix box);
-/* Read coordinates and box from a trajectory file. Return TRUE when all well,
- * or FALSE when end of file (or last frame requested by user).
- * status is the integer set in read_first_x.
- */
-
-void close_trj(t_trxstatus *status);
-/* Close trj file as opened with read_first_x, read_frist_frame
- * or open_trx. Identical to close_trx.
- */
-
-void rewind_trj(t_trxstatus *status);
-/* Rewind trj file as opened with read_first_x */
-
-t_topology *read_top(const char *fn, int *ePBC);
-/* Extract a topology data structure from a topology file.
- * If ePBC!=NULL *ePBC gives the pbc type.
- */
-
/*****************************************************
* Some command line parsing routines
*****************************************************/
#include <stdio.h>
#include "typedefs.h"
-#include "tpxio.h"
+#include "../fileio/tpxio.h"
#ifdef __cplusplus
extern "C" {
#include "types/symtab.h"
#include "types/idef.h"
#include "types/atoms.h"
-#include "types/trx.h"
+#include "../fileio/trx.h"
#include "types/topology.h"
#include "types/energy.h"
#include "types/inputrec.h"
#include "types/mdatom.h"
#include "types/pbc.h"
#include "types/ifunc.h"
-#include "types/filenm.h"
#include "types/group.h"
#include "types/state.h"
#include "types/shellfc.h"
+++ /dev/null
-/*
- *
- * This source code is part of
- *
- * G R O M A C S
- *
- * GROningen MAchine for Chemical Simulations
- *
- * VERSION 3.2.0
- * Written by David van der Spoel, Erik Lindahl, Berk Hess, and others.
- * Copyright (c) 1991-2000, University of Groningen, The Netherlands.
- * Copyright (c) 2001-2004, The GROMACS development team,
- * check out http://www.gromacs.org for more information.
-
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * If you want to redistribute modifications, please consider that
- * scientific software is very special. Version control is crucial -
- * bugs must be traceable. We will be happy to consider code for
- * inclusion in the official distribution, but derived work must not
- * be called official GROMACS. Details are found in the README & COPYING
- * files - if they are missing, get the official version at www.gromacs.org.
- *
- * To help us fund GROMACS development, we humbly ask that you cite
- * the papers on the package - you can find them in the top README file.
- *
- * For more info, check our website at http://www.gromacs.org
- *
- * And Hey:
- * GRoups of Organic Molecules in ACtion for Science
- */
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-
-/* this enum should correspond to the array deffile in gmxlib/filenm.c */
-enum {
- efMDP,
- efTRX, efTRO, efTRN, efTRR, efTRJ, efXTC, efG87,
- efEDR,
- efSTX, efSTO, efGRO, efG96, efPDB, efBRK, efENT, efESP, efPQR, efXYZ,
- efCPT,
- efLOG, efXVG, efOUT,
- efNDX,
- efTOP, efITP,
- efTPX, efTPS, efTPR, efTPA, efTPB,
- efTEX, efRTP, efATP, efHDB,
- efDAT, efDLG,
- efMAP, efEPS, efMAT, efM2P,
- efMTX,
- efEDI,
- efCUB,
- efXPM,
- efRND,
- efNR
-};
-
-typedef struct {
- int ftp; /* File type (see enum above) */
- const char *opt; /* Command line option */
- const char *fn; /* File name (as set in source code) */
- unsigned long flag; /* Flag for all kinds of info (see defs)*/
- int nfiles; /* number of files */
- char **fns; /* File names */
-} t_filenm;
-
-#define ffSET 1<<0
-#define ffREAD 1<<1
-#define ffWRITE 1<<2
-#define ffOPT 1<<3
-#define ffLIB 1<<4
-#define ffMULT 1<<5
-#define ffRW (ffREAD | ffWRITE)
-#define ffOPTRD (ffREAD | ffOPT)
-#define ffOPTWR (ffWRITE| ffOPT)
-#define ffOPTRW (ffRW | ffOPT)
-#define ffLIBRD (ffREAD | ffLIB)
-#define ffLIBOPTRD (ffOPTRD | ffLIB)
-#define ffRDMULT (ffREAD | ffMULT)
-#define ffOPTRDMULT (ffRDMULT | ffOPT)
-#define ffWRMULT (ffWRITE | ffMULT)
-#define ffOPTWRMULT (ffWRMULT | ffOPT)
-
-#ifdef __cplusplus
-}
-#endif
#define _viewit_h
#include "typedefs.h"
+#include "../fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
#include "gromacs/legacyheaders/copyrite.h"
#include "gromacs/legacyheaders/gmx_fatal.h"
-#include "gromacs/legacyheaders/gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gromacs/legacyheaders/smalloc.h"
-#include "gromacs/legacyheaders/xdrf.h"
+#include "gromacs/fileio/xdrf.h"
#include "gromacs/linearalgebra/sparsematrix.h"
#include "domdec.h"
#include "partdec.h"
#include "mtop_util.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gmx_omp_nthreads.h"
#include "gmx_omp.h"
#include <config.h>
#endif
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "constr.h"
#include "copyrite.h"
#include "invblock.h"
#include "names.h"
#include "txtdump.h"
#include "domdec.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "partdec.h"
#include "splitter.h"
#include "mtop_util.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include "gmx_omp_nthreads.h"
#include "constr.h"
#include "mdatoms.h"
#include "names.h"
-#include "pdbio.h"
-#include "futil.h"
+#include "gromacs/fileio/pdbio.h"
+#include "gromacs/fileio/futil.h"
#include "force.h"
#include "pme.h"
#include "pull.h"
#include "nsgrid.h"
#include "shellfc.h"
#include "mtop_util.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gmx_ga2la.h"
#include "gmx_sort.h"
#include "macros.h"
#include "string2.h"
#include "smalloc.h"
#include "names.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "mvdata.h"
#include "txtdump.h"
#include "vec.h"
#include "nrjac.h"
#include "mtop_util.h"
#include "edsam.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "xvgr.h"
#include "groupcoord.h"
#include "vec.h"
#include "gmxcomplex.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#include "physics.h"
#include "coulomb.h"
#include <math.h>
#include "typedefs.h"
#include "string2.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "smalloc.h"
#include "names.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "mvdata.h"
#include "txtdump.h"
#include "pbc.h"
#include "calcmu.h"
#include "constr.h"
#include "xvgr.h"
-#include "trnio.h"
-#include "xtcio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/xtcio.h"
#include "gmx_random.h"
#include "domdec.h"
#include "partdec.h"
#include "genborn.h"
#include "vec.h"
#include "grompp.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "names.h"
#include "physics.h"
#include "partdec.h"
#include "genborn.h"
#include "vec.h"
#include "grompp.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "names.h"
#include "physics.h"
#include "domdec.h"
#include "genborn.h"
#include "vec.h"
#include "grompp.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "names.h"
#include "physics.h"
#include "partdec.h"
#include <stdio.h>
#include "typedefs.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "smalloc.h"
#include "vec.h"
#include "main.h"
#include "mdebin.h"
#include "smalloc.h"
#include "physics.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "vec.h"
#include "disre.h"
#include "main.h"
#include "constr.h"
#include "mtop_util.h"
#include "xvgr.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include "mdrun.h"
#include "mdebin_bar.h"
#include "gmx_fatal.h"
#include "mdebin.h"
#include "smalloc.h"
-#include "enxio.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/enxio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "mdebin_bar.h"
/* reset the delta_h list to prepare it for new values */
#include "sysstuff.h"
#include "string2.h"
#include "network.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "smalloc.h"
#include "nrnb.h"
#include "main.h"
#include "md_support.h"
#include "domdec.h"
#include "partdec.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "mdatoms.h"
#include "ns.h"
#include "gmx_wallcycle.h"
#include "mtop_util.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "pme.h"
#include "bondf.h"
#include "gmx_omp_nthreads.h"
#include "gromacs/linearalgebra/mtxio.h"
#include "gromacs/linearalgebra/sparsematrix.h"
+#include "gromacs/fileio/trajectory_writing.h"
#include "gromacs/timing/walltime_accounting.h"
typedef struct {
#include "nbnxn_atomdata.h"
#include "nbnxn_search.h"
#include "gmx_cyclecounter.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "gmx_omp_nthreads.h"
#include "nrnb.h"
#include "partdec.h"
#include "pbc.h"
#include <stdio.h>
-#include "futil.h"
-#include "pdbio.h"
+#include "gromacs/fileio/futil.h"
+#include "gromacs/fileio/pdbio.h"
/***********************************
* Grid Routines
#include "vec.h"
#include "gmxcomplex.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "coulomb.h"
#include "gmx_fatal.h"
#include "pme.h"
#include "physics.h"
#include "nrnb.h"
#include "gmx_wallcycle.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "gmx_cyclecounter.h"
#include "gmx_omp.h"
#include "macros.h"
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "index.h"
#include "statutil.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "vec.h"
#include "typedefs.h"
#include "network.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include <string.h>
#include "smalloc.h"
#include "pull.h"
#include "domdec.h"
#include "gmx_wallcycle.h"
#include "gmx_cyclecounter.h"
-#include "trnio.h"
+#include "gromacs/fileio/trnio.h"
#include "smalloc.h"
#include "network.h"
#include "pbc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "mdrun.h"
#include "txtdump.h"
#include "names.h"
#include "vec.h"
#include "gmx_ga2la.h"
#include "xvgr.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "groupcoord.h"
#include "pull_rotation.h"
#include "gmx_sort.h"
#include <stdlib.h>
#include "sysstuff.h"
#include "princ.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "vec.h"
#include "smalloc.h"
#include "macros.h"
#include "symtab.h"
#include "index.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "network.h"
#include "pbc.h"
#include "pull.h"
#include "vec.h"
#include "force.h"
#include "invblock.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
#include "pbc.h"
#include "vec.h"
#include "force.h"
#include "invblock.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
#include "pbc.h"
#include "vec.h"
#include "force.h"
#include "invblock.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
#include "pbc.h"
#include "vec.h"
#include "force.h"
#include "invblock.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
#include "pbc.h"
#include "vec.h"
#include "force.h"
#include "invblock.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "names.h"
#include "network.h"
#include "pbc.h"
#include <math.h>
#include "typedefs.h"
#include "string2.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "smalloc.h"
#include "names.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "mvdata.h"
#include "txtdump.h"
#include "pbc.h"
#include "calcmu.h"
#include "constr.h"
#include "xvgr.h"
-#include "trnio.h"
-#include "xtcio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/xtcio.h"
#include "copyrite.h"
#include "pull_rotation.h"
#include "gmx_random.h"
#include "force.h"
#include "vcm.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "network.h"
#include "rbin.h"
#include "tgroup.h"
-#include "xtcio.h"
-#include "gmxfio.h"
-#include "trnio.h"
+#include "gromacs/fileio/xtcio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trnio.h"
#include "statutil.h"
#include "domdec.h"
#include "partdec.h"
}
}
-static void moveit(t_commrec *cr, rvec xx[])
-{
- if (!xx)
- {
- return;
- }
-
- move_rvecs(cr, FALSE, FALSE, xx, NULL, (cr->nnodes-cr->npmenodes)-1, NULL);
-}
-
-gmx_mdoutf_t *init_mdoutf(int nfile, const t_filenm fnm[], int mdrun_flags,
- const t_commrec *cr, const t_inputrec *ir,
- const output_env_t oenv)
-{
- gmx_mdoutf_t *of;
- char filemode[3];
- gmx_bool bAppendFiles;
-
- snew(of, 1);
-
- of->fp_trn = NULL;
- of->fp_ene = NULL;
- of->fp_xtc = NULL;
- of->fp_dhdl = NULL;
- of->fp_field = NULL;
-
- of->eIntegrator = ir->eI;
- of->bExpanded = ir->bExpanded;
- of->elamstats = ir->expandedvals->elamstats;
- of->simulation_part = ir->simulation_part;
-
- if (MASTER(cr))
- {
- bAppendFiles = (mdrun_flags & MD_APPENDFILES);
-
- of->bKeepAndNumCPT = (mdrun_flags & MD_KEEPANDNUMCPT);
-
- sprintf(filemode, bAppendFiles ? "a+" : "w+");
-
- if ((EI_DYNAMICS(ir->eI) || EI_ENERGY_MINIMIZATION(ir->eI))
-#ifndef GMX_FAHCORE
- &&
- !(EI_DYNAMICS(ir->eI) &&
- ir->nstxout == 0 &&
- ir->nstvout == 0 &&
- ir->nstfout == 0)
-#endif
- )
- {
- of->fp_trn = open_trn(ftp2fn(efTRN, nfile, fnm), filemode);
- }
- if (EI_DYNAMICS(ir->eI) &&
- ir->nstxtcout > 0)
- {
- of->fp_xtc = open_xtc(ftp2fn(efXTC, nfile, fnm), filemode);
- of->xtc_prec = ir->xtcprec;
- }
- if (EI_DYNAMICS(ir->eI) || EI_ENERGY_MINIMIZATION(ir->eI))
- {
- of->fp_ene = open_enx(ftp2fn(efEDR, nfile, fnm), filemode);
- }
- of->fn_cpt = opt2fn("-cpo", nfile, fnm);
-
- if ((ir->efep != efepNO || ir->bSimTemp) && ir->fepvals->nstdhdl > 0 &&
- (ir->fepvals->separate_dhdl_file == esepdhdlfileYES ) &&
- EI_DYNAMICS(ir->eI))
- {
- if (bAppendFiles)
- {
- of->fp_dhdl = gmx_fio_fopen(opt2fn("-dhdl", nfile, fnm), filemode);
- }
- else
- {
- of->fp_dhdl = open_dhdl(opt2fn("-dhdl", nfile, fnm), ir, oenv);
- }
- }
-
- if (opt2bSet("-field", nfile, fnm) &&
- (ir->ex[XX].n || ir->ex[YY].n || ir->ex[ZZ].n))
- {
- if (bAppendFiles)
- {
- of->fp_dhdl = gmx_fio_fopen(opt2fn("-field", nfile, fnm),
- filemode);
- }
- else
- {
- of->fp_field = xvgropen(opt2fn("-field", nfile, fnm),
- "Applied electric field", "Time (ps)",
- "E (V/nm)", oenv);
- }
- }
- }
-
- return of;
-}
-
-void done_mdoutf(gmx_mdoutf_t *of)
-{
- if (of->fp_ene != NULL)
- {
- close_enx(of->fp_ene);
- }
- if (of->fp_xtc)
- {
- close_xtc(of->fp_xtc);
- }
- if (of->fp_trn)
- {
- close_trn(of->fp_trn);
- }
- if (of->fp_dhdl != NULL)
- {
- gmx_fio_fclose(of->fp_dhdl);
- }
- if (of->fp_field != NULL)
- {
- gmx_fio_fclose(of->fp_field);
- }
-
- sfree(of);
-}
-
-void write_traj(FILE *fplog, t_commrec *cr,
- gmx_mdoutf_t *of,
- int mdof_flags,
- gmx_mtop_t *top_global,
- gmx_large_int_t step, double t,
- t_state *state_local, t_state *state_global,
- rvec *f_local, rvec *f_global,
- int *n_xtc, rvec **x_xtc)
-{
- int i, j;
- gmx_groups_t *groups;
- rvec *xxtc;
- rvec *local_v;
- rvec *global_v;
-
-#define MX(xvf) moveit(cr, xvf)
-
- /* MRS -- defining these variables is to manage the difference
- * between half step and full step velocities, but there must be a better way . . . */
-
- local_v = state_local->v;
- global_v = state_global->v;
-
- if (DOMAINDECOMP(cr))
- {
- if (mdof_flags & MDOF_CPT)
- {
- dd_collect_state(cr->dd, state_local, state_global);
- }
- else
- {
- if (mdof_flags & (MDOF_X | MDOF_XTC))
- {
- dd_collect_vec(cr->dd, state_local, state_local->x,
- state_global->x);
- }
- if (mdof_flags & MDOF_V)
- {
- dd_collect_vec(cr->dd, state_local, local_v,
- global_v);
- }
- }
- if (mdof_flags & MDOF_F)
- {
- dd_collect_vec(cr->dd, state_local, f_local, f_global);
- }
- }
- else
- {
- if (mdof_flags & MDOF_CPT)
- {
- /* All pointers in state_local are equal to state_global,
- * but we need to copy the non-pointer entries.
- */
- state_global->lambda = state_local->lambda;
- state_global->veta = state_local->veta;
- state_global->vol0 = state_local->vol0;
- copy_mat(state_local->box, state_global->box);
- copy_mat(state_local->boxv, state_global->boxv);
- copy_mat(state_local->svir_prev, state_global->svir_prev);
- copy_mat(state_local->fvir_prev, state_global->fvir_prev);
- copy_mat(state_local->pres_prev, state_global->pres_prev);
- }
- if (cr->nnodes > 1)
- {
- /* Particle decomposition, collect the data on the master node */
- if (mdof_flags & MDOF_CPT)
- {
- if (state_local->flags & (1<<estX))
- {
- MX(state_global->x);
- }
- if (state_local->flags & (1<<estV))
- {
- MX(state_global->v);
- }
- if (state_local->flags & (1<<estSDX))
- {
- MX(state_global->sd_X);
- }
- if (state_global->nrngi > 1)
- {
- if (state_local->flags & (1<<estLD_RNG))
- {
-#ifdef GMX_MPI
- MPI_Gather(state_local->ld_rng,
- state_local->nrng*sizeof(state_local->ld_rng[0]), MPI_BYTE,
- state_global->ld_rng,
- state_local->nrng*sizeof(state_local->ld_rng[0]), MPI_BYTE,
- MASTERRANK(cr), cr->mpi_comm_mygroup);
-#endif
- }
- if (state_local->flags & (1<<estLD_RNGI))
- {
-#ifdef GMX_MPI
- MPI_Gather(state_local->ld_rngi,
- sizeof(state_local->ld_rngi[0]), MPI_BYTE,
- state_global->ld_rngi,
- sizeof(state_local->ld_rngi[0]), MPI_BYTE,
- MASTERRANK(cr), cr->mpi_comm_mygroup);
-#endif
- }
- }
- }
- else
- {
- if (mdof_flags & (MDOF_X | MDOF_XTC))
- {
- MX(state_global->x);
- }
- if (mdof_flags & MDOF_V)
- {
- MX(global_v);
- }
- }
- if (mdof_flags & MDOF_F)
- {
- MX(f_global);
- }
- }
- }
-
- if (MASTER(cr))
- {
- if (mdof_flags & MDOF_CPT)
- {
- write_checkpoint(of->fn_cpt, of->bKeepAndNumCPT,
- fplog, cr, of->eIntegrator, of->simulation_part,
- of->bExpanded, of->elamstats, step, t, state_global);
- }
-
- if (mdof_flags & (MDOF_X | MDOF_V | MDOF_F))
- {
- fwrite_trn(of->fp_trn, step, t, state_local->lambda[efptFEP],
- state_local->box, top_global->natoms,
- (mdof_flags & MDOF_X) ? state_global->x : NULL,
- (mdof_flags & MDOF_V) ? global_v : NULL,
- (mdof_flags & MDOF_F) ? f_global : NULL);
- if (gmx_fio_flush(of->fp_trn) != 0)
- {
- gmx_file("Cannot write trajectory; maybe you are out of disk space?");
- }
- gmx_fio_check_file_position(of->fp_trn);
- }
- if (mdof_flags & MDOF_XTC)
- {
- groups = &top_global->groups;
- if (*n_xtc == -1)
- {
- *n_xtc = 0;
- for (i = 0; (i < top_global->natoms); i++)
- {
- if (ggrpnr(groups, egcXTC, i) == 0)
- {
- (*n_xtc)++;
- }
- }
- if (*n_xtc != top_global->natoms)
- {
- snew(*x_xtc, *n_xtc);
- }
- }
- if (*n_xtc == top_global->natoms)
- {
- xxtc = state_global->x;
- }
- else
- {
- xxtc = *x_xtc;
- j = 0;
- for (i = 0; (i < top_global->natoms); i++)
- {
- if (ggrpnr(groups, egcXTC, i) == 0)
- {
- copy_rvec(state_global->x[i], xxtc[j++]);
- }
- }
- }
- if (write_xtc(of->fp_xtc, *n_xtc, step, t,
- state_local->box, xxtc, of->xtc_prec) == 0)
- {
- gmx_fatal(FARGS, "XTC error - maybe you are out of disk space?");
- }
- gmx_fio_check_file_position(of->fp_xtc);
- }
- }
-}
#include "names.h"
#include "smalloc.h"
#include "gmx_fatal.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "xvgr.h"
#include "vec.h"
#include "main.h"
#include "network.h"
#include "physics.h"
#include "force.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include "tables.h"
#include "macros.h"
#include "main.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "tgroup.h"
#include "vec.h"
#include "network.h"
#include "sysstuff.h"
#include "string2.h"
#include "network.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "smalloc.h"
#include "nrnb.h"
#include "main.h"
#include "ns.h"
#include "gmx_wallcycle.h"
#include "mtop_util.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trxio.h"
#include "pme.h"
#include "gbutil.h"
#include "gromacs/timing/walltime_accounting.h"
#include "macros.h"
#include "vec.h"
#include "main.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "update.h"
#include "gmx_random.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "mshift.h"
#include "tgroup.h"
#include "force.h"
#include "macros.h"
#include "smalloc.h"
#include "force.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "nrnb.h"
#include "vec.h"
#include "nrnb.h"
#include "gmx_fatal.h"
#include "macros.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "names.h"
#include "domdec.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#define header "Neighborlist:"
#include "string2.h"
#include "smalloc.h"
#include "sysstuff.h"
-#include "filenm.h"
+#include "gromacs/fileio/filenm.h"
+#include "gromacs/fileio/gmxfio.h"
#include "macros.h"
#include "statutil.h"
#include "copyrite.h"
#define GMX_ONLINEHELP_WMAN_H
#include "readinp.h"
+#include "gromacs/fileio/filenm.h"
#ifdef __cplusplus
extern "C" {
#include <string>
#include <vector>
-#include "gromacs/legacyheaders/filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "gromacs/utility/file.h"
#include "gromacs/utility/stringutil.h"
#include <boost/exception_ptr.hpp>
#include <boost/shared_ptr.hpp>
-#include "gromacs/legacyheaders/futil.h"
+#include "gromacs/fileio/futil.h"
#include "gromacs/legacyheaders/smalloc.h"
#include "gromacs/legacyheaders/string2.h"
#include "gromacs/legacyheaders/smalloc.h"
#include "gromacs/legacyheaders/statutil.h"
#include "gromacs/legacyheaders/string2.h"
-#include "gromacs/legacyheaders/tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/legacyheaders/typedefs.h"
#include "gromacs/legacyheaders/vec.h"
#include "gromacs/legacyheaders/smalloc.h"
#include "gromacs/legacyheaders/statutil.h"
#include "gromacs/legacyheaders/vec.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/utility/exceptions.h"
#include <string>
#include <vector>
-#include "gromacs/legacyheaders/gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/legacyheaders/smalloc.h"
#include "gromacs/legacyheaders/statutil.h"
#include "gromacs/legacyheaders/rmpbc.h"
#include "gromacs/legacyheaders/smalloc.h"
#include "gromacs/legacyheaders/statutil.h"
-#include "gromacs/legacyheaders/tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/legacyheaders/statutil.h"
#include "gromacs/legacyheaders/vec.h"
#include "gromacs/options/basicoptions.h"
#define GMX_TRAJECTORYANALYSIS_RUNNERCOMMON_H
#include "../legacyheaders/types/simple.h"
-#include "../legacyheaders/types/trx.h"
+#include "gromacs/fileio/trx.h"
#include "../utility/common.h"
#include <string>
#include <vector>
-#include "gromacs/legacyheaders/futil.h"
+#include "gromacs/fileio/futil.h"
#include "gromacs/utility/exceptions.h"
#include "gromacs/utility/gmxassert.h"
#include <boost/scoped_ptr.hpp>
-#include "gromacs/legacyheaders/futil.h"
+#include "gromacs/fileio/futil.h"
#include "gromacs/legacyheaders/thread_mpi/mutex.h"
#include "gromacs/utility/exceptions.h"
// Some places in the existing code expect to have DIR_SEPARATOR in all
// input paths, but Windows may also give '/' (and does that, e.g., for
// tests invoked through CTest).
- // When removing this, remove also the #include "futil.h".
+ // When removing this, remove also the #include "gromacs/fileio/futil.h".
if (DIR_SEPARATOR == '\\')
{
std::replace(fullInvokedProgram_.begin(), fullInvokedProgram_.end(),
#include "macros.h"
#include "smalloc.h"
#include "statutil.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "genhydro.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "index.h"
#include "vec.h"
#include "hackblock.h"
#include "maths.h"
#include "macros.h"
#include "bondf.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "string2.h"
#include "smalloc.h"
#include "strdb.h"
#include "sysstuff.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "physics.h"
#include "statutil.h"
#include "vec.h"
#include "main.h"
#include "macros.h"
#include <math.h>
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "sysstuff.h"
#include "txtdump.h"
#include "gmx_fatal.h"
-#include "gmxfio.h"
-#include "trnio.h"
-#include "xtcio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/xtcio.h"
#include "atomprop.h"
#include "vec.h"
#include "pbc.h"
#include "physics.h"
#include "index.h"
#include "smalloc.h"
-#include "confio.h"
-#include "enxio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/enxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "names.h"
#include "mtop_util.h"
#include <assert.h>
#include "main.h"
#include "macros.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "sysstuff.h"
#include "txtdump.h"
#include "gmx_fatal.h"
-#include "xtcio.h"
-#include "enxio.h"
+#include "gromacs/fileio/xtcio.h"
+#include "gromacs/fileio/enxio.h"
#include "smalloc.h"
#include "names.h"
-#include "gmxfio.h"
-#include "tpxio.h"
-#include "trnio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trnio.h"
#include "txtdump.h"
#include "gmxcpp.h"
#include "checkpoint.h"
#include "readir.h"
#include "toputil.h"
#include "topio.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "readir.h"
#include "symtab.h"
#include "names.h"
#include "grompp.h"
#include "random.h"
#include "vec.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "splitter.h"
#include "sortwater.h"
#include "gmx_fatal.h"
#include "warninp.h"
#include "index.h"
-#include "gmxfio.h"
-#include "trnio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/gmxfio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
#include "vsite_parm.h"
#include "txtdump.h"
#include "calcgrid.h"
#include "add_par.h"
-#include "enxio.h"
+#include "gromacs/fileio/enxio.h"
#include "perf_est.h"
#include "compute_io.h"
#include "gpp_atomtype.h"
#include <stdio.h>
#include <string.h>
#include "typedefs.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "smalloc.h"
#include "vec.h"
#include "physics.h"
#include "string2.h"
#include "smalloc.h"
#include "sysstuff.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "physics.h"
#include "statutil.h"
#include "vec.h"
#include <ctype.h>
#include "sysstuff.h"
#include "typedefs.h"
-#include "gmxfio.h"
+#include "gromacs/fileio/gmxfio.h"
#include "smalloc.h"
#include "copyrite.h"
#include "string2.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "symtab.h"
#include "vec.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "toputil.h"
#include "h_db.h"
#include "physics.h"
#include <ctype.h>
#include <math.h>
#include "typedefs.h"
-#include "pdbio.h"
+#include "gromacs/fileio/pdbio.h"
#include "strdb.h"
#include "string2.h"
#include "smalloc.h"
#include "typedefs.h"
#include "string2.h"
#include "grompp.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "smalloc.h"
#include "toputil.h"
#include "gmx_fatal.h"
#include "main.h"
#include "macros.h"
#include "smalloc.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "statutil.h"
#include "sysstuff.h"
#include "txtdump.h"
#include "gmx_fatal.h"
#include "names.h"
-#include "tpxio.h"
-#include "enxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trxio.h"
+#include "gromacs/fileio/enxio.h"
#include "mtop_util.h"
#include "string2.h"
#include "macros.h"
#include "names.h"
#include "typedefs.h"
-#include "tpxio.h"
-#include "trnio.h"
-#include "enxio.h"
+#include "gromacs/fileio/tpxio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/enxio.h"
#include "readir.h"
#include "statutil.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "vec.h"
#include "mtop_util.h"
#include "random.h"
#include "smalloc.h"
#include "symtab.h"
#include "index.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "fflibutil.h"
#include "hackblock.h"
#include "gmx_fatal.h"
#include "vsite.h"
#include "update.h"
#include "ns.h"
-#include "trnio.h"
-#include "xtcio.h"
+#include "gromacs/fileio/trnio.h"
+#include "gromacs/fileio/xtcio.h"
#include "mdrun.h"
#include "md_support.h"
#include "md_logging.h"
-#include "confio.h"
+#include "gromacs/fileio/confio.h"
#include "network.h"
#include "pull.h"
#include "xvgr.h"
#include "nbnxn_cuda_data_mgmt.h"
#include "gromacs/utility/gmxmpi.h"
+#include "gromacs/fileio/trajectory_writing.h"
+#include "gromacs/fileio/trxio.h"
#include "gromacs/timing/walltime_accounting.h"
#ifdef GMX_FAHCORE
#include "gromacs/legacyheaders/checkpoint.h"
#include "gromacs/legacyheaders/copyrite.h"
-#include "gromacs/legacyheaders/filenm.h"
+#include "gromacs/fileio/filenm.h"
#include "gromacs/legacyheaders/gmx_fatal.h"
#include "gromacs/legacyheaders/macros.h"
#include "gromacs/legacyheaders/main.h"
#include "statutil.h"
#include "macros.h"
#include "main.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "edsam.h"
#include "index.h"
#include "physics.h"
#include "names.h"
#include "mtop_util.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "string2.h"
#include "membed.h"
#include "pbc.h"
#include "checkpoint.h"
#include "mtop_util.h"
#include "sighandler.h"
-#include "tpxio.h"
+#include "gromacs/fileio/tpxio.h"
#include "txtdump.h"
#include "gmx_detect_hardware.h"
#include "gmx_omp_nthreads.h"
#include "names.h"
#include "nmol.h"
#include "manager.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "gmx_fatal.h"
#define MBFLAGS /* MB_APPLMODAL | */ MB_DONTSHOW
#include "string2.h"
#include "smalloc.h"
#include "fgrid.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
static const char *type[] = {
"button", "radiobuttons", "groupbox", "checkbox",
#include <string.h>
#include "sysstuff.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "smalloc.h"
#include "macros.h"
#include "index.h"
#include <ctype.h>
#include <typedefs.h>
#include <smalloc.h>
-#include <tpxio.h>
+#include "gromacs/fileio/tpxio.h"
#include <macros.h>
#include <maths.h>
#include <atomprop.h>
#include <names.h>
#include "manager.h"
-#include "futil.h"
+#include "gromacs/fileio/futil.h"
#include "pbc.h"
#include "nmol.h"
#include "copyrite.h"
#include "buttons.h"
#include "statutil.h"
#include "rmpbc.h"
+#include "gromacs/fileio/trxio.h"
/* Some window sizes */
#define EWIDTH 200
#include "string2.h"
#include "statutil.h"
#include "copyrite.h"
-#include "confio.h"
-#include "tpxio.h"
+#include "gromacs/fileio/confio.h"
+#include "gromacs/fileio/tpxio.h"
#ifdef HAVE_X11
-D__cplusplus
--suppress=variableScope
--suppress=unnecessaryForwardDeclaration
- --suppress=invalidscanf:src/gromacs/gmxlib/matio.cpp
+ --suppress=invalidscanf:src/gromacs/fileio/matio.cpp
--suppress=invalidscanf:src/gromacs/gmxlib/xvgr.cpp
--suppress=invalidscanf:src/gromacs/gmxpreprocess/pdb2top.cpp
--suppress=*:src/gromacs/selection/scanner.cpp)