Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ability to drive sequential ASCOT5 runs #19

Merged
merged 32 commits into from
Mar 11, 2022
Merged

Conversation

bielsnohr
Copy link
Collaborator

This PR brings in the long chain of changes needed to get Phaethon to drive ASCOT5 over multiple times steps. This completes the first Phaethon prototype. It should be possible to incorporate Phaethon as a sub-app that ties into a heat conduction problem, where fluxes provided to the heat conduction problem are from the fast ions.

This closes #3

AscotProblem::externalSolve() has not been implemented, so this new test
fails here.
Unit test to check that this call has executed passes.
It now separates the data for the quick run from the normal run
This is following the discovery that multiple threads can cause
variability between runs. OMP_NUM_THREADS=1 is therefore now used for
tests and generating test data.
Also, correct and error in the integer test data. SI units need to be
turned off.
Correct the creation of the double data which had insufficient precision
and required SI units to be turned off for the mass.
The endstate values that ended up in a new marker group have now been
copied over to the active subgroup so that `h5diff` should work when
comparing these subgroups from test runs.
By correct time option set, it is meant that no just dt (the time step)
should be written to the ASCOT5 input, but time() + dt() because ASCOT5
uses the cumulative time for end conditions.
…d not the '.h5' stripped like ASCOT5 expects

The stripping of the .h5 extension is now done within the code before
calling ASCOT5. This is more consistent and understandable.
Implement test of this class method also, with corresponding updates to
the test data.
Remove the other regression test for reading HDF5 data because it was
actually an integration test that didn't run the app end-to-end, and
with the fully implemented AscotProblem, it is likely no longer possible
to do this type of test with the regression test system of MOOSE.
@bielsnohr bielsnohr added the enhancement New feature or request label Mar 11, 2022
@bielsnohr bielsnohr added this to the First Prototype milestone Mar 11, 2022
@bielsnohr bielsnohr self-assigned this Mar 11, 2022
@bielsnohr bielsnohr merged commit fb653bb into main Mar 11, 2022
@bielsnohr bielsnohr deleted the 3-drive-ascot5-runs branch March 11, 2022 11:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add ability to drive ASCOT5 through successive timesteps
1 participant