debug iterdict function for generate cp2k input #603
Closed
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The original
iterdict
function used for generating CP2K input finds the place for inserting a new string bylist.index(object)
. This method fails when there are two identical keywords/section names in the input file (but at different levels). For example, there are manyPRINT
sections available in CP2K, which cannot be printed out correctly with the originaliterdict
function.In the modified version, I replace the Arg flag with loop_idx for recording the exact positions where the new string should be inserted (from the end of the list).
A minor change in the
make_cp2k_input
function is made correspondingly.