Skip to content

Commit dcfb854

Browse files
authored
DummyParticles with ContinuityDensity on GPU is broken (#870)
* Bug not GPU compatible setter * add test * format * Update dam_break_2d_gpu.jl
1 parent 460c484 commit dcfb854

3 files changed

Lines changed: 20 additions & 5 deletions

File tree

examples/fluid/dam_break_2d_gpu.jl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,4 +40,5 @@ trixi_include(@__MODULE__,
4040
density_diffusion=density_diffusion,
4141
boundary_layers=boundary_layers, spacing_ratio=spacing_ratio,
4242
boundary_model=boundary_model,
43-
parallelization_backend=PolyesterBackend())
43+
parallelization_backend=PolyesterBackend(),
44+
boundary_density_calculator=boundary_density_calculator)

src/schemes/boundary/system.jl

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -384,10 +384,7 @@ function write_v0!(v0,
384384
(; cache) = system.boundary_model
385385
(; initial_density) = cache
386386

387-
for particle in eachparticle(system)
388-
# Set particle densities
389-
v0[1, particle] = initial_density[particle]
390-
end
387+
v0[1, :] = initial_density
391388

392389
return v0
393390
end

test/examples/gpu.jl

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -87,6 +87,23 @@ end
8787
end
8888
end
8989

90+
@trixi_testset "fluid/dam_break_2d_gpu.jl Float32 with ContinuityDensity boundary density" begin
91+
@trixi_test_nowarn trixi_include_changeprecision(Float32, @__MODULE__,
92+
joinpath(examples_dir(),
93+
"fluid",
94+
"dam_break_2d_gpu.jl");
95+
tspan=(0.0f0, 0.1f0),
96+
parallelization_backend=Main.parallelization_backend,
97+
boundary_density_calculator=ContinuityDensity()) [
98+
r"┌ Info: The desired tank length in y-direction .*\n",
99+
r"└ New tank length in y-direction.*\n"
100+
]
101+
@test semi.neighborhood_searches[1][1].cell_list isa FullGridCellList
102+
@test sol.retcode == ReturnCode.Success
103+
backend = TrixiParticles.KernelAbstractions.get_backend(sol.u[end].x[1])
104+
@test backend == Main.parallelization_backend
105+
end
106+
90107
@trixi_testset "fluid/dam_break_2d_gpu.jl Float32 BoundaryModelMonaghanKajtar" begin
91108
# Import variables into scope
92109
trixi_include_changeprecision(Float32, @__MODULE__,

0 commit comments

Comments
 (0)