Example 1

Coupled space-time refinement ($τ = h^{\frac{p+1}{2}}$, $p$ the basis degree)

julia> using WaveAcoustics

julia> results = convergence_study_coupled(
           input_data = example2_manufactured(2.4),
           solver = CrankNicolson3(),
           fe = Lagrange{1}(),
           t_end = 1.0,
           Nx_exp_range = 3:6);

julia> print_convergence_table(results)
===============================================================================================================================================================================
Coupled space-time convergence (τ = h^{(1+1)/2}) · t_end = 1.0 · example2_manufactured(2.4) · Lagrange{1} · CrankNicolson3
===============================================================================================================================================================================
  Nx   log₂h   log₂τ    maxₙ‖e_vⁿ‖         maxₙ‖e_uⁿ‖         maxₙ‖e_rⁿ‖         maxₙ‖e_zⁿ‖          maxₙ(‖e_vⁿ‖+‖e_uⁿ‖)    maxₙ(‖e_rⁿ‖+‖e_zⁿ‖)    maxₙ(‖e_vⁿ‖+‖e_uⁿ‖+‖e_rⁿ‖+‖e_zⁿ‖)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   8   -2.50   -2.50    3.09e-03  0.000    1.15e-02  0.000    1.38e-02  0.000    1.01e-02  0.000        1.46e-02  0.000        2.40e-02  0.000        3.85e-02  0.000
  16   -3.50   -3.50    7.68e-04  2.007    2.89e-03  1.994    3.64e-03  1.923    2.79e-03  1.862        3.66e-03  1.997        6.43e-03  1.897        1.01e-02  1.934
  32   -4.50   -4.50    1.96e-04  1.971    7.21e-04  2.004    8.98e-04  2.020    6.92e-04  2.011        9.16e-04  1.997        1.59e-03  2.016        2.51e-03  2.009
  64   -5.50   -5.50    5.19e-05  1.918    1.81e-04  1.994    2.28e-04  1.978    1.78e-04  1.962        2.33e-04  1.978        4.06e-04  1.971        6.38e-04  1.973
===============================================================================================================================================================================

Spatial refinement only (fixed τ)

julia> using WaveAcoustics

julia> results = convergence_study_spatial(
           input_data = example2_manufactured(2.4),
           solver = CrankNicolson3(),
           fe = Lagrange{1}(),
           t_end = 1.0,
           Nx_exp_range = 2:5,
           τ_fixed = 2^-15);

julia> print_convergence_table(results)
===============================================================================================================================================================================
Spatial convergence (τ = 3.0517578125e-5 fixed) · t_end = 1.0 · example2_manufactured(2.4) · Lagrange{1} · CrankNicolson3
===============================================================================================================================================================================
  Nx   log₂h   log₂τ    maxₙ‖e_vⁿ‖         maxₙ‖e_uⁿ‖         maxₙ‖e_rⁿ‖         maxₙ‖e_zⁿ‖          maxₙ(‖e_vⁿ‖+‖e_uⁿ‖)    maxₙ(‖e_rⁿ‖+‖e_zⁿ‖)    maxₙ(‖e_vⁿ‖+‖e_uⁿ‖+‖e_rⁿ‖+‖e_zⁿ‖)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
   4   -1.50  -15.00    1.81e-02  0.000    4.56e-02  0.000    6.67e-02  0.000    4.95e-02  0.000        6.13e-02  0.000        1.16e-01  0.000        1.77e-01  0.000
   8   -2.50  -15.00    4.69e-03  1.949    1.12e-02  2.019    1.50e-02  2.153    1.14e-02  2.113        1.54e-02  1.994        2.65e-02  2.136        4.16e-02  2.089
  16   -3.50  -15.00    1.19e-03  1.983    2.80e-03  2.005    3.61e-03  2.057    2.79e-03  2.036        3.86e-03  1.997        6.40e-03  2.048        1.02e-02  2.031
  32   -4.50  -15.00    2.98e-04  1.995    7.00e-04  2.002    8.88e-04  2.022    6.92e-04  2.012        9.64e-04  1.999        1.58e-03  2.018        2.52e-03  2.011
===============================================================================================================================================================================

Temporal refinement only (fixed h)

julia> using WaveAcoustics

julia> results = convergence_study_temporal(
           input_data = example2_manufactured(2.4),
           solver = CrankNicolson3(),
           fe = Lagrange{1}(),
           t_end = 1.0,
           τ_exp_range = 2:5, 
           Nx_fixed = 2^9);

julia> print_convergence_table(results)
===============================================================================================================================================================================
Temporal convergence (Nx = 512, h ≈ 0.002762 fixed) · t_end = 1.0 · example2_manufactured(2.4) · Lagrange{1} · CrankNicolson3
===============================================================================================================================================================================
  Nx   log₂h   log₂τ    maxₙ‖e_vⁿ‖         maxₙ‖e_uⁿ‖         maxₙ‖e_rⁿ‖         maxₙ‖e_zⁿ‖          maxₙ(‖e_vⁿ‖+‖e_uⁿ‖)    maxₙ(‖e_rⁿ‖+‖e_zⁿ‖)    maxₙ(‖e_vⁿ‖+‖e_uⁿ‖+‖e_rⁿ‖+‖e_zⁿ‖)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
 512   -8.50   -2.00    1.09e-02  0.000    3.51e-03  0.000    7.11e-03  0.000    5.41e-03  0.000        1.23e-02  0.000        1.25e-02  0.000        2.31e-02  0.000
 512   -8.50   -3.00    2.76e-03  1.989    9.08e-04  1.949    1.79e-03  1.989    1.36e-03  1.991        3.18e-03  1.955        3.15e-03  1.990        5.55e-03  2.057
 512   -8.50   -4.00    6.87e-04  2.005    2.31e-04  1.977    4.49e-04  1.994    3.41e-04  1.997        7.99e-04  1.991        7.90e-04  1.996        1.38e-03  2.008
 512   -8.50   -5.00    1.71e-04  2.006    5.91e-05  1.966    1.13e-04  1.995    8.53e-05  1.997        2.03e-04  1.977        1.98e-04  1.996        3.45e-04  2.000
===============================================================================================================================================================================