-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Labels
Priority: MediumIndicates an Epic with medium priorityIndicates an Epic with medium priorityScope: I/ORelated to file handling and I/ORelated to file handling and I/O
Milestone
Description
Focus
The current input file format requires us to maintain our own code for reading/writing those files. As part of #899 we have decided to replace this file with TOML. #1008 will be the initial PR that will cover quite a bit of the serialization (writing to file) part of the process.
In order to cover this process in an appropriate manner, there will be two main issues that will keep track of progress.
Tasks
- Implement TOML Serialization #1012
- Implement TOML Deserialization #1013
- Add a wrapper for PairPotential #1022
- Add a wrapper for MasterTerms #1043
- Improve error logging when serialising/deserialising data #1044
- Implement proper unit tests for TOML #1045
- TOML serialising/deserialising stylistic code clean-up #1046
- Add command line option for converting input file #1299
- Add infrastructure for backwards compatibility for TOML file format. #1300
- Create TOML file test store #1301
Notes
- @rprospero pointed out in TOML File Format Initial PR #1008 that we could probably improve the serialization of
SpeciesAngle,SpeciesBond,SpeciesTorsionandSpeciesImproperby adding aserialize()method to theSpeciesIntraclass. This method should handle serializing the parameters for each interaction there rather than doing it in each individual class. This can also be applied to deserializing said items. - @IVlaD17: It might be a good idea to reevaluate how
SpeciesBond,SpeciesAngle,SpeciesTorsion,SpeciesImproperdeclare the Atoms involved in the interaction. Currently, they're stored as different members (i,j,k,l, etc.) but there might be some advantages in storing them in an array/vector/list or something. - @rprospero: The following system test files can be run while only parsing the
Species,Master, andPairPotentialblocks:tests/input/benzene.txttests/input/py5-ntf2.txttests/input/water.txt
- @rprospero thinks we should overload the
toml::fromand thetoml::intomethods to handlestd::string_viewandVec3at the very least but this should be investigated. - @rprospero suggested we should use
std::transformcalls wherever we are creating containers from TOML containers. - @rprospero suggested we sort out some sort of algorithm to replace the endless duplicated code (#1008)
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
Priority: MediumIndicates an Epic with medium priorityIndicates an Epic with medium priorityScope: I/ORelated to file handling and I/ORelated to file handling and I/O