Skip to content

Turbulent forcing#535

Merged
baperry2 merged 32 commits intoAMReX-Combustion:developmentfrom
efhunt:TurbulentForcing
Jul 7, 2025
Merged

Turbulent forcing#535
baperry2 merged 32 commits intoAMReX-Combustion:developmentfrom
efhunt:TurbulentForcing

Conversation

@efhunt
Copy link
Copy Markdown
Contributor

@efhunt efhunt commented Jun 26, 2025

This PR adds the required hooks to use the turbulent forcing functions in PelePhysics (requires PR#588). The turbulent forcing is used to generate and maintain homogeneous isotropic turbulence. The method used is the same as that used in PeleLM and IAMR (Andrew Aspden's forcing, see Aspden et al (CAMCoS 2008)).

Additionally, it is an essential component of the workflow to start a flame sheet with already developed HIT. Therefore functionality to read in the velocities from an existing plotfile and add them to the state data is provided.

Example configurations have been provided in Exec/RegTests/TurbForce_Incompressible for generating the inital turbulent velocity plotfile and TurbForce_FlameSheet for a turbulent flame sheet.

The code has been tested using PeleLMeX on CPUs (by myself gcc (Debian 12.2.0-14+deb12u1) 12.2.0)) and Max Schneider on GPUs (ml Stages/2024 NVHPC/25.1-CUDA-12 OpenMPI/4.1.5 CMake/3.26.3)

@baperry2 baperry2 self-requested a review June 26, 2025 17:24
@baperry2
Copy link
Copy Markdown
Collaborator

Thanks for the PR and for including documentation and test cases to demonstrate the new capability!

It may be a bit before we can review this thoroughly, but there are a few things you can start on now to get things moving along:

  • You should be able to to commit the updated the version of the PelePhysics submodule you have in that PR, which will get the automated tests working so you can address any issues that come up
  • If possible, see if you can fold the new test cases into the already existing FlameSheet and HITDecay (perhaps renaming it to HIT) cases with small changes to the source files for those cases and additional input files. This would help us keep the overall number of cases we have to compile during testing reasonable and make maintenance easier.
  • Set up the new cases to run in the CI (add to the end of Tests/CMakeLists.txt, and Exec/RegTests/CMakeLists.txt if they need to be compiled separately)

@efhunt
Copy link
Copy Markdown
Contributor Author

efhunt commented Jul 1, 2025

Thank you for your response and suggestions. The amendments have been made and I have integrated the test cases into HITDecay (now renamed HIT) and FlameSheet.

Copy link
Copy Markdown
Collaborator

@baperry2 baperry2 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks again for this contribution. Looks pretty good, mostly there are just some extraneous files that can be deleted.

@efhunt
Copy link
Copy Markdown
Contributor Author

efhunt commented Jul 7, 2025

I am not quite sure why there is a branch conflict and how to resolve it? Any advice or help would be appreciated.

@baperry2
Copy link
Copy Markdown
Collaborator

baperry2 commented Jul 7, 2025

Git merges can be a bit weird with the submodules. I resolved on the command line by doing a merge with development than updating and committing the PelePhysics submodule to the latest version from that PR. I'll merge both PRs once the tests all pass.

@efhunt
Copy link
Copy Markdown
Contributor Author

efhunt commented Jul 7, 2025

Fantastic, thanks!

@baperry2 baperry2 enabled auto-merge (squash) July 7, 2025 17:17
@baperry2 baperry2 merged commit ba5babb into AMReX-Combustion:development Jul 7, 2025
25 checks passed
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.

3 participants