Skip to content

Commit 8459b02

Browse files
Merge remote-tracking branch 'origin/bg/trixi-v016' into bg/trixi-v016
2 parents 3cf5ee0 + db83854 commit 8459b02

File tree

7 files changed

+36
-25
lines changed

7 files changed

+36
-25
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "TrixiAtmo"
22
uuid = "c9ed1054-d170-44a9-8ee2-d5566f5d1389"
33
authors = ["Benedict Geihe <bgeihe@uni-koeln.de>", "Tristan Montoya <montoya.tristan@gmail.com>", "Hendrik Ranocha <hendrik.ranocha@uni-mainz.de>", "Andrés Rueda-Ramírez <aruedara@uni-koeln.de>", "Michael Schlottke-Lakemper <michael@sloede.com>"]
4-
version = "0.1.6-DEV"
4+
version = "0.1.7-DEV"
55

66
[deps]
77
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
@@ -37,5 +37,5 @@ Static = "0.8, 1"
3737
StaticArrayInterface = "1.5.1"
3838
StaticArrays = "1"
3939
StrideArrays = "0.1.28"
40-
Trixi = "0.15"
40+
Trixi = "0.16"
4141
julia = "1.10"

src/TrixiAtmo.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ using Setfield
3232
flux, flux_ec, flux_chandrashekar, flux_wintermeyer_etal,
3333
flux_fjordholm_etal, flux_nonconservative_wintermeyer_etal,
3434
flux_nonconservative_fjordholm_etal, FluxLMARS, flux_shima_etal,
35-
flux_ranocha, flux_kennedy_gruber
35+
flux_ranocha, flux_kennedy_gruber, trixi_backend
3636

3737
using Trixi: ln_mean, stolarsky_mean, inv_ln_mean
3838

src/callbacks_step/analysis_covariant.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ function Trixi.integrate(func::Func, u,
3434

3535
integral = zero(func(u_values[1], equations))
3636
total_volume = zero(sum(rd.wq))
37-
for element in Trixi.eachelement(dg, cache)
37+
for element in Trixi.eachelement(mesh, dg, cache)
3838
weights = area_element.(aux_quad_values[:, element], equations) .* rd.wq
3939
integral += sum(weights .* func.(u_values[:, element], equations))
4040
total_volume += sum(weights)

src/solvers/dgmulti/dg_manifold_covariant.jl

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ function Trixi.calc_sources!(du, u, t, source_term::Nothing,
5050
end
5151

5252
# version for covariant equations on DGMultiMeshes
53-
function Trixi.calc_volume_integral!(du, u,
53+
function Trixi.calc_volume_integral!(backend::Nothing, du, u,
5454
mesh::DGMultiMesh{NDIMS_AMBIENT, <:Trixi.NonAffine},
5555
have_nonconservative_terms::False,
5656
equations::AbstractCovariantEquations{NDIMS},
@@ -81,7 +81,8 @@ function Trixi.calc_volume_integral!(du, u,
8181
end
8282
end
8383

84-
function Trixi.calc_interface_flux!(cache, surface_integral::SurfaceIntegralWeakForm,
84+
function Trixi.calc_interface_flux!(backend::Nothing, cache,
85+
surface_integral::SurfaceIntegralWeakForm,
8586
mesh::DGMultiMesh,
8687
have_nonconservative_terms::False,
8788
equations::AbstractCovariantEquations{NDIMS},

src/solvers/dgsem_p4est/dg_2d_manifold_in_3d_cartesian.jl

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,26 +6,27 @@ function Trixi.rhs!(du, u, t,
66
equations::AbstractEquations{3},
77
boundary_conditions, source_terms::Source,
88
dg::DG, cache) where {Source}
9+
backend = trixi_backend(u)
910

1011
# Reset du
1112
Trixi.@trixi_timeit Trixi.timer() "reset ∂u/∂t" Trixi.set_zero!(du, dg, cache)
1213

1314
# Calculate volume integral
1415
Trixi.@trixi_timeit Trixi.timer() "volume integral" begin
15-
Trixi.calc_volume_integral!(du, u, mesh,
16+
Trixi.calc_volume_integral!(backend, du, u, mesh,
1617
Trixi.have_nonconservative_terms(equations),
1718
equations,
1819
dg.volume_integral, dg, cache)
1920
end
2021

2122
# Prolong solution to interfaces
2223
Trixi.@trixi_timeit Trixi.timer() "prolong2interfaces" begin
23-
Trixi.prolong2interfaces!(cache, u, mesh, equations, dg)
24+
Trixi.prolong2interfaces!(backend, cache, u, mesh, equations, dg)
2425
end
2526

2627
# Calculate interface fluxes
2728
Trixi.@trixi_timeit Trixi.timer() "interface flux" begin
28-
Trixi.calc_interface_flux!(cache.elements.surface_flux_values, mesh,
29+
Trixi.calc_interface_flux!(backend, cache.elements.surface_flux_values, mesh,
2930
Trixi.have_nonconservative_terms(equations),
3031
equations,
3132
dg.surface_integral, dg, cache)
@@ -56,12 +57,13 @@ function Trixi.rhs!(du, u, t,
5657

5758
# Calculate surface integrals
5859
Trixi.@trixi_timeit Trixi.timer() "surface integral" begin
59-
Trixi.calc_surface_integral!(du, u, mesh, equations,
60+
Trixi.calc_surface_integral!(backend, du, u, mesh, equations,
6061
dg.surface_integral, dg, cache)
6162
end
6263

6364
# Apply Jacobian from mapping to reference element
64-
Trixi.@trixi_timeit Trixi.timer() "Jacobian" Trixi.apply_jacobian!(du, mesh,
65+
Trixi.@trixi_timeit Trixi.timer() "Jacobian" Trixi.apply_jacobian!(backend, du,
66+
mesh,
6567
equations,
6668
dg, cache)
6769

src/solvers/dgsem_p4est/dg_2d_manifold_in_3d_covariant.jl

Lines changed: 21 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,26 @@ function Trixi.rhs!(du, u, t,
1010
equations::AbstractCovariantEquations{2},
1111
boundary_conditions, source_terms::Source,
1212
dg::DG, cache) where {Source}
13+
backend = trixi_backend(u)
14+
1315
# Reset du
1416
Trixi.@trixi_timeit Trixi.timer() "reset ∂u/∂t" Trixi.set_zero!(du, dg, cache)
1517

1618
# Calculate volume integral
1719
Trixi.@trixi_timeit Trixi.timer() "volume integral" begin
18-
Trixi.calc_volume_integral!(du, u, mesh,
20+
Trixi.calc_volume_integral!(backend, du, u, mesh,
1921
Trixi.have_nonconservative_terms(equations),
2022
equations, dg.volume_integral, dg, cache)
2123
end
2224

2325
# Prolong solution to interfaces
2426
Trixi.@trixi_timeit Trixi.timer() "prolong2interfaces" begin
25-
Trixi.prolong2interfaces!(cache, u, mesh, equations, dg)
27+
Trixi.prolong2interfaces!(backend, cache, u, mesh, equations, dg)
2628
end
2729

2830
# Calculate interface fluxes
2931
Trixi.@trixi_timeit Trixi.timer() "interface flux" begin
30-
Trixi.calc_interface_flux!(cache.elements.surface_flux_values, mesh,
32+
Trixi.calc_interface_flux!(backend, cache.elements.surface_flux_values, mesh,
3133
Trixi.have_nonconservative_terms(equations),
3234
equations, dg.surface_integral, dg, cache)
3335
end
@@ -48,12 +50,14 @@ function Trixi.rhs!(du, u, t,
4850

4951
# Calculate surface integrals
5052
Trixi.@trixi_timeit Trixi.timer() "surface integral" begin
51-
Trixi.calc_surface_integral!(du, u, mesh, equations, dg.surface_integral, dg,
53+
Trixi.calc_surface_integral!(backend, du, u, mesh, equations,
54+
dg.surface_integral, dg,
5255
cache)
5356
end
5457

5558
# Apply Jacobian from mapping to reference element
56-
Trixi.@trixi_timeit Trixi.timer() "Jacobian" Trixi.apply_jacobian!(du, mesh,
59+
Trixi.@trixi_timeit Trixi.timer() "Jacobian" Trixi.apply_jacobian!(backend, du,
60+
mesh,
5761
equations, dg,
5862
cache)
5963

@@ -126,7 +130,7 @@ end
126130

127131
# Flux differencing kernel which uses contravariant flux components, passing the geometric
128132
# information contained in the auxiliary variables to the flux function
129-
@inline function Trixi.flux_differencing_kernel!(du, u, element, mesh::P4estMesh{2},
133+
@inline function Trixi.flux_differencing_kernel!(du, u, element, ::Type{<:P4estMesh{2}},
130134
nonconservative_terms::False,
131135
equations::AbstractCovariantEquations{2},
132136
volume_flux, dg::DGSEM, cache,
@@ -180,7 +184,8 @@ end
180184
# Non-conservative flux differencing kernel which uses contravariant flux components,
181185
# passing the geometric information contained in the auxiliary variables to the flux
182186
# function
183-
@inline function Trixi.flux_differencing_kernel!(du, u, element, mesh::P4estMesh{2},
187+
@inline function Trixi.flux_differencing_kernel!(du, u, element,
188+
MeshT::Type{<:P4estMesh{2}},
184189
nonconservative_terms::True,
185190
equations::AbstractCovariantEquations{2},
186191
volume_flux, dg::DGSEM, cache,
@@ -190,7 +195,7 @@ end
190195
symmetric_flux, nonconservative_flux = volume_flux
191196

192197
# Apply the symmetric flux as usual
193-
Trixi.flux_differencing_kernel!(du, u, element, mesh, False(), equations,
198+
Trixi.flux_differencing_kernel!(du, u, element, MeshT, False(), equations,
194199
symmetric_flux, dg, cache, alpha)
195200

196201
for j in eachnode(dg), i in eachnode(dg)
@@ -230,11 +235,12 @@ end
230235
# Calculate the interface flux directly in the local coordinate system. This function
231236
# differs from the standard approach in Trixi.jl in that one does not need to pass the
232237
# normal vector to the pointwise flux calculation.
233-
function Trixi.calc_interface_flux!(surface_flux_values,
238+
function Trixi.calc_interface_flux!(backend::Nothing, surface_flux_values,
234239
mesh::P4estMesh{2},
235240
nonconservative_terms,
236241
equations::AbstractCovariantEquations{2},
237-
surface_integral, dg::DG, cache)
242+
surface_integral,
243+
dg::DGSEM{<:LobattoLegendreBasis}, cache)
238244
(; neighbor_ids, node_indices) = cache.interfaces
239245
index_range = eachnode(dg)
240246
index_end = last(index_range)
@@ -294,7 +300,8 @@ end
294300
@inline function Trixi.calc_interface_flux!(surface_flux_values, mesh::P4estMesh{2},
295301
nonconservative_terms::False,
296302
equations::AbstractCovariantEquations{2},
297-
surface_integral, dg::DG, cache,
303+
surface_integral,
304+
dg::DGSEM{<:LobattoLegendreBasis}, cache,
298305
interface_index,
299306
primary_node_index,
300307
primary_direction_index,
@@ -355,7 +362,8 @@ end
355362
@inline function Trixi.calc_interface_flux!(surface_flux_values, mesh::P4estMesh{2},
356363
nonconservative_terms::True,
357364
equations::AbstractCovariantEquations{2},
358-
surface_integral, dg::DG, cache,
365+
surface_integral,
366+
dg::DGSEM{<:LobattoLegendreBasis}, cache,
359367
interface_index,
360368
primary_node_index,
361369
primary_direction_index,
@@ -449,7 +457,7 @@ function Trixi.calc_sources!(du, u, t, source_terms::Nothing,
449457
end
450458

451459
# Apply the exact Jacobian stored in auxiliary variables
452-
function Trixi.apply_jacobian!(du, mesh::P4estMesh{2},
460+
function Trixi.apply_jacobian!(backend::Nothing, du, mesh::P4estMesh{2},
453461
equations::AbstractCovariantEquations{2},
454462
dg::DG, cache)
455463
(; aux_node_vars) = cache.auxiliary_variables

test/Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,5 +15,5 @@ NLsolve = "4.5.1"
1515
OrdinaryDiffEqLowStorageRK = "1.2"
1616
OrdinaryDiffEqSSPRK = "1.2"
1717
Test = "1"
18-
Trixi = "0.15"
18+
Trixi = "0.16"
1919
TrixiTest = "0.1.3, 0.2"

0 commit comments

Comments
 (0)