Skip to content

Commit

Permalink
reorganize
Browse files Browse the repository at this point in the history
  • Loading branch information
hgopalan committed Feb 13, 2025
1 parent 2f15556 commit 17e0ad4
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 39 deletions.
3 changes: 1 addition & 2 deletions amr-wind/equation_systems/icns/source_terms/DragForcing.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -267,8 +267,7 @@ void DragForcing::operator()(
bc_forcing_x = -(uxTarget - ux1) / dt;
bc_forcing_y = -(uyTarget - uy1) / dt;
}
const amrex::Real cell_drag = drag(i, j, k) / (drag(i, j, k) + tiny);
//! Cannot be used for waves
const amrex::Real cell_drag = (drag(i, j, k) > 0) ? 1.0 : 0.0;
if (drag(i, j, k) > 1 && (!is_laminar) && (!is_waves)) {
const amrex::Real z0 = std::max(terrainz0(i, j, k), z0_min);
const amrex::GpuArray<amrex::Real, 4> cell_wind_x = {
Expand Down
54 changes: 17 additions & 37 deletions amr-wind/physics/TerrainDrag.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -140,46 +140,26 @@ void TerrainDrag::initialize_fields(int level, const amrex::Geometry& geom)
levelz0[nbx](i, j, k, 0) = roughz0;
});
amrex::Gpu::synchronize();
amrex::ParallelFor(
blanking, [=] AMREX_GPU_DEVICE(int nbx, int i, int j, int k) noexcept {
if ((levelBlanking[nbx](i, j, k, 0) == 0) && (k > 0) &&
(levelBlanking[nbx](i, j, k - 1, 0) == 1)) {
levelDrag[nbx](i, j, k, 0) = 1;
} else {
levelDrag[nbx](i, j, k, 0) = 0;
}
});
amrex::Gpu::synchronize();

amrex::ParallelFor(
blanking, [=] AMREX_GPU_DEVICE(int nbx, int i, int j, int k) noexcept {
if ((levelBlanking[nbx](i, j, k, 0) == 0) &&
(levelBlanking[nbx](i - 1, j, k, 0) == 1)) {
levelDrag[nbx](i, j, k, 0) = 2;
}
});

amrex::ParallelFor(
blanking, [=] AMREX_GPU_DEVICE(int nbx, int i, int j, int k) noexcept {
if ((levelBlanking[nbx](i, j, k, 0) == 0) &&
(levelBlanking[nbx](i + 1, j, k, 0) == 1)) {
levelDrag[nbx](i, j, k, 0) = 3;
}
});
amrex::Gpu::synchronize();

amrex::ParallelFor(
blanking, [=] AMREX_GPU_DEVICE(int nbx, int i, int j, int k) noexcept {
if ((levelBlanking[nbx](i, j, k, 0) == 0) &&
(levelBlanking[nbx](i, j - 1, k, 0) == 1)) {
levelDrag[nbx](i, j, k, 0) = 4;
}
});
amrex::ParallelFor(
blanking, [=] AMREX_GPU_DEVICE(int nbx, int i, int j, int k) noexcept {
if ((levelBlanking[nbx](i, j, k, 0) == 0) &&
(levelBlanking[nbx](i, j + 1, k, 0) == 1)) {
levelDrag[nbx](i, j, k, 0) = 5;
const amrex::GpuArray<int, 5> cell_blanking{
levelBlanking[nbx](i, j, k - 1, 0),
levelBlanking[nbx](i - 1, j, k, 0),
levelBlanking[nbx](i + 1, j, k, 0),
levelBlanking[nbx](i, j - 1, k, 0),
levelBlanking[nbx](i, j + 1, k, 0)};
for (int index = 0; index <= 4; ++index) {
if ((levelBlanking[nbx](i, j, k, 0) == 0) && (k > 0) &&
(cell_blanking[index] == 1) &&
(levelDrag[nbx](i, j, k, 0) == 0) &&
levelDrag[nbx](i, j, k, 0) == 0) {
levelDrag[nbx](i, j, k, 0) = index + 1;
}
else
{
levelDrag[nbx](i, j, k, 0) = 0;
}
}
});
amrex::Gpu::synchronize();
Expand Down

0 comments on commit 17e0ad4

Please sign in to comment.