Skip to content

Commit 9db0209

Browse files
Use velocity in Navier-Stokes convergence tests (#2170)
* Use velocity in Navier-Stokes convergence tests * fmt * CI test vals * Update examples/p4est_3d_dgsem/elixir_navierstokes_convergence.jl * fix allocs BCs * relabel all eq_para * use tuple
1 parent 21a5a8d commit 9db0209

20 files changed

+283
-258
lines changed

examples/dgmulti_2d/elixir_advection_diffusion.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,11 @@ cells_per_dimension = (16, 16)
2121
mesh = DGMultiMesh(dg, cells_per_dimension; is_on_boundary)
2222

2323
# BC types
24-
boundary_condition_left = BoundaryConditionDirichlet((x, t, equations) -> SVector(1 +
25-
0.1 *
26-
x[2]))
27-
boundary_condition_zero = BoundaryConditionDirichlet((x, t, equations) -> SVector(0.0))
28-
boundary_condition_neumann_zero = BoundaryConditionNeumann((x, t, equations) -> SVector(0.0))
24+
boundary_condition_left = BoundaryConditionDirichlet((x, t, equations_parabolic) -> SVector(1 +
25+
0.1 *
26+
x[2]))
27+
boundary_condition_zero = BoundaryConditionDirichlet((x, t, equations_parabolic) -> SVector(0.0))
28+
boundary_condition_neumann_zero = BoundaryConditionNeumann((x, t, equations_parabolic) -> SVector(0.0))
2929

3030
# define inviscid boundary conditions
3131
boundary_conditions = (; :left => boundary_condition_left,

examples/dgmulti_2d/elixir_navierstokes_convergence.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,12 @@ end
178178
initial_condition = initial_condition_navier_stokes_convergence_test
179179

180180
# BC types
181-
velocity_bc_top_bottom = NoSlip((x, t, equations) -> initial_condition_navier_stokes_convergence_test(x,
182-
t,
183-
equations)[2:3])
184-
heat_bc_top_bottom = Adiabatic((x, t, equations) -> 0.0)
181+
velocity_bc_top_bottom = NoSlip() do x, t, equations_parabolic
182+
u_cons = initial_condition_navier_stokes_convergence_test(x, t, equations_parabolic)
183+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1])
184+
end
185+
186+
heat_bc_top_bottom = Adiabatic((x, t, equations_parabolic) -> 0.0)
185187
boundary_condition_top_bottom = BoundaryConditionNavierStokesWall(velocity_bc_top_bottom,
186188
heat_bc_top_bottom)
187189

examples/dgmulti_2d/elixir_navierstokes_convergence_curved.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -186,10 +186,12 @@ end
186186
initial_condition = initial_condition_navier_stokes_convergence_test
187187

188188
# BC types
189-
velocity_bc_top_bottom = NoSlip((x, t, equations) -> initial_condition_navier_stokes_convergence_test(x,
190-
t,
191-
equations)[2:3])
192-
heat_bc_top_bottom = Adiabatic((x, t, equations) -> 0.0)
189+
velocity_bc_top_bottom = NoSlip() do x, t, equations_parabolic
190+
u_cons = initial_condition_navier_stokes_convergence_test(x, t, equations_parabolic)
191+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1])
192+
end
193+
194+
heat_bc_top_bottom = Adiabatic((x, t, equations_parabolic) -> 0.0)
193195
boundary_condition_top_bottom = BoundaryConditionNavierStokesWall(velocity_bc_top_bottom,
194196
heat_bc_top_bottom)
195197

examples/dgmulti_2d/elixir_navierstokes_lid_driven_cavity.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -33,9 +33,9 @@ end
3333
initial_condition = initial_condition_cavity
3434

3535
# BC types
36-
velocity_bc_lid = NoSlip((x, t, equations) -> SVector(1.0, 0.0))
37-
velocity_bc_cavity = NoSlip((x, t, equations) -> SVector(0.0, 0.0))
38-
heat_bc = Adiabatic((x, t, equations) -> 0.0)
36+
velocity_bc_lid = NoSlip((x, t, equations_parabolic) -> SVector(1.0, 0.0))
37+
velocity_bc_cavity = NoSlip((x, t, equations_parabolic) -> SVector(0.0, 0.0))
38+
heat_bc = Adiabatic((x, t, equations_parabolic) -> 0.0)
3939
boundary_condition_lid = BoundaryConditionNavierStokesWall(velocity_bc_lid, heat_bc)
4040
boundary_condition_cavity = BoundaryConditionNavierStokesWall(velocity_bc_cavity, heat_bc)
4141

examples/dgmulti_3d/elixir_navierstokes_convergence.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -221,10 +221,12 @@ end
221221
initial_condition = initial_condition_navier_stokes_convergence_test
222222

223223
# BC types
224-
velocity_bc_top_bottom = NoSlip((x, t, equations) -> initial_condition_navier_stokes_convergence_test(x,
225-
t,
226-
equations)[2:4])
227-
heat_bc_top_bottom = Adiabatic((x, t, equations) -> 0.0)
224+
velocity_bc_top_bottom = NoSlip() do x, t, equations_parabolic
225+
u_cons = initial_condition_navier_stokes_convergence_test(x, t, equations_parabolic)
226+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1], u_cons[4] / u_cons[1])
227+
end
228+
229+
heat_bc_top_bottom = Adiabatic((x, t, equations_parabolic) -> 0.0)
228230
boundary_condition_top_bottom = BoundaryConditionNavierStokesWall(velocity_bc_top_bottom,
229231
heat_bc_top_bottom)
230232

examples/dgmulti_3d/elixir_navierstokes_convergence_curved.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -229,10 +229,12 @@ end
229229
initial_condition = initial_condition_navier_stokes_convergence_test
230230

231231
# BC types
232-
velocity_bc_top_bottom = NoSlip((x, t, equations) -> initial_condition_navier_stokes_convergence_test(x,
233-
t,
234-
equations)[2:4])
235-
heat_bc_top_bottom = Adiabatic((x, t, equations) -> 0.0)
232+
velocity_bc_top_bottom = NoSlip() do x, t, equations_parabolic
233+
u_cons = initial_condition_navier_stokes_convergence_test(x, t, equations_parabolic)
234+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1], u_cons[4] / u_cons[1])
235+
end
236+
237+
heat_bc_top_bottom = Adiabatic((x, t, equations_parabolic) -> 0.0)
236238
boundary_condition_top_bottom = BoundaryConditionNavierStokesWall(velocity_bc_top_bottom,
237239
heat_bc_top_bottom)
238240

examples/p4est_2d_dgsem/elixir_navierstokes_NACA0012airfoil_mach08.jl

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,21 +76,23 @@ boundary_conditions = Dict(:Left => boundary_condition_subsonic_constant,
7676
:AirfoilBottom => boundary_condition_slip_wall,
7777
:AirfoilTop => boundary_condition_slip_wall)
7878

79-
velocity_airfoil = NoSlip((x, t, equations) -> SVector(0.0, 0.0))
79+
velocity_airfoil = NoSlip((x, t, equations_parabolic) -> SVector(0.0, 0.0))
8080

81-
heat_airfoil = Adiabatic((x, t, equations) -> 0.0)
81+
heat_airfoil = Adiabatic((x, t, equations_parabolic) -> 0.0)
8282

8383
boundary_conditions_airfoil = BoundaryConditionNavierStokesWall(velocity_airfoil,
8484
heat_airfoil)
8585

86-
function momenta_initial_condition_mach08_flow(x, t, equations)
87-
u = initial_condition_mach08_flow(x, t, equations)
88-
momenta = SVector(u[2], u[3])
86+
function velocities_initial_condition_mach08_flow(x, t, equations)
87+
u_cons = initial_condition_mach08_flow(x, t, equations)
88+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1])
8989
end
90-
velocity_bc_square = NoSlip((x, t, equations) -> momenta_initial_condition_mach08_flow(x, t,
91-
equations))
9290

93-
heat_bc_square = Adiabatic((x, t, equations) -> 0.0)
91+
velocity_bc_square = NoSlip((x, t, equations_parabolic) -> velocities_initial_condition_mach08_flow(x,
92+
t,
93+
equations))
94+
95+
heat_bc_square = Adiabatic((x, t, equations_parabolic) -> 0.0)
9496
boundary_condition_square = BoundaryConditionNavierStokesWall(velocity_bc_square,
9597
heat_bc_square)
9698

examples/p4est_2d_dgsem/elixir_navierstokes_convergence.jl

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,11 +178,12 @@ end
178178
initial_condition = initial_condition_navier_stokes_convergence_test
179179

180180
# BC types
181-
velocity_bc_top_bottom = NoSlip() do x, t, equations
182-
u = initial_condition_navier_stokes_convergence_test(x, t, equations)
183-
return SVector(u[2], u[3])
181+
velocity_bc_top_bottom = NoSlip() do x, t, equations_parabolic
182+
u_cons = initial_condition_navier_stokes_convergence_test(x, t, equations_parabolic)
183+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1])
184184
end
185-
heat_bc_top_bottom = Adiabatic((x, t, equations) -> 0.0)
185+
186+
heat_bc_top_bottom = Adiabatic((x, t, equations_parabolic) -> 0.0)
186187
boundary_condition_top_bottom = BoundaryConditionNavierStokesWall(velocity_bc_top_bottom,
187188
heat_bc_top_bottom)
188189

examples/p4est_2d_dgsem/elixir_navierstokes_convergence_nonperiodic.jl

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -178,10 +178,12 @@ end
178178
initial_condition = initial_condition_navier_stokes_convergence_test
179179

180180
# BC types
181-
velocity_bc_top_bottom = NoSlip((x, t, equations) -> initial_condition_navier_stokes_convergence_test(x,
182-
t,
183-
equations)[2:3])
184-
heat_bc_top_bottom = Adiabatic((x, t, equations) -> 0.0)
181+
velocity_bc_top_bottom = NoSlip() do x, t, equations_parabolic
182+
u_cons = initial_condition_navier_stokes_convergence_test(x, t, equations_parabolic)
183+
return SVector(u_cons[2] / u_cons[1], u_cons[3] / u_cons[1])
184+
end
185+
186+
heat_bc_top_bottom = Adiabatic((x, t, equations_parabolic) -> 0.0)
185187
boundary_condition_top_bottom = BoundaryConditionNavierStokesWall(velocity_bc_top_bottom,
186188
heat_bc_top_bottom)
187189

examples/p4est_2d_dgsem/elixir_navierstokes_lid_driven_cavity.jl

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,9 +34,9 @@ end
3434
initial_condition = initial_condition_cavity
3535

3636
# BC types
37-
velocity_bc_lid = NoSlip((x, t, equations) -> SVector(1.0, 0.0))
38-
velocity_bc_cavity = NoSlip((x, t, equations) -> SVector(0.0, 0.0))
39-
heat_bc = Adiabatic((x, t, equations) -> 0.0)
37+
velocity_bc_lid = NoSlip((x, t, equations_parabolic) -> SVector(1.0, 0.0))
38+
velocity_bc_cavity = NoSlip((x, t, equations_parabolic) -> SVector(0.0, 0.0))
39+
heat_bc = Adiabatic((x, t, equations_parabolic) -> 0.0)
4040
boundary_condition_lid = BoundaryConditionNavierStokesWall(velocity_bc_lid, heat_bc)
4141
boundary_condition_cavity = BoundaryConditionNavierStokesWall(velocity_bc_cavity, heat_bc)
4242

0 commit comments

Comments
 (0)