Skip to content

Commit

Permalink
fix gpu compilation again
Browse files Browse the repository at this point in the history
  • Loading branch information
zhichen3 committed Sep 19, 2024
1 parent e187c15 commit 98ced0b
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 6 deletions.
20 changes: 15 additions & 5 deletions Source/driver/timestep.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,8 @@ Castro::estdt_cfl (int is_new)
// Courant-condition limited timestep

const auto dx = geom.CellSizeArray();
const auto problo = geom.ProbLoArray();
amrex::ignore_unused(problo);

const MultiFab& stateMF = is_new ? get_new_data(State_Type) : get_old_data(State_Type);

Expand Down Expand Up @@ -85,7 +87,7 @@ Castro::estdt_cfl (int is_new)
if (geom.IsSPHERICAL()) {
// dx[1] in Spherical2D is just dtheta, need rdtheta for physical length
// so just multiply by the smallest r
dt2 *= geom.ProbLoArray()[0] + 0.5_rt * dx[0];
dt2 *= problo[0] + 0.5_rt * dx[0];
}
#else
dt2 = dt1;
Expand Down Expand Up @@ -132,6 +134,8 @@ Castro::estdt_mhd (int is_new)

// MHD timestep limiter
const auto dx = geom.CellSizeArray();
const auto problo = geom.ProbLoArray();
amrex::ignore_unused(problo);

const MultiFab& U_state = is_new ? get_new_data(State_Type) : get_old_data(State_Type);

Expand Down Expand Up @@ -212,7 +216,7 @@ Castro::estdt_mhd (int is_new)
#if AMREX_SPACEDIM >= 2
dt2 = dx[1]/(cy + std::abs(uy));
if (geom.IsSPHERICAL()) {
dt2 *= geom.ProbLoArray()[0] + 0.5_rt * dx[0];
dt2 *= problo[0] + 0.5_rt * dx[0];
}
#else
dt2 = dt1;
Expand Down Expand Up @@ -246,6 +250,8 @@ Castro::estdt_temp_diffusion (int is_new)
// where D = k/(rho c_v), and k is the conductivity

const auto dx = geom.CellSizeArray();
const auto problo = geom.ProbLoArray();
amrex::ignore_unused(problo);

const MultiFab& stateMF = is_new ? get_new_data(State_Type) : get_old_data(State_Type);

Expand Down Expand Up @@ -296,7 +302,7 @@ Castro::estdt_temp_diffusion (int is_new)
#if AMREX_SPACEDIM >= 2
dt2 = 0.5_rt * dx[1]*dx[1] / D;
if (geom.IsSPHERICAL()) {
Real r = geom.ProbLoArray()[0] + 0.5_rt * dx[0];
Real r = problo[0] + 0.5_rt * dx[0];
dt2 *= r * r;
}
#else
Expand Down Expand Up @@ -332,6 +338,8 @@ Castro::estdt_burning (int is_new)
}

const auto dx = geom.CellSizeArray();
const auto problo = geom.ProbLoArray();
amrex::ignore_unused(problo);

MultiFab& stateMF = is_new ? get_new_data(State_Type) : get_old_data(State_Type);

Expand Down Expand Up @@ -383,7 +391,7 @@ Castro::estdt_burning (int is_new)
Real r = 1.0_rt;
#if AMREX_SPACEDIM >= 2
if (geom.IsSPHERICAL()) {
r = geom.ProbLoArray()[0] + 0.5_rt * dx[0];
r = problo[0] + 0.5_rt * dx[0];
}
#endif
burn_state.dx = amrex::min(AMREX_D_DECL(dx[0], r * dx[1], dx[2]));
Expand Down Expand Up @@ -482,6 +490,8 @@ Real
Castro::estdt_rad (int is_new)
{
auto dx = geom.CellSizeArray();
const auto problo = geom.ProbLoArray();
amrex::ignore_unused(problo);

const MultiFab& stateMF = is_new ? get_new_data(State_Type) : get_old_data(State_Type);
const MultiFab& radMF = is_new ? get_new_data(Rad_Type) : get_old_data(Rad_Type);
Expand Down Expand Up @@ -542,7 +552,7 @@ Castro::estdt_rad (int is_new)
#if AMREX_SPACEDIM >= 2
Real dt2 = dx[1] / (c + std::abs(uy));
if (geom.IsSPHERICAL()) {
dt2 *= geom.ProbLoArray()[0] + 0.5_rt * dx[0];
dt2 *= problo[0] + 0.5_rt * dx[0];
}
#else
Real dt2 = std::numeric_limits<Real>::max();
Expand Down
4 changes: 3 additions & 1 deletion Source/hydro/Castro_hydro.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -237,6 +237,8 @@ Castro::check_for_cfl_violation(const MultiFab& State, const Real dt)
int cfl_violation = 0;

auto dx = geom.CellSizeArray();
const auto problo = geom.ProbLoArray();
amrex::ignore_unused(problo);

Real dtdx = dt / dx[0];

Expand All @@ -246,7 +248,7 @@ Castro::check_for_cfl_violation(const MultiFab& State, const Real dt)
if (geom.IsSPHERICAL()) {
// dx[1] in Spherical2D is just rdtheta, need rdtheta for physical length
// Just choose to divide by the smallest r
dtdy /= geom.ProbLoArray()[0] + 0.5_rt * dx[0];
dtdy /= problo[0] + 0.5_rt * dx[0];
}
}

Expand Down

0 comments on commit 98ced0b

Please sign in to comment.