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

switch some more min(max(..)) to std::clamp #1627

Merged
merged 1 commit into from
Jul 21, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 5 additions & 5 deletions EOS/helmholtz/actual_eos.H
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,9 @@ void apply_electrons (T& state)

// hash locate this temperature and density
int jat = int((std::log10(state.T) - tlo) * tstpi) + 1;
jat = amrex::max(1, amrex::min(jat, jmax-1)) - 1;
jat = std::clamp(jat, 1, jmax-1) - 1;
int iat = int((std::log10(din) - dlo) * dstpi) + 1;
iat = amrex::max(1, amrex::min(iat, imax-1)) - 1;
iat = std::clamp(iat, 1, imax-1) - 1;

amrex::Real fi[36];

Expand Down Expand Up @@ -1005,7 +1005,7 @@ void single_iter_update (T& state, int var, int dvar,
amrex::Real xnew = x - (v - v_want) / dvdx;

// Don't let the temperature/density change by more than a factor of two
xnew = amrex::max(0.5_rt * x, amrex::min(xnew, 2.0_rt * x));
xnew = std::clamp(xnew, 0.5_rt * x, 2.0_rt * x);

// Don't let us freeze/evacuate
xnew = amrex::max(smallx, xnew);
Expand Down Expand Up @@ -1120,8 +1120,8 @@ void double_iter_update (T& state, int var1, int var2,

// Don't let the temperature or density change by more
// than a factor of two
tnew = amrex::max(0.5e0_rt * told, amrex::min(tnew, 2.0e0_rt * told));
rnew = amrex::max(0.5e0_rt * rold, amrex::min(rnew, 2.0e0_rt * rold));
tnew = std::clamp(tnew, 0.5e0_rt * told, 2.0e0_rt * told);
rnew = std::clamp(rnew, 0.5e0_rt * rold, 2.0e0_rt * rold);

// Don't let us freeze or evacuate
tnew = amrex::max(EOSData::mintemp, tnew);
Expand Down
2 changes: 1 addition & 1 deletion integration/BackwardEuler/be_integrator.H
Original file line number Diff line number Diff line change
Expand Up @@ -272,7 +272,7 @@ int be_integrator (BurnT& state, BeT& be)
// backward-Euler has a local truncation error of dt**2

amrex::Real dt_new = dt_sub * std::pow(1.0_rt / rel_error, 0.5_rt);
dt_sub = amrex::min(amrex::max(dt_new, dt_sub / 2.0), 2.0 * dt_sub);
dt_sub = std::clamp(dt_new, dt_sub / 2.0, 2.0 * dt_sub);

} else {

Expand Down
2 changes: 1 addition & 1 deletion integration/ForwardEuler/actual_integrator.H
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ void clean_state (const amrex::Real time, IntT& int_state, BurnT& state)

// Ensure that the temperature always stays within reasonable limits.

state.T = amrex::min(MAX_TEMP, amrex::max(state.T, EOSData::mintemp));
state.T = std::clamp(state.T, EOSData::mintemp, MAX_TEMP);

}

Expand Down
2 changes: 1 addition & 1 deletion integration/RKC/rkc.H
Original file line number Diff line number Diff line change
Expand Up @@ -308,7 +308,7 @@ int rkclow (BurnT& state, RkcT& rstate)
}
}
absh = std::max(0.1_rt, fac) * absh;
absh = std::max(hmin, std::min(rstate.hmax, absh));
absh = std::clamp(absh, hmin, rstate.hmax);
errold = err;
hold = h;
h = tdir * absh;
Expand Down
3 changes: 1 addition & 2 deletions integration/integrator_type_sdc.H
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,7 @@ void clean_state(const amrex::Real time, BurnT& state, T& int_state)
if (do_species_clip) {
for (int n = 1; n <= NumSpec; ++n) {
// we use 1-based indexing, so we need to offset SFS
int_state.y(SFS+n) = amrex::max(amrex::min(int_state.y(SFS+n), state.rho),
state.rho * SMALL_X_SAFE);
int_state.y(SFS+n) = std::clamp(int_state.y(SFS+n), state.rho * SMALL_X_SAFE, state.rho);
}
}

Expand Down
2 changes: 1 addition & 1 deletion integration/integrator_type_strang.H
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ void clean_state (const amrex::Real time, BurnT& state, I& int_state)

if (do_species_clip) {
for (int n = 1; n <= NumSpec; ++n) {
int_state.y(n) = amrex::max(amrex::min(int_state.y(n), 1.0_rt), SMALL_X_SAFE);
int_state.y(n) = std::clamp(int_state.y(n), SMALL_X_SAFE, 1.0_rt);
}
}

Expand Down
2 changes: 1 addition & 1 deletion integration/utils/initial_timestep.H
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@ amrex::Real initial_react_dt (BurnT& burn_state, IntT& int_state,
// Save the final timestep, with a bias factor.

amrex::Real dt = h / 2.0_rt;
dt = amrex::min(amrex::max(h, hL), hU);
dt = std::clamp(h, hL, hU);

dt = amrex::min(dt, ode_max_dt);

Expand Down
Loading