Skip to content

Conversation

@hgopalan
Copy link
Contributor

@hgopalan hgopalan commented Oct 14, 2025

Summary

In this PR, we make several changes to the immersed forcing method to improve robustness and also improve the accuracy of the wall function.

  1. The terrain wall-function has been modified to provide wall function capability consistent with the flat terrain.
  2. The hybrid version of the Kosovic model has also been modified to be terrain-aware.
  3. The restart runs with a user-specified CFL assumes a flat bottom to compute the time step. However, when a terrain is added the initial steps at the terrain interface requires a smaller time step to stabilize. A delay time is added to ensure that for restart runs, the simulation does not start with CFl based dt but instead starts with an initial dt. Once the delay time elapses, the simulation switches back to CFL based dt or a fixed dt, depending on user preference.

The time step of immersed forcing simulations are much higher now when we have multiple refinement levels. It is also possible to have terrain touch the outer x and y boundaries without worrying about time step reduction.

Please check the type of change introduced:

  • [X ] Bugfix
  • Feature
  • Code style update (formatting, renaming)
  • Refactoring (no functional changes, no api changes)
  • Build related changes
  • Documentation content changes
  • Other (please describe):

Additional background

The existing regression tests and unit tests will be sufficient.

Issue Number:

@hgopalan hgopalan marked this pull request as ready for review October 14, 2025 21:16
@hgopalan hgopalan requested review from marchdf and mbkuhn October 14, 2025 21:16
@hgopalan hgopalan requested a review from marchdf October 31, 2025 05:59
@hgopalan hgopalan changed the title New terrain wall function Improve Robustness of Immersed Forcing Wall Function and Method Oct 31, 2025
@marchdf
Copy link
Contributor

marchdf commented Oct 31, 2025

do you have a test you want to add to this? Also there are a lot of tests that still use Kosovic.refMOL, going to need to update those.

@hgopalan
Copy link
Contributor Author

do you have a test you want to add to this? Also there are a lot of tests that still use Kosovic.refMOL, going to need to update those.

This works with the existing tests. We just modified how the wall function got evaluated. I will update the refMOL part.

@hgopalan hgopalan requested a review from marchdf November 10, 2025 20:17
@marchdf
Copy link
Contributor

marchdf commented Nov 10, 2025

I see diffs in the test but nothing I would not expect from these changes.

@marchdf
Copy link
Contributor

marchdf commented Nov 10, 2025

Just for posterity, these are the diffs I see:

         35 - abl_waves_terrain (Failed)                        no_ci regression
         36 - act_abl_joukowskydisk (Failed)                    no_ci regression
         37 - act_abl_uniformctdisk (Failed)                    no_ci regression
        101 - forest_drag (Failed)                              no_ci regression
        122 - abl_kosovic_neutral (Failed)                      no_ci regression
        124 - abl_kosovic_neutral_ib (Failed)                   no_ci regression
        125 - nrel_precursor (Failed)                           no_ci regression
        161 - nrel_terrain (Not Run)                            no_ci regression
        162 - nrel_terrain_amr (Not Run)                        no_ci regression

@mbkuhn mbkuhn merged commit c0d63f1 into Exawind:main Nov 11, 2025
14 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