Skip to content

Latest commit

 

History

22 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

  • Make sure to run the following tests with Julia 1.11.7.

  • Clone the reproducibility repository and navigate to the directory:

git clone git@github.com:amrueda/paper_2025_sbp_fdec.git
cd paper_2025_sbp_fdec
  • Instantiate the code:
julia --project=./code -e 'import Pkg; Pkg.instantiate()'
  • The following convergenge tests output XML files with three columns. The first column is the data for $E_x$, the second one for $E_y$ and the third one for $B_z$.

  • Run the convergence tests for the periodic case in the weak form variant with SSPRK time integration for one element:

julia --project=./code -e 'include(joinpath("code", "examples", "convergence_weak_form.jl"))'
  • Run the convergence tests for the non-periodic case in the weak form variant with SSPRK time integration for one element:
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_weak_form_np.jl"))'
  • Run the convergence tests for the periodic case in the weak form variant with Crank-Nicolson time integration for one element:
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_weak_form_implicit.jl"))'
  • Run the convergence tests for the periodic case in the strong form variant with SSPRK time integration for one element as validation of the equivalence to the weak form. This test is not shown in the paper since the results are the same up to machine precision.
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_strong_form.jl"))'
  • Run the convergence tests for the periodic case for the non-SBP operator with SSPRK time integration for one element for both the strong and the weak variant (output format is: first column Ex error/EOC weak form, second column Ex error/EOC strong form, third column Ey error/EOC weak form, etc.):
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_non_sbp.jl"))'
  • Run the convergence tests for the periodic case in the weak form variant with SSPRK time integration for a constant number of nodes per element. This runs several convergence tests for varying amounts of points:
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_var_nodes.jl"))'
  • Run the convergence tests for the non-periodic case in the weak form variant with SSPRK time integration for a constant number of nodes per element. This runs several convergence tests for varying amounts of points:
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_var_nodes_np.jl"))'
  • These tests output plots:

  • Run the energy and divergence tests for the periodic case to T = 1 for a coarse and a fine resolution:

julia --project=./code -e 'include(joinpath("code", "examples", "div_energy_coarse_fine.jl"))'
  • Run the energy and divergence tests for the non-periodic case to T = 1 for a fine resolution:
julia --project=./code -e 'include(joinpath("code", "examples", "div_energy_fine_np.jl"))'
  • Run the energy and divergence tests to T = 10000 for a coarse resolution:
julia --project=./code -e 'include(joinpath("code", "examples", "div_energy_test_T10000.jl"))'
  • Run the energy tests for the non-SBP operator to T = 1 for a coarse resolution:
julia --project=./code -e 'include(joinpath("code", "examples", "energy_coarse_non_sbp.jl"))'
  • Run a detailed convergence test for the non-periodic case for the magnetic field:
julia --project=./code -e 'include(joinpath("code", "examples", "convergence_study_B_field.jl"))'

About

Reproducibility repository for the SBP-FDEC paper

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages