Skip to content

Commit 300a662

Browse files
committed
Pre-merger
1 parent c910746 commit 300a662

File tree

2 files changed

+8
-10
lines changed

2 files changed

+8
-10
lines changed

examples/fluid/falling_water_column_2d_IISPH.jl

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@ smoothing_kernel = SchoenbergCubicSplineKernel{2}()
4242
viscosity = ViscosityAdami(; nu=1.0 / 100.0)
4343
fluid_system = ImplicitIncompressibleSPHSystem(tank.fluid, smoothing_kernel,
4444
smoothing_length, viscosity=viscosity,
45-
acceleration=(0.0, -gravity);
46-
min_iterations=2, max_iterations=10)
45+
acceleration=(0.0, -gravity))
4746

4847
# ==========================================================================================
4948
# ==== Boundary
@@ -67,7 +66,7 @@ saving_callback = SolutionSavingCallback(dt=0.02, prefix="")
6766
callbacks = CallbackSet(info_callback, saving_callback)
6867

6968
sol = solve(ode, SymplecticEuler(),
70-
dt=0.0001,
69+
dt=0.001,
7170
save_everystep=false, callback=callbacks);
7271

7372
plot(sol)

src/schemes/fluid/implicit_incompressible_sph/system.jl

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -239,8 +239,8 @@ end
239239
function calculate_sum_dij(system::ImplicitIncompressibleSPHSystem, particle, pressure,
240240
grad_kernel, time_step)
241241
p_b = pressure[particle]
242-
d_ij = calculate_dij(system, particle, grad_kernel, time_step)
243-
return d_ij * p_b
242+
d_ab = calculate_dij(system, particle, grad_kernel, time_step)
243+
return d_ab * p_b
244244
end
245245

246246
# Calculates the sum d_ij*p_j over all j for a given particle i ('IHMSEN et al' section 3.1.1)
@@ -278,8 +278,7 @@ function calculate_sum_term(system, neighbor_system::ImplicitIncompressibleSPHSy
278278
p_a = pressure[particle]
279279
p_b = pressure[neighbor]
280280
sum_db = get_sum_dj(neighbor_system, sum_dj, neighbor)
281-
dba = -time_step^2 * hydrodynamic_mass(system, particle) /
282-
particle_density(0, system, particle)^2 * -grad_kernel
281+
dba = calculate_dij(system, particle, -grad_kernel, time_step)
283282
return m_b * dot(sum_da - d_b * p_b - (sum_db - dba * p_a), grad_kernel)
284283
end
285284

@@ -442,11 +441,11 @@ function pressure_solve(system, v, u, v_ode, u_ode, semi, t, time_step)
442441
(; max_iterations) = system
443442

444443
rest_density = 1000.0 #TODO: not hardcoded
445-
avg_density_error = 0.0
446444
l = 1
447445
check = false
448446
while (!check)
449447
set_zero!(sum_dij)
448+
avg_density_error = 0.0 #TODO
450449
foreach_system(semi) do neighbor_system
451450
# Get neighbor system u and v values
452451
u_neighbor_system = wrap_u(u_ode, neighbor_system, semi)
@@ -502,7 +501,7 @@ function pressure_solve(system, v, u, v_ode, u_ode, semi, t, time_step)
502501
pressure[particle] = max((1-omega) * pressure[particle] +
503502
omega * 1/a[particle] *
504503
(rest_density - predicted_density[particle] -
505-
s_term[particle]), 0) #version with pressure clamping (no negative pressure values)
504+
s_term[particle]), 0)
506505
else
507506
pressure[particle] = 0
508507
end
@@ -524,7 +523,7 @@ end
524523
# Calculates the pressure values by solving a linear system with a relaxed jacobi scheme
525524
function update_quantities!(system::ImplicitIncompressibleSPHSystem, v, u,
526525
v_ode, u_ode, semi, t)
527-
time_step = 0.0001
526+
time_step = 0.001
528527

529528
@trixi_timeit timer() "predict advections" predict_advection(system, v, u, v_ode, u_ode,
530529
semi, t, time_step)

0 commit comments

Comments
 (0)