-
Notifications
You must be signed in to change notification settings - Fork 0
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 ASCOT5 through successive timesteps #3
Comments
Some important discussion in team meeting and with @makeclean has happened around design decisions for this phase of development, and this is a brief summary. With my file-based interface to ASCOT, it is going to be very difficult to make this readily parallel on the MOOSE side. There are a few options going forward:
Conclusion: proceed with option 1 as it seems to have the best chance of success for a more immediate prototype. |
Investigation into whether my app was indeed correctly running over multiple MPI processes proved tricky (unsurprisingly). MOOSE tends to discard output from all processes except process 0. The correct flag to use to get output from all processes is mpirun -n 4 phaethon-devel -i read_ascot5_heat_fluxes.i --keep-cout --redirect-stdout The Now that I am confident the app runs successfully in parallel, I am on firm ground to start spawning ASCOT5 processes. In the process of figuring this out, I also came across the useful class member |
Ah, glad you figured out the right flag to use! Sorry that I didn't remember this offhand. Great that we now have a record of this in writing via this thread. |
Made some progress calling ASCOT5 from within Phaethon. See discussion here on MOOSE forum: idaholab/moose#19413 I went down the route of calling the ASCOT5 main function like a normal library routine. This caused some additional complexity to get ASCOT5 callable as a library (see above), but there are a variety of advantages from the user perspective over passing an ASCOT5 executable via runtime input. With the current setup, a user will only need to run |
In the course of writing tests for the driving of ASCOT5 runs, I have encountered some strange variability in the particle velocity values produced by ASCOT5. My understanding is that the particle motions should be deterministic between runs, but that doesn't appear to be the case.
|
One thing you could check is how the random seed for the runs is generated. I've encountered MC codes that use the machine timestamp to generate a random seed, so there will be time-variability. Only if the code uses a fixed seed will it be the same between runs. |
Commit f63eb8e completes implementation of generic read routines and ability to read endstate. |
Commit 553d601 completes initial implementation of copying the endstate to the marker group in the HDF5 file. |
Option 1 Tasks
The text was updated successfully, but these errors were encountered: