Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Stabilize simulations to avoid differences between CI and local runs #2007

Merged
merged 27 commits into from
Sep 20, 2024
Merged
Show file tree
Hide file tree
Changes from 17 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
c1d0c5e
Adapt parameters in elixirs to stabilize simulations
bennibolm Jul 9, 2024
a3d207e
Adapt sedov blast parameters
bennibolm Jul 9, 2024
6b3c7f4
Add global limiting of pressure
bennibolm Jul 9, 2024
16abb93
Stabilize again
bennibolm Jul 9, 2024
600bd0c
Add ci testing on macOS, Windows and with julia 1.11; Reduce amount o…
bennibolm Jul 9, 2024
190095c
Adapt ci file
bennibolm Jul 9, 2024
c47e09a
Fix ci file (hopefully)
bennibolm Jul 9, 2024
2603b0c
Add global limiting to sedov blast test; Comment out some more other …
bennibolm Jul 10, 2024
dd80ff7
Test setups
bennibolm Jul 10, 2024
0cea55d
Adapt structured sedov elixir to decrease deviations
bennibolm Jul 11, 2024
c3e6469
Add pure FV tests for the 3 difficult test cases
bennibolm Jul 12, 2024
dd80abd
Test different computation of Qs
bennibolm Jul 15, 2024
d5ec1f6
Remove muladd from limiter files
bennibolm Jul 15, 2024
ed77e0f
Add macOS CI runs on different architecture
bennibolm Jul 17, 2024
7fb3e37
Merge branch 'main' into bb/stable-subcell-tests
bennibolm Aug 19, 2024
d43a885
Merge branch 'main' into bb/stable-subcell-tests
bennibolm Aug 26, 2024
a9a2a6b
Restore old version
bennibolm Aug 26, 2024
063569e
Extend explanation about parameters of newton method in the docs
bennibolm Aug 29, 2024
b702b40
Adapt test setups to find most useful
bennibolm Aug 29, 2024
f228806
Remove multiple temporary tests
bennibolm Aug 29, 2024
dc3722d
Activate all tests within files
bennibolm Aug 29, 2024
fa35527
Remove two more pure fv tests
bennibolm Aug 29, 2024
25b77d2
Activate all disabled tests
bennibolm Aug 30, 2024
36ee2c6
Merge branch 'main' into bb/stable-subcell-tests
bennibolm Aug 30, 2024
9020783
Merge branch 'main' into bb/stable-subcell-tests
bennibolm Sep 5, 2024
b1ab650
Merge branch 'main' into bb/stable-subcell-tests
bennibolm Sep 17, 2024
4b24b74
Merge branch 'main' into bb/stable-subcell-tests
sloede Sep 19, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
50 changes: 44 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -60,27 +60,65 @@ jobs:
arch:
- x64
trixi_test:
- tree_part1
- tree_part2
- tree_part3
- tree_part4
- tree_part5
- tree_part6
- structured
- p4est_part1
- p4est_part2
- t8code_part1
- t8code_part2
- unstructured_dgmulti
- parabolic
- paper_self_gravitating_gas_dynamics
- misc_part1
- misc_part2
- performance_specializations_part1
- performance_specializations_part2
- mpi
- threaded
include:
- version: '1.10'
os: macos-latest
arch: x64
trixi_test: tree_part2
- version: '1.10'
os: macos-latest
arch: x64
trixi_test: tree_part3
- version: '1.10'
os: macos-latest
arch: x64
trixi_test: structured
- version: '1.10'
os: macos-latest
arch: aarch64
trixi_test: tree_part2
- version: '1.10'
os: macos-latest
arch: aarch64
trixi_test: structured
- version: '1.10'
os: windows-latest
arch: x64
trixi_test: tree_part2
- version: '1.10'
os: windows-latest
arch: x64
trixi_test: tree_part3
- version: '1.10'
os: windows-latest
arch: x64
trixi_test: structured
- version: '~1.11.0-0'
os: ubuntu-latest
arch: x64
trixi_test: tree_part2
- version: '~1.11.0-0'
os: ubuntu-latest
arch: x64
trixi_test: tree_part3
- version: '~1.11.0-0'
os: ubuntu-latest
arch: x64
trixi_test: structured
- version: '1.8'
os: ubuntu-latest
arch: x64
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,9 @@ limiter_idp = SubcellLimiterIDP(equations, basis;
local_twosided_variables_cons = ["rho"],
local_onesided_variables_nonlinear = [(Trixi.entropy_guermond_etal,
min)],
max_iterations_newton = 40, # Default value of 10 iterations is too low to fulfill bounds.
# Setup with default parameters doesn't fulfill local bounds.
max_iterations_newton = 40,
newton_tolerances = (1.0e-13, 1.0e-15),
positivity_variables_cons = [],
positivity_variables_nonlinear = [])
# Variables for global limiting (`positivity_variables_cons` and
Expand Down Expand Up @@ -96,7 +98,7 @@ save_solution = SaveSolutionCallback(interval = 100,
save_final_solution = true,
solution_variables = cons2prim)

stepsize_callback = StepsizeCallback(cfl = 0.7)
stepsize_callback = StepsizeCallback(cfl = 0.6)

callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,9 @@ basis = LobattoLegendreBasis(3)
limiter_idp = SubcellLimiterIDP(equations, basis;
local_twosided_variables_cons = ["rho"],
local_onesided_variables_nonlinear = [(Trixi.entropy_math,
max)])
max)],
max_iterations_newton = 70,
newton_tolerances = (1.0e-13, 1.0e-14))
volume_integral = VolumeIntegralSubcellLimiting(limiter_idp;
volume_flux_dg = volume_flux,
volume_flux_fv = surface_flux)
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,10 @@ basis = LobattoLegendreBasis(3)
limiter_idp = SubcellLimiterIDP(equations, basis;
local_twosided_variables_cons = ["rho"],
local_onesided_variables_nonlinear = [(Trixi.entropy_guermond_etal,
min)])
min)],
positivity_variables_nonlinear = [pressure],
max_iterations_newton = 60,
newton_tolerances = (1.0e-13, 1.0e-15))
volume_integral = VolumeIntegralSubcellLimiting(limiter_idp;
volume_flux_dg = volume_flux,
volume_flux_fv = surface_flux)
Expand All @@ -53,7 +56,7 @@ solver = DGSEM(basis, surface_flux, volume_integral)
coordinates_min = (-2.0, -2.0)
coordinates_max = (2.0, 2.0)
mesh = TreeMesh(coordinates_min, coordinates_max,
initial_refinement_level = 3,
initial_refinement_level = 5,
sloede marked this conversation as resolved.
Show resolved Hide resolved
n_cells_max = 100_000)

semi = SemidiscretizationHyperbolic(mesh, equations, initial_condition, solver)
Expand All @@ -76,7 +79,7 @@ save_solution = SaveSolutionCallback(interval = 1000,
save_final_solution = true,
solution_variables = cons2prim)

stepsize_callback = StepsizeCallback(cfl = 0.6)
stepsize_callback = StepsizeCallback(cfl = 0.4)

callbacks = CallbackSet(summary_callback,
analysis_callback, alive_callback,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -121,7 +121,7 @@ save_solution = SaveSolutionCallback(interval = 600,
save_final_solution = true,
solution_variables = cons2prim)

stepsize_callback = StepsizeCallback(cfl = 0.5)
stepsize_callback = StepsizeCallback(cfl = 0.4)

callbacks = CallbackSet(summary_callback,
analysis_callback,
Expand Down
3 changes: 0 additions & 3 deletions src/solvers/dgsem_tree/subcell_limiters_2d.jl
Original file line number Diff line number Diff line change
Expand Up @@ -323,9 +323,6 @@ end
Pm = min(0, val_flux1_local) + min(0, val_flux1_local_ip1) +
min(0, val_flux2_local) + min(0, val_flux2_local_jp1)

Qp = max(0, (var_max[i, j, element] - var) / dt)
Qm = min(0, (var_min[i, j, element] - var) / dt)

Pp = inverse_jacobian * Pp
Pm = inverse_jacobian * Pm

Expand Down
4 changes: 2 additions & 2 deletions test/runtests.jl
Original file line number Diff line number Diff line change
Expand Up @@ -72,9 +72,9 @@ const TRIXI_NTHREADS = clamp(Sys.CPU_THREADS, 2, 3)
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "structured"
include("test_structured_1d.jl")
# include("test_structured_1d.jl")
include("test_structured_2d.jl")
include("test_structured_3d.jl")
# include("test_structured_3d.jl")
end

@time if TRIXI_TEST == "all" || TRIXI_TEST == "p4est_part1"
Expand Down
Loading
Loading