[WIP] Adopt pydantic-based PICMI standard#5639
Draft
chillenzer wants to merge 9 commits intoComputationalRadiationPhysics:devfrom
Draft
[WIP] Adopt pydantic-based PICMI standard#5639chillenzer wants to merge 9 commits intoComputationalRadiationPhysics:devfrom
chillenzer wants to merge 9 commits intoComputationalRadiationPhysics:devfrom
Conversation
6d9d7fe to
929d950
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
pyproject.tomlto the first pydantic-based PICMI version once that is released.dev.Pydantic-based PICMI
This PR starts the process of converging our PICMI implementation to the standard (and correspondingly the standard to our PICMI interface). It's foremost goal is to be a testbed for the changes in the PICMI standard (see here). However, as a side effect, there are quite adjustments to the interface and/or test coverage going on and a number of open issues addressed.
Pydantic-focused changes
The main changes happening here are
PICMI_Extensionin cases that are PIConGPU specificassertRaises(ValidationError)instead of manually thrown errors and some minor interface changes.Standard-convergence changes
Some minor to moderate steps to a more conformant implementation have been taken in the process:
GriddedLayoutnow conforms to the standard (BREAKING CHANGE!) and I've addedOnePositionas a new layout. There would be better names/interfaces for this but those would not be standard conforming. This will be addressed within the PICMI standard team later. I've also added tests for all supported layouts.binomial_current_interpolationswitch with a standard-conformantBinomialSmootherclass added to theElectromagneticSolver.