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

[OUTDATED][WIP]: Make Taal and Taam produce identical (to floating point accuracy) results #253

Closed
wants to merge 56 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
56 commits
Select commit Hold shift + click to select a range
fb96e8d
Use same analysis polydeg default (2*polydeg) in Taam as in Taal
sloede Oct 27, 2020
2a4f931
Convert time span to tuple of real types matching the solver's real type
sloede Oct 27, 2020
b384a1b
Adapt CFL to match Taal
sloede Oct 27, 2020
c60ee55
Adapt CFL to match Taam (was unstable)
sloede Oct 27, 2020
5b4bec8
Return similarly-structured errors from Taam `run` as for Taal
sloede Oct 27, 2020
64439d6
Adapt test
sloede Oct 27, 2020
fe01cab
Adapt CFL to match Taal
sloede Oct 27, 2020
b0e4d1c
Adapt CFL to match Taal
sloede Oct 27, 2020
4c5f69a
Adapt time step calculation for compressible Euler 2D to match Taal
sloede Oct 27, 2020
2ebc8ac
Adapt CFL to match Taal
sloede Oct 27, 2020
5fc56b7
Adapt CFL to match Taal
sloede Oct 27, 2020
d07241b
Update src/equations/2d/compressible_euler.jl
sloede Oct 27, 2020
8293265
Adapt CFL to match Taal
sloede Oct 27, 2020
b7ae3a1
make Taam CFL computation to Taal for Euler 2D; TODO: everything else…
ranocha Oct 27, 2020
02b4801
adapt Taal CFL computation
ranocha Oct 27, 2020
8596414
Adapt CFL to match Taal
sloede Oct 27, 2020
92fadeb
Do not adapt mesh after final step
sloede Oct 27, 2020
488aa8f
Adapt CFL to match Taal
sloede Oct 27, 2020
31ddd52
Rename TOML file for consistency
sloede Oct 27, 2020
096b989
Adapt CFL to match Taal
sloede Oct 27, 2020
41b49aa
Adapt blob mortar SC example files to (formally) describe the same setup
sloede Oct 27, 2020
65d4c71
Fix wrong shock alpha_max
sloede Oct 27, 2020
07f3cae
Rename for consistency with Taal
sloede Oct 27, 2020
490b98c
Fix test file
sloede Oct 27, 2020
20f09c5
Adapt CFL to match Taal
sloede Oct 28, 2020
2f14e0f
Adapt CFL to match Taal
sloede Oct 28, 2020
aaba7a9
Adapt CFL to match Taal
sloede Oct 28, 2020
d74ccc6
Rename parameters file for consistency with elixir name
sloede Oct 28, 2020
4bd50df
Adapt CFL to match Taal
sloede Oct 28, 2020
b988ba0
Adapt CFL to match Taal
sloede Oct 28, 2020
86bbf3a
Rename parameters file for consistency with elixir name
sloede Oct 28, 2020
8c911b3
Adapt CFL to match Taal
sloede Oct 28, 2020
53735f2
fix computation of L2 div B error (Taal 2D)
ranocha Oct 28, 2020
72299ab
Adapt time step calculation for Taam to Taal
sloede Oct 28, 2020
5fdcb0b
Make Taam consistent with Taal in that `c_h` is not reset to zero any…
sloede Oct 28, 2020
f25c1a1
Adapt CFL to match Taal
sloede Oct 28, 2020
c6f4cf4
Fix flux calculation for MHD in 2D (thanks to @andrewwinters5000!)
sloede Oct 28, 2020
37074b8
Fix loop over nodes
sloede Oct 28, 2020
47a7bad
Prevent unreasonably small time steps when t is almost t_end
sloede Oct 28, 2020
70e33af
Adapt CFL to match Taal
sloede Oct 28, 2020
334a552
Adapt CFL to match Taal
sloede Oct 28, 2020
f4b3b97
Rename file for consistency
sloede Oct 28, 2020
36acfc7
Rename file for consistency
sloede Oct 28, 2020
553821b
Make elixir match its counterpart
sloede Oct 28, 2020
8337c6b
Rename file for consistency
sloede Oct 28, 2020
1896093
Make elixir match its counterpart
sloede Oct 28, 2020
45842ff
examples/2d/elixir_euler_blob_shockcapturing_amr.jl matches
ranocha Oct 29, 2020
73b27ee
make matching tests for elixir_euler_blast_wave_shockcapturing_amr.jl…
ranocha Oct 29, 2020
5fa0914
examples/2d/elixir_euler_khi_shockcapturing.jl matches
ranocha Oct 29, 2020
2715f69
improve KHI AMR; TODO: does still not match
ranocha Oct 29, 2020
c287393
Merge pull request #266 from ranocha/hr/match-taal-taam
sloede Oct 29, 2020
2525791
Merge branch 'msl/same-results-taam-taal' of github.com:trixi-framewo…
sloede Oct 29, 2020
3986b03
same name for mhd_rotor_shockcapturing_amr
ranocha Oct 30, 2020
bafa057
2d/elixir_euler_sedov_blast_wave_shockcapturing_amr.jl matches
ranocha Oct 30, 2020
3843402
Merge pull request #268 from ranocha/hr/match-taal-taam
ranocha Oct 30, 2020
6c1a375
Merge branch 'msl/same-results-taam-taal' of github.com:trixi-framewo…
sloede Oct 30, 2020
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
2 changes: 1 addition & 1 deletion examples/1d/elixir_advection_amr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ amr_callback = AMRCallback(semi, amr_controller,
adapt_initial_condition=true,
adapt_initial_condition_only_refine=true)

stepsize_callback = StepsizeCallback(cfl=1.6)
stepsize_callback = StepsizeCallback(cfl=0.8)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
Expand Down
2 changes: 1 addition & 1 deletion examples/1d/parameters_advection_basic.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ t_end = 1.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.2
cfl = 1.6
n_steps_max = 10000
analysis_interval = 2000
alive_interval = 0
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ t_end = 12.5
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 0.8
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
2 changes: 1 addition & 1 deletion examples/1d/parameters_euler_ec.toml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ t_end = 0.4
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 1.0
n_steps_max = 10000
analysis_interval = 1000
alive_interval = 0
Expand Down
2 changes: 1 addition & 1 deletion examples/1d/parameters_euler_nonperiodic.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ t_end = 2.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.2
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100

Expand Down
2 changes: 1 addition & 1 deletion examples/1d/parameters_euler_source_terms.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ t_end = 2.0
# Solver
solver = "dg"
polydeg = 4
cfl = 0.6
cfl = 1.0
n_steps_max = 10000
analysis_interval = 2000
alive_interval=0
Expand Down
3 changes: 2 additions & 1 deletion examples/2d/elixir_euler_blob_mortar_shockcapturing.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ volume_flux = flux_chandrashekar
basis = LobattoLegendreBasis(3)

indicator_sc = IndicatorHennemannGassner(equations, basis,
alpha_max=0.5,
alpha_max=0.05,
alpha_min=0.0001,
alpha_smooth=true,
variable=pressure)
Expand All @@ -29,6 +29,7 @@ coordinates_min = (-32, -32)
coordinates_max = ( 32, 32)
refinement_patches = (
(type="box", coordinates_min=(-40, -5), coordinates_max=(40, 5)),
(type="box", coordinates_min=(-40, -5), coordinates_max=(40, 5)),
)
mesh = TreeMesh(coordinates_min, coordinates_max,
initial_refinement_level=4,
Expand Down
13 changes: 7 additions & 6 deletions examples/2d/elixir_euler_blob_shockcapturing_amr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,13 @@ summary_callback = SummaryCallback()
amr_indicator = IndicatorHennemannGassner(semi,
alpha_max=1.0,
alpha_min=0.0001,
alpha_smooth=true,
variable=pressure)
amr_controller = ControllerThreeLevel(semi, amr_indicator,
base_level=4,
med_level =7, med_threshold=0.003,
max_level =7, max_threshold=0.3)
alpha_smooth=false,
variable=density)
amr_controller = ControllerThreeLevelCombined(semi, amr_indicator, indicator_sc,
base_level=4,
med_level =0, med_threshold=0.0003, # med_level = current level
max_level =7, max_threshold=0.003,
max_threshold_secondary=indicator_sc.alpha_max)
amr_callback = AMRCallback(semi, amr_controller,
interval=1,
adapt_initial_condition=true,
Expand Down
2 changes: 2 additions & 0 deletions examples/2d/elixir_euler_khi_shockcapturing.jl
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@

using Random: seed!
using OrdinaryDiffEq
using Trixi

Expand All @@ -7,6 +8,7 @@ using Trixi
gamma = 1.4
equations = CompressibleEulerEquations2D(gamma)

seed!(0)
initial_condition = initial_condition_khi

surface_flux = flux_lax_friedrichs
Expand Down
7 changes: 4 additions & 3 deletions examples/2d/elixir_euler_khi_shockcapturing_amr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -46,11 +46,12 @@ summary_callback = SummaryCallback()
amr_indicator = IndicatorHennemannGassner(semi,
alpha_max=1.0,
alpha_min=0.0001,
alpha_smooth=true,
alpha_smooth=false,
variable=density)
amr_controller = ControllerThreeLevel(semi, amr_indicator,
base_level=4, med_threshold=0.0003,
max_level =6, max_threshold=0.003)
base_level=4,
med_level=0, med_threshold=0.0003, # med_level = current level
max_level=6, max_threshold=0.003)
amr_callback = AMRCallback(semi, amr_controller,
interval=1,
adapt_initial_condition=true,
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ amr_callback = AMRCallback(semi, amr_controller,
adapt_initial_condition=true,
adapt_initial_condition_only_refine=true)

stepsize_callback = StepsizeCallback(cfl=1.0)
stepsize_callback = StepsizeCallback(cfl=0.8)

save_solution = SaveSolutionCallback(interval=100,
save_initial_solution=true,
Expand Down
6 changes: 3 additions & 3 deletions examples/2d/elixir_mhd_orszag_tang_shockcapturing_amr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ equations = IdealGlmMhdEquations2D(gamma)

initial_condition = initial_condition_orszag_tang

surface_flux = flux_hll
surface_flux = flux_lax_friedrichs
volume_flux = flux_central
basis = LobattoLegendreBasis(3)
indicator_sc = IndicatorHennemannGassner(equations, basis,
Expand Down Expand Up @@ -48,13 +48,13 @@ summary_callback = SummaryCallback()
amr_indicator = IndicatorHennemannGassner(semi,
alpha_max=0.5,
alpha_min=0.001,
alpha_smooth=true,
alpha_smooth=false,
variable=density_pressure)
amr_controller = ControllerThreeLevel(semi, amr_indicator,
base_level=4,
max_level =6, max_threshold=0.01)
amr_callback = AMRCallback(semi, amr_controller,
interval=5,
interval=6,
adapt_initial_condition=true,
adapt_initial_condition_only_refine=true)

Expand Down
4 changes: 2 additions & 2 deletions examples/2d/elixir_mhd_rotor_shockcapturing_amr.jl
Original file line number Diff line number Diff line change
Expand Up @@ -47,13 +47,13 @@ summary_callback = SummaryCallback()
amr_indicator = IndicatorHennemannGassner(semi,
alpha_max=0.5,
alpha_min=0.001,
alpha_smooth=true,
alpha_smooth=false,
variable=density_pressure)
amr_controller = ControllerThreeLevel(semi, amr_indicator,
base_level=4,
max_level =6, max_threshold=0.01)
amr_callback = AMRCallback(semi, amr_controller,
interval=5,
interval=6,
adapt_initial_condition=true,
adapt_initial_condition_only_refine=true)

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ t_end = 12.5
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ t_end = 12.5
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
# Simulation
ndims = 2
equations = "CompressibleEulerEquations"
gamma = 1.66667
gamma = 1.666666666666667
# equations = "LinearScalarAdvectionEquation"
# advectionvelocity = [1.0, 1.0] # Need only for linarscalaradvection
# initial_condition = "initial_condition_convergence_test"
Expand All @@ -22,7 +22,7 @@ t_end = 16.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 0.7
n_steps_max = 10000
analysis_interval = 100
shock_indicator_variable = "pressure"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,7 @@
# Simulation
ndims = 2
equations = "CompressibleEulerEquations"
gamma = 1.66667
# equations = "LinearScalarAdvectionEquation"
# advectionvelocity = [1.0, 1.0] # Need only for linarscalaradvection
# initial_condition = "initial_condition_convergence_test"
# initial_condition = "initial_condition_isentropic_vortex"
# initial_condition = "initial_condition_linear_x_y"
# initial_condition = "initial_condition_linear_x"
# initial_condition = "initial_condition_constant"
#initial_condition = "initial_condition_weak_blast_wave"
gamma = 1.6666666666666667
initial_condition = "initial_condition_blob"
# source_terms =
t_start = 0.0
Expand All @@ -22,24 +14,15 @@ t_end = 8.0
# Solver
solver = "dg"
polydeg = 4
cfl = 0.2
cfl = 0.3
n_steps_max = 15000
analysis_interval = 100
shock_indicator_variable = "pressure"
shock_alpha_max = 0.4
shock_alpha_min = 0.0001
volume_integral_type = "shock_capturing"
#volume_integral_type = "new_trick"
#volume_integral_type = "split_form"
#volume_integral_type = "weak_form"
#volume_integral_type = "entropy_fix"
#volume_integral_type = "entropy_fix2"
surface_flux = "flux_lax_friedrichs"
#surface_flux = "flux_chandrashekar"
#surface_flux = "flux_shima_etal"
#volume_flux = "flux_shima_etal"
volume_flux = "flux_chandrashekar"
# volume_flux = "flux_central"

####################################################################################################
# Mesh
Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_density_wave.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@ t_end = 2.0
# Solver
solver = "dg"
polydeg = 5
cfl = 0.8
cfl = 1.6
n_steps_max = 10000
analysis_interval = 100

Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_ec.toml
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ t_end = 0.4
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100
#volume_integral_type = "shock_capturing"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ t_end = 5.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.7
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100
shock_alpha_max = 0.002
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,23 +21,14 @@ t_end = 5.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.7
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100
shock_alpha_max = 0.002
shock_alpha_min = 0.0001
volume_integral_type = "shock_capturing"
#volume_integral_type = "new_trick"
#volume_integral_type = "split_form"
#volume_integral_type = "weak_form"
#volume_integral_type = "entropy_fix"
#volume_integral_type = "entropy_fix2"
surface_flux = "flux_lax_friedrichs"
#surface_flux = "flux_chandrashekar"
#surface_flux = "flux_shima_etal"
#volume_flux = "flux_shima_etal"
volume_flux = "flux_chandrashekar"
# volume_flux = "flux_central"

####################################################################################################
# Mesh
Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_nonperiodic.toml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ t_end = 2.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.6
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ t_end = 12.5
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 0.8
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_source_terms.toml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,7 @@ t_end = 2.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.6
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100

Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_vortex.toml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ t_end = 20.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.6
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100
extra_analysis_quantities = ["conservation_error", "entropy", "energy_total", "energy_kinetic",
Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_vortex_mortar.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ t_end = 1.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.8
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ t_end = 1.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.4
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_euler_vortex_mortar_split.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ t_end = 1.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.8
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "split_form"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ t_end = 1.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.4
cfl = 1.4
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ t_end = 1.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 1.0
n_steps_max = 10000
analysis_interval = 100
volume_integral_type = "shock_capturing"
Expand Down
2 changes: 1 addition & 1 deletion examples/2d/parameters_mhd_alfven_wave.toml
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ t_end = 2.0
# Solver
solver = "dg"
polydeg = 3
cfl = 0.5
cfl = 1.2
n_steps_max = 10000
analysis_interval = 100
extra_analysis_quantities = ["entropy", "energy_total", "energy_kinetic", "energy_magnetic",
Expand Down
Loading