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

Underwater terrain-aware wave forcing #1475

Merged
merged 10 commits into from
Feb 3, 2025

Conversation

mbkuhn
Copy link
Contributor

@mbkuhn mbkuhn commented Jan 31, 2025

Summary

Turn off wave forcing where there is terrain, and modify ocean wave boundary to also be aware.

Pull request type

Please check the type of change introduced:

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

Checklist

The following is included:

  • new unit-test(s)
  • new regression test(s)
  • documentation for new capability

This PR was tested by running:

  • the unit tests
    • on GPU
    • on CPU
  • the regression tests
    • on GPU
    • on CPU -- the ow_* and terrain tests, specifically

Additional background

For continuing collaboration with water power

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Feb 3, 2025

Once this gets a regression test, we can upgrade it to "ready for review".

@mbkuhn mbkuhn marked this pull request as ready for review February 3, 2025 18:01
@mbkuhn
Copy link
Contributor Author

mbkuhn commented Feb 3, 2025

Main point of PR: allow terrain drag to do its thing underwater.

Wave forcing modifies velocity fields within the relaxation zones -- now it will leave cells untouched that are "blanked" (inside terrain) or marked as drag cells (velocity is modified by drag term).

Wave boundary fill sets the boundary velocity to the target velocity of the wave profile -- now it will set the velocity to 0 in boundary cells that are adjacent to "blanked" cells so no flow is pushing directly into terrain at the boundary.

@mbkuhn
Copy link
Contributor Author

mbkuhn commented Feb 3, 2025

Screenshot 2025-02-03 at 10 52 37 AM

From reg test after 10 steps. Enlarged the wave to be able to see it. In application, test would typically be run with some mesh refinements.

@mbkuhn mbkuhn enabled auto-merge (squash) February 3, 2025 18:33
Copy link
Contributor

@marchdf marchdf left a comment

Choose a reason for hiding this comment

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

Cool work!

@hgopalan
Copy link
Contributor

hgopalan commented Feb 3, 2025

We should consider adding a walk through using Will's case. This PR adds many different capabilities in a single solve.

@mbkuhn mbkuhn disabled auto-merge February 3, 2025 18:48
@mbkuhn
Copy link
Contributor Author

mbkuhn commented Feb 3, 2025

We should consider adding a walk through using Will's case. This PR adds many different capabilities in a single solve.

That's a good idea! I'm getting the capability in for the version release, but I think there will be more development and documentation as Matt and Will continue to look into this.

Copy link
Contributor

@moprak-nrel moprak-nrel left a comment

Choose a reason for hiding this comment

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

Cool work! Have just a super minor comment

@mbkuhn mbkuhn enabled auto-merge (squash) February 3, 2025 20:55
@mbkuhn mbkuhn merged commit 38d1b9f into Exawind:main Feb 3, 2025
15 checks passed
@mbkuhn mbkuhn deleted the underwater_terrain_aware_wave_forcing branch February 4, 2025 20:46
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