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.
Proposed changes
To get consistent kpoint sorting across compilers and mixed and full precision simulations should rely on full precision for the CrystalLattice and KContainer should do the kpoint sorting in full precision. Then to preserve mixing precision performance where applicable reduced precision ksq and kpts_cart access via the get*Working calls added to KContainer are available.
This unfortunately touches a huge number of files since There are many tests that directly define CrystalLattice's and they do this either explicitly in mixed precision or by using the
PtclOnLatticeTraits::ParticleLayout
type alias.Some deterministic test values for mixed precision are now enough closer to full precision that they fall outside of the tolerance of the tests. Rather than drop the tolerance I have updated the values when they are closer to full precision that the previous test targets. This requires many one line updates through CMakeLists.txt in the deterministics tests and it will take some time to complete.
What type(s) of changes does this code introduce?
Delete the items that do not apply
Does this introduce a breaking change?
What systems has this change been tested on?
Checklist
Update the following with a yes where the items apply. If you're unsure about any of them, don't hesitate to ask. This is
simply a reminder of what we are going to look for before merging your code.