Project

General

Profile

Task #2833

Update topology datastructures

Added by Paul Bauer 6 months ago. Updated 4 months ago.

Status:
New
Priority:
Normal
Assignee:
Category:
core library
Target version:
Difficulty:
hard
Close

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

Task #2916: Decide future of symtabNewPaul Bauer

Associated revisions

Revision 2045d9e0 (diff)
Added by Paul Bauer 6 months ago

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

Revision 70d37111 (diff)
Added by Paul Bauer 5 months ago

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

Revision 8d65b8a2 (diff)
Added by Paul Bauer 5 months ago

Refactor t_restp

Replaced raw allocations with std::containers.

Refs #2833

Change-Id: Ie74708fdf04082f37e69e000aef8f5bd7f577dba

Revision f5c3aa1e (diff)
Added by Paul Bauer 5 months ago

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

Revision 1a05bf00 (diff)
Added by Paul Bauer 5 months ago

Refactor special bonds

Refs #2833

Change-Id: I2e093d7fb5fa429f969a78eef7da639af3f7cd1e

Revision 197d736d (diff)
Added by Paul Bauer 5 months ago

Refactor rtp renaming

Refs #2833

Change-Id: I2407045adadb3b84810fb6bfd83d5b8e9daba6f5

Revision 4d79f1ca (diff)
Added by Paul Bauer 5 months ago

Refactor vsite topology

Refs #2833

Change-Id: Ibde09f829a72cc5e6467e15cf8ee7e3c183a30ad

Revision 167fd872 (diff)
Added by Paul Bauer 5 months ago

Fix memory issues in preprocess

Refs #2833

Change-Id: Ic4118958d98446d3a164fca10c5618ad0da9bed6

Revision 999ebbb1 (diff)
Added by Paul Bauer 5 months ago

Refactor t_molinfo to MoleculeInformation class

Refs #2833

Change-Id: I66a6afc8ade636fb3002492e6c4e1d30ae51019a

Revision 10026b20 (diff)
Added by Paul Bauer 5 months ago

Refactor ExclusionBlocks

Refs #2833

Change-Id: Iffcd5c8e862f2be7b8e05f1c45e324c76ca22f9f

Revision 54d6977d (diff)
Added by Paul Bauer 5 months ago

Refactor t_params to InteractionTypeParameters

Part of preprocessing clean up.

Refs #2833

Change-Id: I4514edde34c978c2756f1c17471e0adde0736896

Revision 77d42598 (diff)
Added by Paul Bauer 5 months ago

Minor refactoring in vsite_parm

Refs #2833

Change-Id: I0658c9c380d4a0723e5a283cd6372f4ad8a6c6b8

Revision 2fadcf2d (diff)
Added by Paul Bauer 5 months ago

Refactor preprocessing atom types.

Refs #2833

Change-Id: Ifd7f583fd5908c1ce225e379b58757f9a09b2100

Revision 2b57a397 (diff)
Added by Mark Abraham 4 months ago

Fix memory leak

Refs #2833

Change-Id: I402aa9996ed398654594527d408a8318dab701f0

Revision 0f8d4458 (diff)
Added by Paul Bauer 4 months ago

Refactor t_param to InteractionType

Refs #2833

Change-Id: Iab043e96399c2a9615e66c5889010331c95782df

Revision 6977e999 (diff)
Added by Paul Bauer 4 months ago

Remove custom datastructure in vsite preprocessing

Refs #2833

Change-Id: I6801264e743b3bf8cf205b8b297315c4b739de06

Revision fc3d6552 (diff)
Added by Paul Bauer 4 months ago

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

Revision 17b85da5 (diff)
Added by Paul Bauer 4 months ago

Add simple test to preprocess bond atom type

Refs #2833

Change-Id: I401678c4d5f266794c2018db3f4168432d33450d

Revision b227126e (diff)
Added by Paul Bauer 4 months ago

Add simple tests for symbol table

Refs #2833

Change-Id: I0e69a0b6c5410c56cb2b62a9320814f93cd2f23c

Revision d6ce3691 (diff)
Added by Paul Bauer 4 months ago

Refactor gpp_bond_atomtype

Refs #2833

Change-Id: Id17a93c9cc4a66b0bf89c465d2d44601fe2c523d

Revision 521bc606 (diff)
Added by Paul Bauer 4 months ago

Remove t_topology from two preprocess tools

Refs #2833

Change-Id: Ic842305579986910db8cc30313f74278239640bc

Revision 0242703c (diff)
Added by Paul Bauer 3 months ago

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

Revision 5db7b9d7 (diff)
Added by Paul Bauer 3 months ago

Replace t_grps with std::vector

Refs #2833

Change-Id: Ia1f156fec4c6c24f4c29a792e384668d835416f0

Revision 70ce6d25 (diff)
Added by Paul Bauer 2 months ago

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

History

#1 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I22cfa27bfefc8469b4100a9fef8c11da4d304657
Gerrit URL: https://gerrit.gromacs.org/8977

#2 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ia55598c45b67980cac93c06853ab20f9a05fa0d7
Gerrit URL: https://gerrit.gromacs.org/8978

#3 Updated by Paul Bauer 6 months ago

This also means there is work to do in the preprocessing routines.

#4 Updated by Paul Bauer 6 months 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.

#6 Updated by Gerrit Code Review Bot 6 months ago

Gerrit received a related patchset '8' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I3110d6baa51fb003ed9478468b25dd899ae9d5a6
Gerrit URL: https://gerrit.gromacs.org/9020

#7 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '10' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I518f5b0d5a7f20cbf8bf3636e88084c1daaab5d9
Gerrit URL: https://gerrit.gromacs.org/9072

#8 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '6' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ie74708fdf04082f37e69e000aef8f5bd7f577dba
Gerrit URL: https://gerrit.gromacs.org/9081

#9 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '5' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I620866b823d9839cafafe357352e3e7a49033a69
Gerrit URL: https://gerrit.gromacs.org/9082

#10 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I2e093d7fb5fa429f969a78eef7da639af3f7cd1e
Gerrit URL: https://gerrit.gromacs.org/9132

#11 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I2407045adadb3b84810fb6bfd83d5b8e9daba6f5
Gerrit URL: https://gerrit.gromacs.org/9133

#12 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ibde09f829a72cc5e6467e15cf8ee7e3c183a30ad
Gerrit URL: https://gerrit.gromacs.org/9140

#13 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '5' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ic4118958d98446d3a164fca10c5618ad0da9bed6
Gerrit URL: https://gerrit.gromacs.org/9131

#14 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I66a6afc8ade636fb3002492e6c4e1d30ae51019a
Gerrit URL: https://gerrit.gromacs.org/9146

#15 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '3' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Iffcd5c8e862f2be7b8e05f1c45e324c76ca22f9f
Gerrit URL: https://gerrit.gromacs.org/9176

#16 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '4' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I4514edde34c978c2756f1c17471e0adde0736896
Gerrit URL: https://gerrit.gromacs.org/9194

#17 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '5' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ifd7f583fd5908c1ce225e379b58757f9a09b2100
Gerrit URL: https://gerrit.gromacs.org/9043

#18 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I0658c9c380d4a0723e5a283cd6372f4ad8a6c6b8
Gerrit URL: https://gerrit.gromacs.org/9267

#19 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '7' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Iab043e96399c2a9615e66c5889010331c95782df
Gerrit URL: https://gerrit.gromacs.org/9214

#20 Updated by Gerrit Code Review Bot 5 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ic93904cc6ea98bc139615b37b4eadd5ce0db43ec
Gerrit URL: https://gerrit.gromacs.org/9276

#21 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Mark Abraham ()
Change-Id: gromacs~master~I402aa9996ed398654594527d408a8318dab701f0
Gerrit URL: https://gerrit.gromacs.org/9286

#22 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I6801264e743b3bf8cf205b8b297315c4b739de06
Gerrit URL: https://gerrit.gromacs.org/9290

#23 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I24e84bdb18e46f2cff710a1ca2cb0e1d4b80e633
Gerrit URL: https://gerrit.gromacs.org/9291

#24 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I581fb2a436528c00770b98ba6e5d45af7c7d9a0c
Gerrit URL: https://gerrit.gromacs.org/9292

#25 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I3dabd11a1bc8a78379f4187bc8efa266a7c46d74
Gerrit URL: https://gerrit.gromacs.org/9298

#26 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I401678c4d5f266794c2018db3f4168432d33450d
Gerrit URL: https://gerrit.gromacs.org/9299

#27 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '3' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Id17a93c9cc4a66b0bf89c465d2d44601fe2c523d
Gerrit URL: https://gerrit.gromacs.org/9297

#28 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Mark Abraham ()
Change-Id: gromacs~master~I867d8222cbcade2ad19e9d2186c554ddb8beed4b
Gerrit URL: https://gerrit.gromacs.org/9309

#29 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I4034fa0f700052a5ad72afa2f6c1b25a346e28a2
Gerrit URL: https://gerrit.gromacs.org/9315

#30 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I0e69a0b6c5410c56cb2b62a9320814f93cd2f23c
Gerrit URL: https://gerrit.gromacs.org/9338

#31 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ibd771444933ef4b01f5a3eca9db3efbbbff2926f
Gerrit URL: https://gerrit.gromacs.org/9343

#32 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I59dab5e19a6fc4ab86933b178cb2d729b72c4f7a
Gerrit URL: https://gerrit.gromacs.org/9348

#33 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~I1754d9333a85e7fb57803e63dba54f62b5f89c9c
Gerrit URL: https://gerrit.gromacs.org/9351

#34 Updated by Gerrit Code Review Bot 4 months ago

Gerrit received a related patchset '1' for Issue #2833.
Uploader: Paul Bauer ()
Change-Id: gromacs~master~Ia1f156fec4c6c24f4c29a792e384668d835416f0
Gerrit URL: https://gerrit.gromacs.org/9384

Also available in: Atom PDF