Skip to content

Single Boundary Plane#1812

Open
hgopalan wants to merge 8 commits intoExawind:mainfrom
hgopalan:single_boundary_plane
Open

Single Boundary Plane#1812
hgopalan wants to merge 8 commits intoExawind:mainfrom
hgopalan:single_boundary_plane

Conversation

@hgopalan
Copy link
Contributor

Summary

For quasi-steady URANS simulations, there is no need to interpolate multiple time planes and a single plane at end of simulation is sufficient. It is also possible to create that plane using the python tools available in AMR-Wind. This PR modifies the boundary plane reading to allow this special pathway.

Please check the type of change introduced:

  • Bugfix
  • [X ] 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)
  • [X ] new regression test(s)
  • documentation for new capability

This PR was tested by running:

  • the unit tests
    • on GPU
    • [X ] on CPU
  • the regression tests
    • [X ] on GPU
    • on CPU

@hgopalan hgopalan marked this pull request as ready for review January 9, 2026 17:23
if (!m_is_initialized) {
return;
}
amrex::Print() << "Initializing ABL Boundary Plane IO\n"
Copy link
Contributor

Choose a reason for hiding this comment

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

Do we need this print statement? Seems line 360 is already adding output for frozen boundary plane

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Will remove

"native format.");
}

m_in_data.interpolate(time);
Copy link
Contributor

Choose a reason for hiding this comment

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

Is this needed for time constant input?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

I am not sure. Will check. I just added a basic skeleton which worked.

m_in_data.interpolate(time);
}

void ABLBoundaryPlane::read_frozen_file()
Copy link
Contributor

Choose a reason for hiding this comment

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

This whole function is duping what's insider read_file. Can you just have conditional checks insider read_file to avoid a lot of code duplication?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The read_file function checks while reading the data which will cause failure here since we are cheating the code to read same time step twice.

hgopalan and others added 3 commits January 29, 2026 01:54
Co-authored-by: prakash <120606615+moprak-nrel@users.noreply.github.com>
Co-authored-by: prakash <120606615+moprak-nrel@users.noreply.github.com>
@hgopalan hgopalan requested a review from mchurchf February 2, 2026 16:56
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.

2 participants