Commit 2c32b1e7 authored by Matthieu Schaller's avatar Matthieu Schaller
Browse files

Extended the modifications to the other schemes.

parent 23f1178d
......@@ -9,8 +9,8 @@ InternalUnitSystem:
# Parameters governing the time integration
TimeIntegration:
time_begin: 0. # The starting time of the simulation (in internal units).
time_end: 10. # The end time of the simulation (in internal units).
dt_min: 1e-8 # The minimal time-step size of the simulation (in internal units).
time_end: 10. # The end time of the simulation (in internal units).
dt_min: 1e-5 # The minimal time-step size of the simulation (in internal units).
dt_max: 1e-1 # The maximal time-step size of the simulation (in internal units).
# Parameters governing the conserved quantities statistics
......@@ -40,7 +40,7 @@ IsothermalPotential:
position_z: 0.
vrot: 200. # Rotation speed of isothermal potential in internal units
timestep_mult: 0.03 # Controls time step
epsilon: 0.1 # Softening for the isothermal potential
epsilon: 1.0 # Softening for the isothermal potential
# Cooling parameters
LambdaCooling:
......
......@@ -360,8 +360,10 @@ __attribute__((always_inline)) INLINE static void hydro_kick_extra(
struct part *restrict p, struct xpart *restrict xp, float dt) {
/* Do not decrease the energy by more than a factor of 2*/
const float u_change = p->u_dt * dt;
xp->u_full = max(xp->u_full + u_change, 0.5f * xp->u_full);
if (p->u_dt < -0.5f * xp->u_full / dt) {
p->u_dt = -0.5f * xp->u_full / dt;
}
xp->u_full += p->u_dt * dt;
/* Compute the pressure */
const float pressure = gas_pressure_from_internal_energy(p->rho, xp->u_full);
......
......@@ -394,11 +394,10 @@ __attribute__((always_inline)) INLINE static void hydro_kick_extra(
struct part *restrict p, struct xpart *restrict xp, float dt) {
/* Do not decrease the entropy (temperature) by more than a factor of 2*/
const float entropy_change = p->entropy_dt * dt;
if (entropy_change > -0.5f * xp->entropy_full)
xp->entropy_full += entropy_change;
else
xp->entropy_full *= 0.5f;
if (p->entropy_dt < -0.5f * xp->entropy_full / dt) {
p->entropy_dt = -0.5f * xp->entropy_full / dt;
}
xp->entropy_full += p->entropy_dt * dt;
/* Compute the pressure */
const float pressure =
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment