Skip to content

Add turbulent forcing functionality to generate and maintain homogeneous isotropic turbulence.#588

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

Add turbulent forcing functionality to generate and maintain homogeneous isotropic turbulence.#588
baperry2 merged 21 commits intoAMReX-Combustion:developmentfrom
efhunt:TurbulentForcing

Conversation

@efhunt
Copy link
Copy Markdown
Contributor

@efhunt efhunt commented Jun 26, 2025

This PR adds functionality 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)).

A separate PR is being submitted to PeleLMeX which will add the appropriate hooks in addition to an example configuration.

For details on the implementation see Docs/sphinx/Utility.rst section "Forced Turbulence Implementation Details".

This was the combined effort between Andrew Aspden, Thomas Howarth and Edward Hunt where we stated with Candace Gilet implementation in IAMR.

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)

// or as the factor itself
pp.query("hack_lz", m_tfp.m_hack_lz);

pp.query("rho_incompressible", m_tfp.m_rho_incompressible);
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

It seems bug-prone to require that the user specify another rho_incompressible in addition to what they specify for the base solver. How about passing the incompressible flag and rho (for incompressible simulations) to the init function, so they can be specified directly by PeleLMeX?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Hi, thank you for your review and comments. I think this is a good idea. I am unlikely to get round to making the changes this week so will aim to have it pushed on Monday.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Hi baperry2. I have made the changes. Hopefully what I pushed was what you had in mind (required changes have also been made to LMeX).

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Looks good.

Copy link
Copy Markdown
Contributor

@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 adding the turbulence forcing capability!

@baperry2 baperry2 merged commit 7b7fb91 into AMReX-Combustion:development Jul 7, 2025
10 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.

4 participants