This commit changes the Keywords class so that the type of object (scalar/vector/matrix/grid) that is stored in each value is provided. In addition, I have also modified the way that you specify ARG keywords so that you can specify what types of value are accepted in the input to the action. The idea would be to incorporate all this information in the manual eventually.
It looks like a massive change but the only changes in most functions are in the registerKeywords function.
Target release
I would like my code to appear in release 2.10
Type of contribution
[x] changes to code or doc authored by PLUMED developers, or additions of code in the core or within the default modules
[ ] changes to a module not authored by you
[ ] new module contribution or edit of a module authored by you
Copyright
[x] I agree to transfer the copyright of the code I have written to the PLUMED developers or to the author of the code I am modifying.
[ ] the module I added or modified contains a COPYRIGHT file with the correct license information. Code should be released under an open source license. I also used the command cd src && ./header.sh mymodulename in order to make sure the headers of the module are correct.
Tests
[x] I added a new regtest or modified an existing regtest to validate my changes.
[x] I verified that all regtests are passed successfully on GitHub Actions.
Description
This commit changes the Keywords class so that the type of object (scalar/vector/matrix/grid) that is stored in each value is provided. In addition, I have also modified the way that you specify ARG keywords so that you can specify what types of value are accepted in the input to the action. The idea would be to incorporate all this information in the manual eventually.
It looks like a massive change but the only changes in most functions are in the registerKeywords function.
Target release
I would like my code to appear in release 2.10
Type of contribution
Copyright
COPYRIGHT
file with the correct license information. Code should be released under an open source license. I also used the commandcd src && ./header.sh mymodulename
in order to make sure the headers of the module are correct.Tests