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

Time intervals for plt and chkpt output #881

Merged
merged 22 commits into from
Jul 24, 2023
Merged

Conversation

mbkuhn
Copy link
Contributor

@mbkuhn mbkuhn commented Jul 19, 2023

  • instead of outputting at specified intervals of timesteps, this enables outputting at specified intervals of time
  • this is an enabling feature for adaptive dt simulations and is key to making normal-looking videos when dt varies significantly with time (such as with breaking waves)
  • the implementation includes the option to enforce dt to adhere to the plotting or checkpointing time intervals specified; otherwise the program will output the first plotfile or checkpoint after the time interval is passed
  • also allows the maximum growth of dt (in adaptive dt simulations) to be an input parameter
  • includes unit tests and abort statements for combinations of parameters that do not make sense

@mbkuhn mbkuhn requested a review from ashesh2512 July 19, 2023 19:08
amr-wind/core/SimTime.H Outdated Show resolved Hide resolved
@marchdf
Copy link
Contributor

marchdf commented Jul 20, 2023

@mbkuhn have you looked into amr.plot_per? https://github.com/AMReX-Codes/amrex/blob/development/Src/Amr/AMReX_Amr.H#L122 That might be more relevant to an AmrLevel than AmrCore but it might be worth looking at how it is done there and follow similar thing?

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Jul 20, 2023

@mbkuhn have you looked into amr.plot_per? https://github.com/AMReX-Codes/amrex/blob/development/Src/Amr/AMReX_Amr.H#L122 That might be more relevant to an AmrLevel than AmrCore but it might be worth looking at how it is done there and follow similar thing?

Thanks for sharing this example! My setup of the dt enforcement is very similar to the amrex code. For the plotfile and checkpoint outputs, I mimicked part of a code from my PhD research group: https://github.com/desjardi/NGA2/blob/master/src/libraries/event_class.f90#L61 . Both are pretty similar conceptually.

@mbkuhn mbkuhn merged commit 761b26d into Exawind:main Jul 24, 2023
12 of 13 checks passed
@mbkuhn mbkuhn deleted the plt_time_interval branch July 25, 2024 16:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants