Task #2833
Update topology datastructures
Description
To make sure that later work can be performed on the analysis tools and core library, certain datastructures used in the topology still need updating.
Mainly, the old t_atoms struct (and its underlying datastructures) need to be transformed into C++ styles, to allow easier access to the underlying elements, while ensuring that they can not be accidentally modified by calling code. In addition to this, the current way of handling the string database (t_symtab) are not optimal to allow a smooth transition to new file types and object serialization.
To do this, a number of underlying tasks need to be performed to allow the changes to happen.
- Update old C-style typedef of atom properties and residue search to C++
- Update some of the gmx_mtop_t atom loops to C++ to be able to use new definitions (may be able to change to native C++ range based loops later)
- Change allocations of datastructures using t_atoms to use new/unique_ptr
- Split out residue information out of atom information
RFC Please let me know if there are any older issues that should be referenced.
Checklist
- Update atomprop typedef
- Update residuetype typedef
- Update atom loops in gmx_mtop_t
- Update allocations for datastructures that use t_atoms
- Change t_atoms to C++
- Update preprocessing datastructures to C++
Subtasks
Associated revisions
Refactor t_hack to MoleculePatches
Replaced raw allocations with std::containers. Changed loops and
dependent functions to use new format.
Used hopefully better names for types and variables.
Part of preprocessing clean up.
Refs #2833
Change-Id: I518f5b0d5a7f20cbf8bf3636e88084c1daaab5d9
Refactor t_restp
Replaced raw allocations with std::containers.
Refs #2833
Change-Id: Ie74708fdf04082f37e69e000aef8f5bd7f577dba
Refactor t_rbonded and t_rbondeds
Again, replaced raw allocations with std::container and changed function
signatures and loops to use new behaviour.
Refs #2833
Change-Id: I620866b823d9839cafafe357352e3e7a49033a69
Refactor t_molinfo to MoleculeInformation class
Refs #2833
Change-Id: I66a6afc8ade636fb3002492e6c4e1d30ae51019a
Refactor t_params to InteractionTypeParameters
Part of preprocessing clean up.
Refs #2833
Change-Id: I4514edde34c978c2756f1c17471e0adde0736896
Remove custom datastructure in vsite preprocessing
Refs #2833
Change-Id: I6801264e743b3bf8cf205b8b297315c4b739de06
Add tests for preprocess atom types
Adds some tests for the handling of preprocessing atom types and fixes a
bug that I introduced while refactoring the code.
Refs #2833
Change-Id: I3dabd11a1bc8a78379f4187bc8efa266a7c46d74
Add simple test to preprocess bond atom type
Refs #2833
Change-Id: I401678c4d5f266794c2018db3f4168432d33450d
Remove t_topology from two preprocess tools
Refs #2833
Change-Id: Ic842305579986910db8cc30313f74278239640bc
Refactor t_pindex
Also change naming of containers for interaction types to better reflect
what is actually stored in the container.
Refs #2833
Change-Id: I581fb2a436528c00770b98ba6e5d45af7c7d9a0c
Remove more manual memory management
Changed another virtual site preprocessing type to std::container and
added some documentation for types.
Refs #2833
Change-Id: I24e84bdb18e46f2cff710a1ca2cb0e1d4b80e633
Add conversion from new to legacy symtab
Added function to convert legacy to modern version as well.
Also add test for conversion and merge test fixtures for symbol table
tests.
Refs #2833
Change-Id: I59dab5e19a6fc4ab86933b178cb2d729b72c4f7a
History
#1 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I22cfa27bfefc8469b4100a9fef8c11da4d304657
Gerrit URL: https://gerrit.gromacs.org/8977
#2 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ia55598c45b67980cac93c06853ab20f9a05fa0d7
Gerrit URL: https://gerrit.gromacs.org/8978
#3 Updated by Paul Bauer about 2 years ago
This also means there is work to do in the preprocessing routines.
#4 Updated by Paul Bauer about 2 years ago
Atomprop has been reworked in change https://gerrit.gromacs.org/#/c/8953/ and https://gerrit.gromacs.org/#/c/8937/, but may need more work later.
#5 Updated by Paul Bauer about 2 years ago
Residuetypes has been reworked in https://gerrit.gromacs.org/#/c/8961/ and https://gerrit.gromacs.org/#/c/8933/
#6 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '8' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I3110d6baa51fb003ed9478468b25dd899ae9d5a6
Gerrit URL: https://gerrit.gromacs.org/9020
#7 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '10' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I518f5b0d5a7f20cbf8bf3636e88084c1daaab5d9
Gerrit URL: https://gerrit.gromacs.org/9072
#8 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '6' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ie74708fdf04082f37e69e000aef8f5bd7f577dba
Gerrit URL: https://gerrit.gromacs.org/9081
#9 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '5' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I620866b823d9839cafafe357352e3e7a49033a69
Gerrit URL: https://gerrit.gromacs.org/9082
#10 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I2e093d7fb5fa429f969a78eef7da639af3f7cd1e
Gerrit URL: https://gerrit.gromacs.org/9132
#11 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I2407045adadb3b84810fb6bfd83d5b8e9daba6f5
Gerrit URL: https://gerrit.gromacs.org/9133
#12 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ibde09f829a72cc5e6467e15cf8ee7e3c183a30ad
Gerrit URL: https://gerrit.gromacs.org/9140
#13 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '5' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ic4118958d98446d3a164fca10c5618ad0da9bed6
Gerrit URL: https://gerrit.gromacs.org/9131
#14 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I66a6afc8ade636fb3002492e6c4e1d30ae51019a
Gerrit URL: https://gerrit.gromacs.org/9146
#15 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '3' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Iffcd5c8e862f2be7b8e05f1c45e324c76ca22f9f
Gerrit URL: https://gerrit.gromacs.org/9176
#16 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '4' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I4514edde34c978c2756f1c17471e0adde0736896
Gerrit URL: https://gerrit.gromacs.org/9194
#17 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '5' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ifd7f583fd5908c1ce225e379b58757f9a09b2100
Gerrit URL: https://gerrit.gromacs.org/9043
#18 Updated by Gerrit Code Review Bot about 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I0658c9c380d4a0723e5a283cd6372f4ad8a6c6b8
Gerrit URL: https://gerrit.gromacs.org/9267
#19 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '7' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Iab043e96399c2a9615e66c5889010331c95782df
Gerrit URL: https://gerrit.gromacs.org/9214
#20 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ic93904cc6ea98bc139615b37b4eadd5ce0db43ec
Gerrit URL: https://gerrit.gromacs.org/9276
#21 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Mark Abraham (mark.j.abraham@gmail.com)
Change-Id: gromacs~master~I402aa9996ed398654594527d408a8318dab701f0
Gerrit URL: https://gerrit.gromacs.org/9286
#22 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I6801264e743b3bf8cf205b8b297315c4b739de06
Gerrit URL: https://gerrit.gromacs.org/9290
#23 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I24e84bdb18e46f2cff710a1ca2cb0e1d4b80e633
Gerrit URL: https://gerrit.gromacs.org/9291
#24 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I581fb2a436528c00770b98ba6e5d45af7c7d9a0c
Gerrit URL: https://gerrit.gromacs.org/9292
#25 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I3dabd11a1bc8a78379f4187bc8efa266a7c46d74
Gerrit URL: https://gerrit.gromacs.org/9298
#26 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I401678c4d5f266794c2018db3f4168432d33450d
Gerrit URL: https://gerrit.gromacs.org/9299
#27 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '3' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Id17a93c9cc4a66b0bf89c465d2d44601fe2c523d
Gerrit URL: https://gerrit.gromacs.org/9297
#28 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Mark Abraham (mark.j.abraham@gmail.com)
Change-Id: gromacs~master~I867d8222cbcade2ad19e9d2186c554ddb8beed4b
Gerrit URL: https://gerrit.gromacs.org/9309
#29 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I4034fa0f700052a5ad72afa2f6c1b25a346e28a2
Gerrit URL: https://gerrit.gromacs.org/9315
#30 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I0e69a0b6c5410c56cb2b62a9320814f93cd2f23c
Gerrit URL: https://gerrit.gromacs.org/9338
#31 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ibd771444933ef4b01f5a3eca9db3efbbbff2926f
Gerrit URL: https://gerrit.gromacs.org/9343
#32 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I59dab5e19a6fc4ab86933b178cb2d729b72c4f7a
Gerrit URL: https://gerrit.gromacs.org/9348
#33 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~I1754d9333a85e7fb57803e63dba54f62b5f89c9c
Gerrit URL: https://gerrit.gromacs.org/9351
#34 Updated by Gerrit Code Review Bot almost 2 years ago
Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer (paul.bauer.q@gmail.com)
Change-Id: gromacs~master~Ia1f156fec4c6c24f4c29a792e384668d835416f0
Gerrit URL: https://gerrit.gromacs.org/9384
#35 Updated by Paul Bauer over 1 year ago
- Target version changed from 2020 to 2021-infrastructure-stable
Change one gmx_mtop_t atom loop to C++
Changed C style struct to C++ class.
Preparation for modernizing atoms datastructure.
Removed a useless gmxassert.h
Refs #2833
Change-Id: I22cfa27bfefc8469b4100a9fef8c11da4d304657