Decouple t_inputrec from MDModules
authorTeemu Murtola <teemu.murtola@gmail.com>
Sun, 26 Feb 2017 13:02:43 +0000 (15:02 +0200)
committerTeemu Murtola <teemu.murtola@gmail.com>
Mon, 27 Feb 2017 13:43:52 +0000 (14:43 +0100)
commit67dfb6ebd8d098769a45e76683824bcf24bbce39
tree4102142ec03ca9c03fecbfd9601bac6597f3c8d5
parent0c280390ca0c23cb3e091a8dc7270efcf18cde52
Decouple t_inputrec from MDModules

t_inputrec no longer depends on IInputRecExtension fields being
initialized, so it is not necessary to initialize it in gmx::MDModules.
Now t_inputrec can again be initialized without gmx::MDModules,
clarifying responsibilities.

For now, this again removes the need to use gmx::MDModules for just
reading t_inputrec.  These locations may need further changes as
responsibilities move around more, but in any case, t_inputrec ownership
should be better somewhere else than in MDModules.

Add constructor and destructor to t_inputrec to make it easier to manage
its instances.  Disallow copying (since that is tricky to implement
correctly), and do a manual only-what-is-required copy in PME
reinitialization, which is the only place that relied on copying

Change-Id: I52e0a17b13a0b7dad886fdf1b7d09bcbfcf961aa
23 files changed:
src/gromacs/applied-forces/tests/electricfield.cpp
src/gromacs/ewald/pme.cpp
src/gromacs/ewald/tests/pmebsplinetest.cpp
src/gromacs/ewald/tests/pmegathertest.cpp
src/gromacs/ewald/tests/pmesplinespreadtest.cpp
src/gromacs/gmxana/gmx_disre.cpp
src/gromacs/gmxana/gmx_energy.cpp
src/gromacs/gmxana/gmx_hbond.cpp
src/gromacs/gmxana/gmx_pme_error.cpp
src/gromacs/gmxana/gmx_spol.cpp
src/gromacs/gmxana/gmx_tune_pme.cpp
src/gromacs/gmxana/gmx_wham.cpp
src/gromacs/gmxpreprocess/grompp.cpp
src/gromacs/gmxpreprocess/readir.cpp
src/gromacs/gmxpreprocess/readir.h
src/gromacs/mdrunutility/mdmodules.cpp
src/gromacs/mdrunutility/mdmodules.h
src/gromacs/mdtypes/inputrec.cpp
src/gromacs/mdtypes/inputrec.h
src/gromacs/tools/check.cpp
src/gromacs/tools/convert_tpr.cpp
src/gromacs/tools/dump.cpp
src/programs/mdrun/runner.cpp