From bed15815eab3d657eec1a1c52564a07da17b65a8 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 28 Aug 2023 11:19:28 +0100 Subject: [PATCH 01/71] eftc2023-jto: wall-bc input files with recycling fraction of 0.5 --- .../wall-bc/wall-bc_recyclefraction0.5.toml | 87 +++++++++++++++++++ .../wall-bc_recyclefraction0.5_split1.toml | 87 +++++++++++++++++++ .../wall-bc_recyclefraction0.5_split2.toml | 87 +++++++++++++++++++ .../wall-bc_recyclefraction0.5_split3.toml | 87 +++++++++++++++++++ 4 files changed, 348 insertions(+) create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5.toml new file mode 100644 index 000000000..25d3f749e --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5.toml @@ -0,0 +1,87 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 1000000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml new file mode 100644 index 000000000..65f4b02a8 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml @@ -0,0 +1,87 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 1000000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml new file mode 100644 index 000000000..ff248722f --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml @@ -0,0 +1,87 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 1000000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml new file mode 100644 index 000000000..0b1b0f397 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -0,0 +1,87 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 1000000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 From 87a8b7cfb6506aa30f4c35db63a1b02fc83876b8 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 2 Sep 2023 11:55:30 +0100 Subject: [PATCH 02/71] eftc2023-jto: Inputs for series with recycling_fraction=0.5: attempt to start split3 --- .../wall-bc_recyclefraction0.5_split3_v2.toml | 91 +++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step1.toml | 90 ++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step2.toml | 91 +++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step3.toml | 91 +++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step4.toml | 91 +++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step5.toml | 91 +++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step6.toml | 91 +++++++++++++++++++ ...bc_recyclefraction0.5_split3_v2_step7.toml | 91 +++++++++++++++++++ 8 files changed, 727 insertions(+) create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml new file mode 100644 index 000000000..f8cb3a663 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 1000000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 5.0e-1 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml new file mode 100644 index 000000000..bc568ec50 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -0,0 +1,90 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 5.0e-1 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml new file mode 100644 index 000000000..82f8de68c --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 4.0e-1 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml new file mode 100644 index 000000000..69ebd4249 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 3.0e-1 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml new file mode 100644 index 000000000..7320f4c19 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 2.0e-1 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml new file mode 100644 index 000000000..8f888103b --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml new file mode 100644 index 000000000..4c0cef158 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml new file mode 100644 index 000000000..d34dc48f3 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml @@ -0,0 +1,91 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#nstep = 50000 +nstep = 200000 +#dt = 1.0e-4 +dt = 1.0e-5 +nwrite = 1000 #5000 +nwrite_dfns = 1000 #5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "both_zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "both_zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "parabolic" +#z_width = 0.125 +z_relative_minimum = 0.5 +source_strength = 4.0 +source_T = 2.0 + +[numerical_dissipation] +vpa_dissipation_coefficient = 1.0e-3 +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +force_minimum_pdf_value = 0.0 From 71bd4852837896663324d0909927b46379f5bc05 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 2 Sep 2023 12:05:49 +0100 Subject: [PATCH 03/71] eftc2023-jto: update split3 attempt inputs --- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml | 8 ++++---- .../wall-bc_recyclefraction0.5_split3_v2_step1.toml | 10 +++++----- .../wall-bc_recyclefraction0.5_split3_v2_step2.toml | 10 +++++----- .../wall-bc_recyclefraction0.5_split3_v2_step3.toml | 10 +++++----- .../wall-bc_recyclefraction0.5_split3_v2_step4.toml | 10 +++++----- .../wall-bc_recyclefraction0.5_split3_v2_step5.toml | 10 +++++----- .../wall-bc_recyclefraction0.5_split3_v2_step6.toml | 10 +++++----- .../wall-bc_recyclefraction0.5_split3_v2_step7.toml | 10 +++++----- 8 files changed, 39 insertions(+), 39 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml index f8cb3a663..efb2974fe 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -51,9 +51,9 @@ constant_ionization_rate = false #nstep = 50000 nstep = 1000000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml index bc568ec50..6012955c4 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -48,11 +48,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -79,7 +79,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml index 82f8de68c..9b02532c8 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml @@ -49,11 +49,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml index 69ebd4249..fb4e98aa6 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml @@ -49,11 +49,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml index 7320f4c19..ec28012f3 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml @@ -49,11 +49,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml index 8f888103b..ee0bc474f 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -49,11 +49,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml index 4c0cef158..21165b174 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml @@ -49,11 +49,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml index d34dc48f3..1f2437336 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml @@ -49,11 +49,11 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 200000 +nstep = 100000 #dt = 1.0e-4 -dt = 1.0e-5 -nwrite = 1000 #5000 -nwrite_dfns = 1000 #5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -80,7 +80,7 @@ active = true z_profile = "parabolic" #z_width = 0.125 z_relative_minimum = 0.5 -source_strength = 4.0 +source_strength = 1.0 source_T = 2.0 [numerical_dissipation] From 568cc8aceeea5f486d37a937c6bc2c92b9e41bd8 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 2 Sep 2023 12:22:09 +0100 Subject: [PATCH 04/71] eftc2023-jto: Decrease dt in split3 attempt --- examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml index efb2974fe..be6cb23df 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 1000000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml index 6012955c4..d0b601e7e 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -50,7 +50,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml index 9b02532c8..a2e405e03 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml index fb4e98aa6..462e8a818 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml index ec28012f3..a5a94d3a2 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml index ee0bc474f..5f1e56793 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml index 21165b174..17f217ea9 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml index 1f2437336..df4eebcfa 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml @@ -51,7 +51,7 @@ constant_ionization_rate = false #nstep = 50000 nstep = 100000 #dt = 1.0e-4 -dt = 3.0e-5 +dt = 2.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false From d72df2e1967e777f16bc8dd2a2e535cd3c8c836c Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 2 Sep 2023 12:34:12 +0100 Subject: [PATCH 05/71] eftc2023-jto: Use distributed MPI for split3 attempt --- examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml index be6cb23df..4d293e49c 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml index d0b601e7e..a6a73bce2 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -60,7 +60,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml index a2e405e03..48e090626 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml index 462e8a818..3f6ec869e 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml index a5a94d3a2..354f9bab2 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml index 5f1e56793..f444edb10 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml index 17f217ea9..83c7387da 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml index df4eebcfa..49ab3c9c5 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml @@ -61,7 +61,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -#z_nelement_local = 4 +z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 From dbcaa571edbf841bf5f69fcb3498b255f165611a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 2 Sep 2023 12:36:24 +0100 Subject: [PATCH 06/71] eftc2023-jto: Fix run_name settings in split3 scan --- examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml | 1 - examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml | 1 + 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml index 4d293e49c..ddfc32932 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -1,4 +1,3 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" steady_state_residual = true converged_residual_value = 1.0e-3 #runtime_plots = true diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml index a6a73bce2..0f83c2847 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -1,3 +1,4 @@ +run_name = "wall-bc_recyclefraction0.5_split3_v2" steady_state_residual = true converged_residual_value = 1.0e-3 #runtime_plots = true From 681d5036400178c35cac36a6b6f5c1138548e36c Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 2 Sep 2023 19:52:04 +0100 Subject: [PATCH 07/71] eftc2023-jto: Update parameters to stop step5 of split3 attempt from crashing --- .../wall-bc_recyclefraction0.5_split3_v2_step5.toml | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml index f444edb10..7115a3326 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -49,11 +49,12 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 -nstep = 100000 +nstep = 400000 #dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 +#dt = 2.0e-5 +dt = 5.0e-6 +nwrite = 40000 +nwrite_dfns = 40000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false From d66fbc2bf4afa612d837ac7e6e1c0f66d980b1c4 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 6 Sep 2023 17:18:21 +0100 Subject: [PATCH 08/71] eftc2023-jto: Set vpa_bc="zero" for wall-bc_recyclefraction0.5* This boundary condition is correct, and better behaved, for simulations with no numerical diffusion, or numerical diffusion that is very small compared to vpa advection. --- examples/wall-bc/wall-bc_recyclefraction0.5.toml | 4 ++-- examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml | 4 ++-- examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml | 4 ++-- examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml | 4 ++-- examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml | 4 ++-- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml | 4 ++-- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5.toml index 25d3f749e..a65c7b54f 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5.toml @@ -65,12 +65,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml index 65f4b02a8..349fc8aa4 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml @@ -65,12 +65,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml index ff248722f..cfd26e917 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml @@ -65,12 +65,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml index 0b1b0f397..9c924140e 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -65,12 +65,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml index ddfc32932..6fe1384ea 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -66,12 +66,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml index 0f83c2847..2746d57df 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -67,12 +67,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml index 48e090626..5d43f24c3 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml @@ -67,12 +67,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml index 3f6ec869e..773eb965b 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml @@ -67,12 +67,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml index 354f9bab2..286b4860d 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml @@ -67,12 +67,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml index 7115a3326..58b5b64b5 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -68,12 +68,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml index 83c7387da..42f4f9c01 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml @@ -67,12 +67,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml index 49ab3c9c5..5c5733898 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml @@ -67,12 +67,12 @@ z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 -vpa_bc = "both_zero" +vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 -vz_bc = "both_zero" +vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" [ion_source] From dc2336fe66528604ca50e5de1b36c5ab585eacbb Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 6 Sep 2023 22:19:42 +0100 Subject: [PATCH 09/71] eftc2023-jto: Increase vpa_L and decrease dt for split3 input --- .../wall-bc/wall-bc_recyclefraction0.5_split3.toml | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml index 9c924140e..1a6c3cc93 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -49,9 +49,9 @@ ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 nstep = 1000000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 +dt = 5.0e-6 #1.0e-5 +nwrite = 10000 #5000 +nwrite_dfns = 10000 #5000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -64,12 +64,12 @@ z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 -vpa_L = 18.0 +vpa_L = 36.0 vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 -vz_L = 18.0 +vz_L = 36.0 vz_bc = "zero" vz_discretization = "chebyshev_pseudospectral" From 98212901fb30b41e2d3e1a3bfabe716dea26aa04 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 9 Sep 2023 13:39:08 +0100 Subject: [PATCH 10/71] eftc2023-jto: Input file with both local and volumetric recycling --- examples/wall-bc/wall-bc_volumerecycle.toml | 94 +++++++++++++++++++++ 1 file changed, 94 insertions(+) create mode 100644 examples/wall-bc/wall-bc_volumerecycle.toml diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml new file mode 100644 index 000000000..72b2e21a5 --- /dev/null +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -0,0 +1,94 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.25 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +#nstep = 1000000 +nstep = 100000 +dt = 5.0e-4 #1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 2.0 + +[neutral_source] +active = true +controller_type = "recycling" +recycling_controller_fraction = 0.25 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 From 8fde874450d68615f74f505b1f41661b05ea0a5a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 9 Sep 2023 19:35:44 +0100 Subject: [PATCH 11/71] eftc2023-jto: fix timestep in volumerecycle input file --- examples/wall-bc/wall-bc_volumerecycle.toml | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index 72b2e21a5..15888a0ac 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -49,9 +49,8 @@ ionization_frequency = 0.5 constant_ionization_rate = false #time_stepper_type = "cvode" #nstep = 50000 -#nstep = 1000000 -nstep = 100000 -dt = 5.0e-4 #1.0e-4 +nstep = 1000000 +dt = 1.0e-4 nwrite = 5000 nwrite_dfns = 5000 use_semi_lagrange = false From a1146ee796c84f459692ce64bed7b193ea2a00c5 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 9 Sep 2023 23:03:12 +0100 Subject: [PATCH 12/71] eftc2023-jto: Reduce dt again and reduce source strength for wall-bc_volumerecycle.toml --- examples/wall-bc/wall-bc_volumerecycle.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index 15888a0ac..f411c680d 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -50,9 +50,9 @@ constant_ionization_rate = false #time_stepper_type = "cvode" #nstep = 50000 nstep = 1000000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 +dt = 5.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -78,7 +78,7 @@ vz_discretization = "chebyshev_pseudospectral" active = true z_profile = "gaussian" z_width = 0.125 -source_strength = 8.0 +source_strength = 2.0 source_T = 2.0 [neutral_source] From 1b6cfd57e4b7fd59aad4a38c9ebba40b715e2de5 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 9 Sep 2023 23:04:47 +0100 Subject: [PATCH 13/71] eftc2023-jto: moment-kinetic variants on wall-bc_volumerecycle --- .../wall-bc/wall-bc_volumerecycle_split1.toml | 94 +++++++++++++++++++ .../wall-bc/wall-bc_volumerecycle_split2.toml | 94 +++++++++++++++++++ .../wall-bc/wall-bc_volumerecycle_split3.toml | 94 +++++++++++++++++++ 3 files changed, 282 insertions(+) create mode 100644 examples/wall-bc/wall-bc_volumerecycle_split1.toml create mode 100644 examples/wall-bc/wall-bc_volumerecycle_split2.toml create mode 100644 examples/wall-bc/wall-bc_volumerecycle_split3.toml diff --git a/examples/wall-bc/wall-bc_volumerecycle_split1.toml b/examples/wall-bc/wall-bc_volumerecycle_split1.toml new file mode 100644 index 000000000..4fcfb5ccf --- /dev/null +++ b/examples/wall-bc/wall-bc_volumerecycle_split1.toml @@ -0,0 +1,94 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.25 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +nstep = 1000000 +dt = 5.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +#vz_bc = "none" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 2.0 +source_T = 2.0 + +[neutral_source] +active = true +controller_type = "recycling" +recycling_controller_fraction = 0.25 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split2.toml b/examples/wall-bc/wall-bc_volumerecycle_split2.toml new file mode 100644 index 000000000..8a6f5987a --- /dev/null +++ b/examples/wall-bc/wall-bc_volumerecycle_split2.toml @@ -0,0 +1,94 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.25 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +nstep = 1000000 +dt = 5.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +#vz_bc = "none" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 2.0 +source_T = 2.0 + +[neutral_source] +active = true +controller_type = "recycling" +recycling_controller_fraction = 0.25 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml new file mode 100644 index 000000000..822ea354c --- /dev/null +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -0,0 +1,94 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +#runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.25 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 0.75 +ionization_frequency = 0.5 +constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +nstep = 1000000 +dt = 1.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +#vz_bc = "none" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 2.0 +source_T = 2.0 + +[neutral_source] +active = true +controller_type = "recycling" +recycling_controller_fraction = 0.25 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 From 443e6496ab34c49915129f5877e50854131055b7 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sun, 10 Sep 2023 19:08:30 +0100 Subject: [PATCH 14/71] eftc2023-jto: Inputs with no neutrals Mostly for debugging - without neutrals these cases do not develop steep gradients near the sheaths, so are easier to run. --- examples/wall-bc/wall-bc_no-neutrals.toml | 89 +++++++++++++++++++ .../wall-bc/wall-bc_no-neutrals_split1.toml | 89 +++++++++++++++++++ .../wall-bc/wall-bc_no-neutrals_split2.toml | 89 +++++++++++++++++++ .../wall-bc/wall-bc_no-neutrals_split3.toml | 89 +++++++++++++++++++ 4 files changed, 356 insertions(+) create mode 100644 examples/wall-bc/wall-bc_no-neutrals.toml create mode 100644 examples/wall-bc/wall-bc_no-neutrals_split1.toml create mode 100644 examples/wall-bc/wall-bc_no-neutrals_split2.toml create mode 100644 examples/wall-bc/wall-bc_no-neutrals_split3.toml diff --git a/examples/wall-bc/wall-bc_no-neutrals.toml b/examples/wall-bc/wall-bc_no-neutrals.toml new file mode 100644 index 000000000..5eb88b0da --- /dev/null +++ b/examples/wall-bc/wall-bc_no-neutrals.toml @@ -0,0 +1,89 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +runtime_plots = true +n_ion_species = 1 +n_neutral_species = 0 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +#charge_exchange_frequency = 0.75 +#ionization_frequency = 0.5 +#constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +#nstep = 1000000 +nstep = 100000 +dt = 5.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 1.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split1.toml b/examples/wall-bc/wall-bc_no-neutrals_split1.toml new file mode 100644 index 000000000..7a9314350 --- /dev/null +++ b/examples/wall-bc/wall-bc_no-neutrals_split1.toml @@ -0,0 +1,89 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +runtime_plots = true +n_ion_species = 1 +n_neutral_species = 0 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +#charge_exchange_frequency = 0.75 +#ionization_frequency = 0.5 +#constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +#nstep = 1000000 +nstep = 100000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 1.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split2.toml b/examples/wall-bc/wall-bc_no-neutrals_split2.toml new file mode 100644 index 000000000..215b4bc37 --- /dev/null +++ b/examples/wall-bc/wall-bc_no-neutrals_split2.toml @@ -0,0 +1,89 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +runtime_plots = true +n_ion_species = 1 +n_neutral_species = 0 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +#charge_exchange_frequency = 0.75 +#ionization_frequency = 0.5 +#constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +#nstep = 1000000 +nstep = 100000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +#z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 1.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split3.toml b/examples/wall-bc/wall-bc_no-neutrals_split3.toml new file mode 100644 index 000000000..fca09c871 --- /dev/null +++ b/examples/wall-bc/wall-bc_no-neutrals_split3.toml @@ -0,0 +1,89 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +runtime_plots = true +n_ion_species = 1 +n_neutral_species = 0 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +#charge_exchange_frequency = 0.75 +#ionization_frequency = 0.5 +#constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 50000 +#nstep = 1000000 +nstep = 100000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 8.0 +source_T = 1.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 From af99dea7d06d6f6d07c5317a7821b26e74aef00e Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sun, 10 Sep 2023 19:11:14 +0100 Subject: [PATCH 15/71] eftc2023-jto: recyclefraction0.5 case modified with higher CX rate This turned out to increase the gradients near the sheath (the hope had been it might do the opposite), so just including as a record. --- .../wall-bc_recyclefraction0.5_highCX.toml | 88 +++++++++++++++++++ ...ll-bc_recyclefraction0.5_highCX_step1.toml | 88 +++++++++++++++++++ 2 files changed, 176 insertions(+) create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml create mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml new file mode 100644 index 000000000..ca960c850 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml @@ -0,0 +1,88 @@ +steady_state_residual = true +converged_residual_value = 1.0e-3 +runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 3.0 +ionization_frequency = 0.125 +constant_ionization_rate = false +#time_stepper_type = "cvode" +#nstep = 10000 +nstep = 1000000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 1.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +#vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml new file mode 100644 index 000000000..2dbaef3e1 --- /dev/null +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml @@ -0,0 +1,88 @@ +run_name = "wall-bc_recyclefraction0.5_highCX" +steady_state_residual = true +converged_residual_value = 1.0e-3 +runtime_plots = true +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +recycling_fraction = 0.5 +coulomb_collisions = true +T_e = 0.2 # 1.0 +T_wall = 0.1 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +z_IC_option1 = "gaussian" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 1.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +vpa_IC_option1 = "gaussian" +vpa_IC_density_amplitude1 = 1.0 +vpa_IC_density_phase1 = 0.0 +vpa_IC_upar_amplitude1 = 0.0 +vpa_IC_upar_phase1 = 0.0 +vpa_IC_temperature_amplitude1 = 0.0 +vpa_IC_temperature_phase1 = 0.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option2 = "gaussian" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = -1.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +vpa_IC_option2 = "gaussian" +vpa_IC_density_amplitude2 = 1.0 +vpa_IC_density_phase2 = 0.0 +vpa_IC_upar_amplitude2 = 0.0 +vpa_IC_upar_phase2 = 0.0 +vpa_IC_temperature_amplitude2 = 0.0 +vpa_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = 3.0 +ionization_frequency = 0.125 +constant_ionization_rate = false +#time_stepper_type = "cvode" +nstep = 50000 +dt = 1.0e-4 +nwrite = 5000 +nwrite_dfns = 5000 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 32 +z_nelement_local = 4 +z_bc = "wall" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 10 +vpa_nelement = 63 +vpa_L = 18.0 +vpa_bc = "zero" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 10 +vz_nelement = 63 +vz_L = 18.0 +vz_bc = "zero" +vz_discretization = "chebyshev_pseudospectral" + +[ion_source] +active = true +z_profile = "gaussian" +z_width = 0.125 +source_strength = 1.0 +source_T = 2.0 + +[numerical_dissipation] +#vpa_dissipation_coefficient = 1.0e-1 +vpa_dissipation_coefficient = 1.0e-2 +#vpa_dissipation_coefficient = 1.0e-3 +#force_minimum_pdf_value = 0.0 From bb9037bbbcd95aba8f34c6ecd16b16f83844b8b7 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 11 Sep 2023 15:02:44 +0100 Subject: [PATCH 16/71] eftc2023-jto: coulomb_collisions -> krook_collisions in all wall-bc input files --- examples/wall-bc/wall-bc_no-neutrals.toml | 2 +- examples/wall-bc/wall-bc_no-neutrals_split1.toml | 2 +- examples/wall-bc/wall-bc_no-neutrals_split2.toml | 2 +- examples/wall-bc/wall-bc_no-neutrals_split3.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split1.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split2.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split3.toml | 2 +- 22 files changed, 22 insertions(+), 22 deletions(-) diff --git a/examples/wall-bc/wall-bc_no-neutrals.toml b/examples/wall-bc/wall-bc_no-neutrals.toml index 5eb88b0da..1822f0c61 100644 --- a/examples/wall-bc/wall-bc_no-neutrals.toml +++ b/examples/wall-bc/wall-bc_no-neutrals.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split1.toml b/examples/wall-bc/wall-bc_no-neutrals_split1.toml index 7a9314350..a22119d79 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split1.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split1.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split2.toml b/examples/wall-bc/wall-bc_no-neutrals_split2.toml index 215b4bc37..5b0936162 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split2.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split3.toml b/examples/wall-bc/wall-bc_no-neutrals_split3.toml index fca09c871..d34edfc8a 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split3.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split3.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5.toml index a65c7b54f..67f28ad71 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml index ca960c850..b73674dfd 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml index 2dbaef3e1..31038421f 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml index 349fc8aa4..81e50c5ce 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml index cfd26e917..8cf9f80c6 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml index 1a6c3cc93..4109441db 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml index 6fe1384ea..3f850d54e 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml index 2746d57df..394a5d8c2 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml index 5d43f24c3..61c3879c3 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml index 773eb965b..b663361da 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml index 286b4860d..1b683e1c4 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml index 58b5b64b5..184fcdf28 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml index 42f4f9c01..3d1d94cdf 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml index 5c5733898..4404ab073 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml @@ -10,7 +10,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index f411c680d..d52224ba8 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.25 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split1.toml b/examples/wall-bc/wall-bc_volumerecycle_split1.toml index 4fcfb5ccf..fcf924456 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split1.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split1.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.25 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split2.toml b/examples/wall-bc/wall-bc_volumerecycle_split2.toml index 8a6f5987a..bb4c5d7f1 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split2.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.25 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml index 822ea354c..bca558428 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split3.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.25 -coulomb_collisions = true +krook_collisions = true T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 From 2599bcf35b67ac4fe15785a0befa4bbfaffe11e9 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 11 Sep 2023 15:36:01 +0100 Subject: [PATCH 17/71] eftc2023-jto: Reduce source_strength in wall-bc_recyclefraction0.5 cases Gives more reasonable-looking profiles. Also tweak the timestep settings. --- examples/wall-bc/wall-bc_recyclefraction0.5.toml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5.toml index 67f28ad71..b1636cfbb 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5.toml @@ -49,9 +49,9 @@ ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 nstep = 1000000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 +dt = 2.0e-4 +nwrite = 2500 +nwrite_dfns = 2500 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -77,7 +77,7 @@ vz_discretization = "chebyshev_pseudospectral" active = true z_profile = "gaussian" z_width = 0.125 -source_strength = 8.0 +source_strength = 2.0 source_T = 2.0 [numerical_dissipation] From 2555559dd1b0c207083218b2898c316d9b13a08f Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 14 Sep 2023 09:48:56 +0100 Subject: [PATCH 18/71] eftc2023-jto: Script for making plots of wall-bc sims for EFTC poster --- .../post_processing_input_eftc2023.toml | 2 + .../wall-bc/wall-bc-plots.jl | 61 +++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/wall-bc/post_processing_input_eftc2023.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/post_processing_input_eftc2023.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/post_processing_input_eftc2023.toml new file mode 100644 index 000000000..79853d7a4 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/post_processing_input_eftc2023.toml @@ -0,0 +1,2 @@ +itime_min = -1 +itime_min_dfns = -1 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl new file mode 100644 index 000000000..882530b2e --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -0,0 +1,61 @@ +using CairoMakie +using LaTeXStrings + +using moment_kinetics.makie_post_processing + +function main() + output_dir = "publication_inputs/2023_EFTC_jto-poster/wall-bc/" + ext = ".png" + + #run_dir = "runs/wall-bc_recyclefraction0.5" + #run_dir = "runs/wall-bc_recyclefraction0.5_split3" + + run_dirs = ("runs/wall-bc_volumerecycle", "runs/wall-bc_volumerecycle_split1", + "runs/wall-bc_volumerecycle_split2", "runs/wall-bc_volumerecycle_split3") + short_labels = (L"full-f$$", L"n", L"n,u_\parallel", L"n,u_\parallel,p_\parallel") + subtitles = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", L"evolving-$n,u_\parallel,p_\parallel$") + + run_info = Tuple(get_run_info(d; itime_min=-1) for d ∈ run_dirs) + run_info_dfns = Tuple(get_run_info(d; itime_min=-1, dfns=true) for d ∈ run_dirs) + setup_makie_post_processing_input!( + joinpath(output_dir, "post_processing_input_eftc2023.toml"), + run_info_moments=run_info, run_info_dfns=run_info_dfns) + + for (var_names, ylabel) ∈ ((("density", "density_neutral"), L"n"), + (("parallel_flow", "uz_neutral"), L"u_\parallel"), + (("temperature", "temperature_neutral"), L"T")) + local fig, ax = get_1d_ax(xlabel=L"z", ylabel=ylabel) + for (ri, label1, linestyle) ∈ zip(run_info, + short_labels, + (nothing, :dash, :dashdot, :dot)) + for (var_name, label2) ∈ zip(var_names, ("ion", "neutral")) + if var_name == "temperature" + data = postproc_load_variable(ri, "thermal_speed", it=ri.nt, is=1, ir=1).^2 + elseif var_name == "temperature_neutral" + data = postproc_load_variable(ri, "thermal_speed_neutral", it=ri.nt, is=1, ir=1).^2 + else + data = nothing + end + plot_vs_z(ri, var_name; ax=ax, data=data, + label=LaTeXString(label1*" "*label2), linestyle=linestyle) + end + end + put_legend_below(fig, ax; orientation=:horizontal, nbanks=2) + save(joinpath(output_dir, var_names[1] * ext), fig) + end + + #plot_vs_vpa_z(run_info_dfns, "f"; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z") + #plot_vs_vz_z(run_info_dfns, "f_neutral"; title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z") + + ion_cbar_max = 3 + neutral_cbar_max = 6 + lims = (-10.0, 10.0, -0.5, 0.5) + axis_args = Dict(:limits=>lims, :xgridvisible=>false, :ygridvisible=>false) + plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) + plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) + + plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "logf_ion$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) + plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "logf_neutral$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) +end + +main() From 0b22954af77990d89824bae3632df8e593a10ee5 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 14 Sep 2023 10:54:48 +0100 Subject: [PATCH 19/71] eftc2023-jto: Reduce source_strength in recyclefraction0.5_split* inputs --- examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml | 2 +- examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml | 8 ++++---- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml index 81e50c5ce..731a864ce 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml @@ -77,7 +77,7 @@ vz_discretization = "chebyshev_pseudospectral" active = true z_profile = "gaussian" z_width = 0.125 -source_strength = 8.0 +source_strength = 2.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml index 8cf9f80c6..f7485737b 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml @@ -77,7 +77,7 @@ vz_discretization = "chebyshev_pseudospectral" active = true z_profile = "gaussian" z_width = 0.125 -source_strength = 8.0 +source_strength = 2.0 source_T = 2.0 [numerical_dissipation] diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml index 4109441db..cf5e8e0e2 100644 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml +++ b/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -49,9 +49,9 @@ ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 nstep = 1000000 -dt = 5.0e-6 #1.0e-5 -nwrite = 10000 #5000 -nwrite_dfns = 10000 #5000 +dt = 1.0e-5 +nwrite = 5000 +nwrite_dfns = 5000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -77,7 +77,7 @@ vz_discretization = "chebyshev_pseudospectral" active = true z_profile = "gaussian" z_width = 0.125 -source_strength = 8.0 +source_strength = 2.0 source_T = 2.0 [numerical_dissipation] From 5b28b67e78a0e60a2fcbf79e1307d0738961bd42 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 14 Sep 2023 10:56:39 +0100 Subject: [PATCH 20/71] eftc2023-jto: Increase vpa_L/vz_L to 30 in volumerecycle_split3 input As the grid in the split3 case is normalised by thermal speed, a larger vpa_L is needed to get roughly the same physical grid width as the other cases, and capture the source far enough out. --- examples/wall-bc/wall-bc_volumerecycle_split3.toml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml index bca558428..81186a337 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split3.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -65,12 +65,12 @@ z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 vpa_nelement = 63 -vpa_L = 18.0 +vpa_L = 30.0 vpa_bc = "zero" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 10 vz_nelement = 63 -vz_L = 18.0 +vz_L = 30.0 vz_bc = "zero" #vz_bc = "none" vz_discretization = "chebyshev_pseudospectral" From 29b502b6ad3f598bd7c08c5a2ebb338a2b49e7bd Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 14 Sep 2023 10:58:31 +0100 Subject: [PATCH 21/71] eftc2023-jto: update plot script --- .../wall-bc/wall-bc-plots.jl | 38 ++++++++++++++++--- 1 file changed, 33 insertions(+), 5 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index 882530b2e..b816ffdb8 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -7,11 +7,14 @@ function main() output_dir = "publication_inputs/2023_EFTC_jto-poster/wall-bc/" ext = ".png" + CairoMakie.activate!(; px_per_unit=4) + #run_dir = "runs/wall-bc_recyclefraction0.5" #run_dir = "runs/wall-bc_recyclefraction0.5_split3" run_dirs = ("runs/wall-bc_volumerecycle", "runs/wall-bc_volumerecycle_split1", "runs/wall-bc_volumerecycle_split2", "runs/wall-bc_volumerecycle_split3") + prefixes = ("full-f", "split1", "split2", "split3") short_labels = (L"full-f$$", L"n", L"n,u_\parallel", L"n,u_\parallel,p_\parallel") subtitles = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", L"evolving-$n,u_\parallel,p_\parallel$") @@ -48,14 +51,39 @@ function main() #plot_vs_vz_z(run_info_dfns, "f_neutral"; title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z") ion_cbar_max = 3 - neutral_cbar_max = 6 + neutral_cbar_max = 5 lims = (-10.0, 10.0, -0.5, 0.5) axis_args = Dict(:limits=>lims, :xgridvisible=>false, :ygridvisible=>false) - plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) - plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) + #plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) + #plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) + + #plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "logf_ion$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) + #plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "logf_neutral$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) + for (ri, p, st) ∈ zip(run_info_dfns, prefixes, subtitles) + plot_f_unnorm_vs_vpa_z(ri; + outfile=joinpath(output_dir, "$(p)_f_ion$ext"), + xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, + colorrange=(0, ion_cbar_max), title=st, + axis_args=axis_args) + plot_f_unnorm_vs_vpa_z(ri; neutral=true, + outfile=joinpath(output_dir, "$(p)_f_neutral$ext"), + xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, + colorrange=(0, neutral_cbar_max), title=st, + axis_args=axis_args) - plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "logf_ion$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) - plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "logf_neutral$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) + plot_f_unnorm_vs_vpa_z(ri; + outfile=joinpath(output_dir, "$(p)_logf_ion$ext"), + transform=positive_or_nan, colorscale=log10, + xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, + colorrange=(1e-16, ion_cbar_max), title=st, + axis_args=axis_args) + plot_f_unnorm_vs_vpa_z(ri; neutral=true, + outfile=joinpath(output_dir, "$(p)_logf_neutral$ext"), + transform=positive_or_nan, colorscale=log10, + xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, + colorrange=(1e-16, neutral_cbar_max), title=st, + axis_args=axis_args) + end end main() From 0236a475effe96e953e97aa839e8aea912b524e1 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sun, 20 Aug 2023 18:15:25 +0100 Subject: [PATCH 22/71] eftc2023-jto: Inputs for sound-wave scans in 'full-f' mode --- .../scan_sound-wave_T.toml | 54 +++++++++++++++++++ .../scan_sound-wave_nratio.toml | 54 +++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml new file mode 100644 index 000000000..4d3ca273d --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml @@ -0,0 +1,54 @@ +combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = [0.25, 0.5, 1.0, 2.0, 4.0] +initial_density2 = 1.0 +initial_temperature2 = [0.25, 0.5, 1.0, 2.0, 4.0] +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.002 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" + +[output] +#binary_format = "netcdf" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml new file mode 100644 index 000000000..63131f5d2 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml @@ -0,0 +1,54 @@ +combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = [0.0, 0.5, 1.0, 1.5, 2.0] +initial_temperature1 = 1.0 +initial_density2 = [2.0, 1.5, 1.0, 0.5, 0.0] +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.002 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" + +[output] +#binary_format = "netcdf" From c082a3358fa18b8422d323a24bfbc17c60d256e8 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 21 Aug 2023 13:10:35 +0100 Subject: [PATCH 23/71] eftc2023-jto: Start working on plots for JTO's EFTC poster --- .../2023_EFTC_jto-poster/Project.toml | 3 + .../plot_dispersion_relation.jl | 145 ++++++++++++++++++ 2 files changed, 148 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/Project.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml new file mode 100644 index 000000000..e93b99d9e --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -0,0 +1,3 @@ +[deps] +Optim = "429524aa-4258-5aef-a3af-852621145aeb" +Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl new file mode 100644 index 000000000..d87a39a08 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -0,0 +1,145 @@ +#using moment_kinetics.makie_post_processing + +using Optim +#using Roots +using SpecialFunctions + +""" +Equation (4.13) from Parra et al. "1D drift kinetic models with periodic +boundary conditions" (TN-01) +""" +function plasmaZ(zeta) + #return exp(-zeta^2)*sqrt(π)*(im - erfi(zeta)) + return (sqrt(π)*exp(-zeta^2)*im - 2*dawson(zeta)) +end + +# Only use one Lpar +const Lpar = 1.0 + +""" +The solution of (4.7) for a complex frequency +""" +function solve_dispersion_relation(ni, nn, Th, Te, Rin; initial_guesses=nothing, n_solutions=1) + kpar = 2*π/Lpar + vth = sqrt(Th) # in moment_kinetics normalised units + + function zeta(omega) + return omega / (kpar * vth) + end + function zetain(omega) + return (omega + im*(ni+nn)*Rin) / (kpar * vth) + end + function Aii(omega) + return ( + 1 + Te/Th + ni/(ni+nn) * Te/Th * zeta(omega) * plasmaZ(zeta(omega)) + + nn/(ni+nn) * ((1 + Te/Th)*zetain(omega) - zeta(omega))*plasmaZ(zetain(omega)) + ) + end + function Ain(omega) + return -ni/(ni+nn) * (zetain(omega) - zeta(omega)) * plasmaZ(zetain(omega)) + end + function Ani(omega) + return - nn/(ni+nn) * (((1 + Te/Th)*zetain(omega) - zeta(omega)) * plasmaZ(zetain(omega)) + - Te/Th * zeta(omega) * plasmaZ(zeta(omega))) + end + function Ann(omega) + return 1 + ni/(ni+nn)*(zetain(omega) - zeta(omega)) * plasmaZ(zetain(omega)) + end + + function detA(omega) + return Aii(omega)*Ann(omega) - Ain(omega)*Ani(omega) + end + + omega_list = ComplexF64[] + omega = 0.0 + 0.0im + for i ∈ 1:n_solutions # find at most n_solutions solutions + if initial_guesses !== nothing && i <= length(initial_guesses) + initial_guess = [real(initial_guesses[i]), imag(real(initial_guesses[i]))] + else + initial_guess = [0.0, 0.0] + end + function target(x) + omega = x[1] + im*x[2] + d = detA(omega) + # Push away from positive gamma (where there are no solutions) + d *= exp(0.1*imag(omega)) + for omega_solution ∈ omega_list + # Use (1 + 1/abs(omega - omega_solution))^2 because the zero-frequency + # solution gets picked up twice with 1/abs(omega - omega_solution)^1. + # Maybe that one is a double pole?? + d *= (1.0 + 1.0/abs(omega - omega_solution))^2 + end + return real(d * conj(d)) + end + result = optimize(target, initial_guess; g_tol=1.0e-40) + minimizer = result.minimizer + omega = minimizer[1] + im*minimizer[2] + if abs(detA(omega)) < 1.e-10 + push!(omega_list, omega) + end + if abs(detA(omega)) > 1.0e-1 + break + end + end + + #return detA, omega_list + return omega_list +end + +# For these parameters, solve_dispersion_relation() finds 3 solutions - a pair with the +# same decay rate and positive/negative frequency, and a zero-frequency mode (also +# decaying) +const default_parameters = (ni=1.0, nn=1.0, Th=1.0, Te=1.0, Ri=1.0) +const default_solution = solve_dispersion_relation(values(default_parameters)...; n_solutions=3) +const default_zero_frequency = first(omega for omega ∈ default_solution if abs(real(omega)) < 1e-5) +const default_positive_frequency = first(omega for omega ∈ default_solution if real(omega) > 1e-5) + +""" + get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega) + +Get growth rate for the zero frequency mode for a range of Ri from 0 to 2 for the +parameters `ni`, `nn`, `Th`, `Te`. + +`starting_omega` gives the solution to start from (e.g. zero-frequency or +positive-frequency). +""" +function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega) + # Get a starting point with Ri=1 + function get_param_sequence(value, default) + sign = value > default ? -1 : 1 + sequence = reverse(collect(value:sign*0.01:default)) + return sequence + end + omega_initial = starting_omega + for (this_ni, this_nn, this_Th, this_Te) ∈ + zip(get_param_sequence(ni, default_parameters.ni), + get_param_sequence(nn, default_parameters.nn), + get_param_sequence(Th, default_parameters.Th), + get_param_sequence(Te, default_parameters.Te)) + omega_initial = solve_dispersion_relation(this_ni, this_nn, this_Th, this_Te, 1.0; + initial_guesses=[omega_initial]) + end + Ri = collect(0.0:0.001:2.0) + omega_result = similar(Ri) + startind = findfirst(x->abs(x-1.0)<1.e-8, Ri) + + # Go down from omega_initial + omega = omega_initial + for i ∈ startind:-1:1 + omega = solve_dispersion_relation(ni, nn, Th, Te, Ri[i]; initial_guesses=[omega]) + omega_result[i] = omega + end + + # Go up from omega_initial + omega = omega_initial + for i ∈ startind+1:length(Ri) + omega = solve_dispersion_relation(ni, nn, Th, Te, Ri[i]; initial_guesses=[omega]) + omega_result[i] = omega + end + + return Ri, real.(omega), imag.(omega) +end + +function plot_zero_frequency!(ax, ni, nn, Th, Te) + Ri, omega, gamma = get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega=default_zero_frequency) +end From 2f269df699a8cda9ed7fa72861724ded046f09ae Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 21 Aug 2023 15:48:48 +0100 Subject: [PATCH 24/71] eftc2023-jto: Improvements to plots --- .../2023_EFTC_jto-poster/Project.toml | 2 + .../plot_dispersion_relation.jl | 182 ++++++++++++++++-- 2 files changed, 165 insertions(+), 19 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml index e93b99d9e..72605d927 100644 --- a/publication_inputs/2023_EFTC_jto-poster/Project.toml +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -1,3 +1,5 @@ [deps] +LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" Optim = "429524aa-4258-5aef-a3af-852621145aeb" +PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index d87a39a08..70e810ad8 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -1,16 +1,20 @@ #using moment_kinetics.makie_post_processing +using CairoMakie +using LaTeXStrings using Optim -#using Roots using SpecialFunctions +using PlasmaDispersionFunctions + """ Equation (4.13) from Parra et al. "1D drift kinetic models with periodic boundary conditions" (TN-01) """ function plasmaZ(zeta) #return exp(-zeta^2)*sqrt(π)*(im - erfi(zeta)) - return (sqrt(π)*exp(-zeta^2)*im - 2*dawson(zeta)) + #return (sqrt(π)*exp(-zeta^2)*im - 2*dawson(zeta)) + return plasma_dispersion_function(zeta) end # Only use one Lpar @@ -18,8 +22,11 @@ const Lpar = 1.0 """ The solution of (4.7) for a complex frequency + +Extra `kwargs...` are passed to `optimize()`. """ -function solve_dispersion_relation(ni, nn, Th, Te, Rin; initial_guesses=nothing, n_solutions=1) +function solve_dispersion_relation(ni, nn, Th, Te, Rin; initial_guesses=nothing, + n_solutions=1, kwargs...) kpar = 2*π/Lpar vth = sqrt(Th) # in moment_kinetics normalised units @@ -54,7 +61,7 @@ function solve_dispersion_relation(ni, nn, Th, Te, Rin; initial_guesses=nothing, omega = 0.0 + 0.0im for i ∈ 1:n_solutions # find at most n_solutions solutions if initial_guesses !== nothing && i <= length(initial_guesses) - initial_guess = [real(initial_guesses[i]), imag(real(initial_guesses[i]))] + initial_guess = [real(initial_guesses[i]), imag(initial_guesses[i])] else initial_guess = [0.0, 0.0] end @@ -71,7 +78,7 @@ function solve_dispersion_relation(ni, nn, Th, Te, Rin; initial_guesses=nothing, end return real(d * conj(d)) end - result = optimize(target, initial_guess; g_tol=1.0e-40) + result = optimize(target, initial_guess; g_tol=1.0e-40, kwargs...) minimizer = result.minimizer omega = minimizer[1] + im*minimizer[2] if abs(detA(omega)) < 1.e-10 @@ -102,44 +109,181 @@ parameters `ni`, `nn`, `Th`, `Te`. `starting_omega` gives the solution to start from (e.g. zero-frequency or positive-frequency). + +Extra `kwargs...` are passed to `solve_dispersion_relation` """ -function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega) +function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) # Get a starting point with Ri=1 function get_param_sequence(value, default) sign = value > default ? -1 : 1 sequence = reverse(collect(value:sign*0.01:default)) return sequence end + + if abs(real(starting_omega)) < 1.0e-10 && ni == 0.0 + # The ni=0 case has funny behaviour with a transition at about Rin=4. + # Want to start following the solution from R>4. + Ri = 8.0 + else + Ri = 1.0 + end + omega_initial = starting_omega - for (this_ni, this_nn, this_Th, this_Te) ∈ + for (this_ni, this_nn, this_Th, this_Te, this_Ri) ∈ zip(get_param_sequence(ni, default_parameters.ni), get_param_sequence(nn, default_parameters.nn), get_param_sequence(Th, default_parameters.Th), - get_param_sequence(Te, default_parameters.Te)) - omega_initial = solve_dispersion_relation(this_ni, this_nn, this_Th, this_Te, 1.0; - initial_guesses=[omega_initial]) + get_param_sequence(Te, default_parameters.Te), + get_param_sequence(Ri, default_parameters.Ri)) + omega_initial = solve_dispersion_relation(this_ni, this_nn, this_Th, this_Te, + this_Ri; + initial_guesses=[omega_initial], + kwargs...)[1] end - Ri = collect(0.0:0.001:2.0) - omega_result = similar(Ri) - startind = findfirst(x->abs(x-1.0)<1.e-8, Ri) + Ri_result = collect(0.0:0.005:2.0*2*π) + omega_result = similar(Ri_result, ComplexF64) + omega_result .= NaN + startind = findfirst(x->abs(x-Ri)<1.e-8, Ri_result) # Go down from omega_initial omega = omega_initial for i ∈ startind:-1:1 - omega = solve_dispersion_relation(ni, nn, Th, Te, Ri[i]; initial_guesses=[omega]) + omega = solve_dispersion_relation(ni, nn, Th, Te, Ri_result[i]; initial_guesses=[omega], + kwargs...) + if (length(omega) == 0 # Failed to find solution + || (i < startind && (imag(omega[1])-imag(omega_result[i+1])) * (imag(omega_result[startind-1])-imag(omega_result[startind])) < 0.0) # Expect growth rate to be monotonic. Stop if it is not + ) + break + else + omega = omega[1] + end + #println("continuing omega down ", i, " ", real(omega)) omega_result[i] = omega end # Go up from omega_initial omega = omega_initial - for i ∈ startind+1:length(Ri) - omega = solve_dispersion_relation(ni, nn, Th, Te, Ri[i]; initial_guesses=[omega]) + for i ∈ startind+1:length(Ri_result) + omega = solve_dispersion_relation(ni, nn, Th, Te, Ri_result[i]; initial_guesses=[omega], + kwargs...) + if length(omega) == 0 + # Failed to find solution + break + else + omega = omega[1] + end + #println("continuing omega up ", i, " ", omega) omega_result[i] = omega end - return Ri, real.(omega), imag.(omega) + return Ri_result, real.(omega_result), imag.(omega_result) +end + +function plot_zero_frequency!(ax, ni, nn, Th, Te; kwargs...) + println("plotting zero frequency for ni=$ni, nn=$nn, Th=$Th, Te=$Te") + Ri, omega, gamma = get_sequence_vs_Ri(ni, nn, Th, Te; + starting_omega=default_zero_frequency) + # Hopefully there were only a few entries that jumped to the wrong root. Delete them. + wrong_root_indices = findall(x->abs(x)>1.0e-10, omega) + deleteat!(Ri, wrong_root_indices) + deleteat!(omega, wrong_root_indices) + deleteat!(gamma, wrong_root_indices) + #if any(@. abs(omega) > 1.e-10) + # error("expected zero-frequency mode, got $omega") + #end + + # There is the odd point with gamma=0 that doesn't look right, so skip those too + wrong_root_indices = findall(x->abs(x)<1.0e-10, gamma) + deleteat!(Ri, wrong_root_indices) + deleteat!(omega, wrong_root_indices) + deleteat!(gamma, wrong_root_indices) + + return lines!(ax, Ri, gamma, linestyle=:dash; kwargs...) +end + +function plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; kwargs...) + println("plotting positive frequency for ni=$ni, nn=$nn, Th=$Th, Te=$Te") + Ri, omega, gamma = get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega=default_positive_frequency) + #if any(@. omega < 1.e-5) + # error("expected positive-frequency mode, got $omega") + #end + + Ri_gamma = copy(Ri) + # Points with omega=0 overlap with zero-frequency mode on gamma-plot and look weird, + # so chop them out here + wrong_root_indices = findall(x->abs(x)<1.0e-10, omega) + deleteat!(Ri_gamma, wrong_root_indices) + deleteat!(gamma, wrong_root_indices) + + return lines!(ax_omega, Ri, omega; kwargs...), lines!(ax_gamma, Ri_gamma, gamma; kwargs...) +end + +function plot_n_scan() + + Th = 1.0 + Te = 1.0 + + fig_omega = Figure() + ax_omega = Axis(fig_omega[1,1], xlabel=L"R_{in}", ylabel=L"\omega") + + fig_gamma = Figure() + ax_gamma = Axis(fig_gamma[1,1], xlabel=L"R_{in}", ylabel=L"\gamma") + + for (ni, nn, label) ∈ ((2.0, 0.0, "1"), + (1.5, 0.5, "3/4"), + (1.0, 1.0, "1/2"), + (0.5, 1.5, "1/4"), + (0.0, 2.0, "0"), + ) + p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) + plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; label=label, color=p_gamma.color) + end + + Legend(fig_omega[1,2], ax_omega) + Legend(fig_gamma[1,2], ax_gamma) + + save("n_scan_omega.pdf", fig_omega) + save("n_scan_gamma.pdf", fig_gamma) + + return nothing +end + +function plot_T_scan() + + ni = 1.0 + nn = 1.0 + Te = 1.0 + + fig_omega = Figure() + ax_omega = Axis(fig_omega[1,1], xlabel=L"R_{in}", ylabel=L"\omega") + + fig_gamma = Figure() + ax_gamma = Axis(fig_gamma[1,1], xlabel=L"R_{in}", ylabel=L"\gamma") + + for (Th, label) ∈ ((0.25, "1/4"), + (0.5, "1/2"), + (1.0, "1"), + (2.0, "2"), + (4.0, "4"), + ) + p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) + plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; label=label, color=p_gamma.color) + end + + Legend(fig_omega[1,2], ax_omega) + Legend(fig_gamma[1,2], ax_gamma) + + save("T_scan_omega.pdf", fig_omega) + save("T_scan_gamma.pdf", fig_gamma) + + return nothing +end + +function make_plots() + plot_n_scan() + plot_T_scan() end -function plot_zero_frequency!(ax, ni, nn, Th, Te) - Ri, omega, gamma = get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega=default_zero_frequency) +if abspath(PROGRAM_FILE) == @__FILE__ + make_plots() end From f3f8b297fa397f8a5106c2e80c508fe834f07ad2 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 21 Aug 2023 16:13:30 +0100 Subject: [PATCH 25/71] eftc2023-jto: More improvements to plots --- .../2023_EFTC_jto-poster/README.md | 28 +++++++++++++++++++ .../plot_dispersion_relation.jl | 14 +++++----- 2 files changed, 35 insertions(+), 7 deletions(-) create mode 100644 publication_inputs/2023_EFTC_jto-poster/README.md diff --git a/publication_inputs/2023_EFTC_jto-poster/README.md b/publication_inputs/2023_EFTC_jto-poster/README.md new file mode 100644 index 000000000..f13c2082f --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/README.md @@ -0,0 +1,28 @@ +README +====== + +Setup +----- + +The script in this directory uses James Cook's PlasmaDispersionFunctions.jl +package, as this is more accurate than a naive implementation of the plasma +dispersion function using SpecialFuncions.jl. + +To set everything up, do +```julia +$ julia --project +julia>] +(2023_EFTC_jto-poster) pkg> add https://github.com/jwscook/PlasmaDispersionFunctions.jl +(2023_EFTC_jto-poster) pkg>^D +$ +``` + +Usage +----- + +Import the script and run `make_plots()` +``` +$ julia --project +julia> include("plot_dispersion_relation.jl") +julia> make_plots() +``` diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index 70e810ad8..d07de2305 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -150,14 +150,14 @@ function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) for i ∈ startind:-1:1 omega = solve_dispersion_relation(ni, nn, Th, Te, Ri_result[i]; initial_guesses=[omega], kwargs...) - if (length(omega) == 0 # Failed to find solution - || (i < startind && (imag(omega[1])-imag(omega_result[i+1])) * (imag(omega_result[startind-1])-imag(omega_result[startind])) < 0.0) # Expect growth rate to be monotonic. Stop if it is not - ) + if length(omega) == 0 + # Failed to find solution + break + elseif (i < startind - 1 && abs(real(starting_omega)) < 1.e-10 && (imag(omega[1])-imag(omega_result[i+1])) * (imag(omega_result[startind-1])-imag(omega_result[startind])) < 0.0) + # Expect growth rate to be monotonic for zero frequency mode. Stop if it is not break - else - omega = omega[1] end - #println("continuing omega down ", i, " ", real(omega)) + omega = omega[1] omega_result[i] = omega end @@ -267,7 +267,7 @@ function plot_T_scan() (4.0, "4"), ) p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) - plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; label=label, color=p_gamma.color) + plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) end Legend(fig_omega[1,2], ax_omega) From 3928ec3be63274e32b95120d322df49ae3140c55 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Tue, 22 Aug 2023 09:25:57 +0100 Subject: [PATCH 26/71] eftc2023-jto: More plot improvements, read and plot simulation results --- .../2023_EFTC_jto-poster/Project.toml | 1 + .../2023_EFTC_jto-poster/README.md | 4 + .../plot_dispersion_relation.jl | 116 +++++++++++++++--- 3 files changed, 103 insertions(+), 18 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml index 72605d927..ca8530e1e 100644 --- a/publication_inputs/2023_EFTC_jto-poster/Project.toml +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -3,3 +3,4 @@ LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" Optim = "429524aa-4258-5aef-a3af-852621145aeb" PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" +moment_kinetics = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" diff --git a/publication_inputs/2023_EFTC_jto-poster/README.md b/publication_inputs/2023_EFTC_jto-poster/README.md index f13c2082f..8b81d4354 100644 --- a/publication_inputs/2023_EFTC_jto-poster/README.md +++ b/publication_inputs/2023_EFTC_jto-poster/README.md @@ -8,11 +8,15 @@ The script in this directory uses James Cook's PlasmaDispersionFunctions.jl package, as this is more accurate than a naive implementation of the plasma dispersion function using SpecialFuncions.jl. +We also have to add the `moment_kinetics` package from the top level, which is +`../..` relative to this directory. + To set everything up, do ```julia $ julia --project julia>] (2023_EFTC_jto-poster) pkg> add https://github.com/jwscook/PlasmaDispersionFunctions.jl +(2023_EFTC_jto-poster) pkg> dev ../.. (2023_EFTC_jto-poster) pkg>^D $ ``` diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index d07de2305..937689d51 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -7,6 +7,8 @@ using SpecialFunctions using PlasmaDispersionFunctions +using moment_kinetics.parameter_scans + """ Equation (4.13) from Parra et al. "1D drift kinetic models with periodic boundary conditions" (TN-01) @@ -19,6 +21,7 @@ end # Only use one Lpar const Lpar = 1.0 +const kpar = 2*π/Lpar """ The solution of (4.7) for a complex frequency @@ -27,7 +30,6 @@ Extra `kwargs...` are passed to `optimize()`. """ function solve_dispersion_relation(ni, nn, Th, Te, Rin; initial_guesses=nothing, n_solutions=1, kwargs...) - kpar = 2*π/Lpar vth = sqrt(Th) # in moment_kinetics normalised units function zeta(omega) @@ -123,7 +125,7 @@ function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) if abs(real(starting_omega)) < 1.0e-10 && ni == 0.0 # The ni=0 case has funny behaviour with a transition at about Rin=4. # Want to start following the solution from R>4. - Ri = 8.0 + Ri = 5.0 else Ri = 1.0 end @@ -140,7 +142,10 @@ function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) initial_guesses=[omega_initial], kwargs...)[1] end - Ri_result = collect(0.0:0.005:2.0*2*π) + vth = sqrt(Th) + #Ri_result = collect(0.0:0.001:2.0*π*vth) + # temporarily make this coarser to speed things up + Ri_result = collect(0.0:0.1:2.0*π*vth); println("WARNING! Using coarse grid of Ri to speed up prototyping") omega_result = similar(Ri_result, ComplexF64) omega_result .= NaN startind = findfirst(x->abs(x-Ri)<1.e-8, Ri_result) @@ -198,7 +203,8 @@ function plot_zero_frequency!(ax, ni, nn, Th, Te; kwargs...) deleteat!(omega, wrong_root_indices) deleteat!(gamma, wrong_root_indices) - return lines!(ax, Ri, gamma, linestyle=:dash; kwargs...) + vth = sqrt(Th) + return lines!(ax, (ni+nn).*Ri./(kpar*vth), gamma./(kpar.*vth), linestyle=:dash; kwargs...) end function plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; kwargs...) @@ -215,7 +221,51 @@ function plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; kwargs...) deleteat!(Ri_gamma, wrong_root_indices) deleteat!(gamma, wrong_root_indices) - return lines!(ax_omega, Ri, omega; kwargs...), lines!(ax_gamma, Ri_gamma, gamma; kwargs...) + vth = sqrt(Th) + return lines!(ax_omega, (ni+nn).*Ri./(kpar*vth), omega./(kpar*vth); kwargs...), + lines!(ax_gamma, (ni+nn).*Ri_gamma./(kpar*vth), gamma./(kpar*vth); kwargs...) +end + +function get_sim_omega_gamma(sim) + try + println("path is ", joinpath("..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt")) + s = nothing + open(joinpath("..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt"), + "r") do io + s = split(readline(io)) + end + gamma = parse(Float64, s[2]) + omega = parse(Float64, s[4]) + fit_errors = parse.(Float64, s[6:8]) + + return omega, gamma + catch e + println("Error for ", sim["run_name"], " ", e) + return NaN, NaN + end +end + +function plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; kwargs...) + vth = sqrt(Th) + + Ri = zeros(length(sims)) + omega = zeros(length(sims)) + gamma = zeros(length(sims)) + for (i, s) ∈ enumerate(sims) + Ri[i] = s["charge_exchange_frequency"] + omega[i], gamma[i] = get_sim_omega_gamma(s) + end + + println("for sims ") + println(Ri) + println(omega) + println(gamma) + + return scatter!(ax_omega, (ni+nn).*Ri./(kpar*vth), omega./(kpar*vth); kwargs...), + scatter!(ax_gamma, (ni+nn).*Ri./(kpar*vth), gamma./(kpar*vth); kwargs...) + # *2 is a fudge! + #return scatter!(ax_omega, (ni+nn).*Ri./(kpar*vth*2), omega./(kpar*vth); kwargs...), + # scatter!(ax_gamma, (ni+nn).*Ri./(kpar*vth*2), gamma./(kpar*vth); kwargs...) end function plot_n_scan() @@ -224,23 +274,49 @@ function plot_n_scan() Te = 1.0 fig_omega = Figure() - ax_omega = Axis(fig_omega[1,1], xlabel=L"R_{in}", ylabel=L"\omega") + ax_omega = Axis(fig_omega[1,1], + xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", + ylabel=L"\omega/|k_\parallel|v_\mathrm{th}") fig_gamma = Figure() - ax_gamma = Axis(fig_gamma[1,1], xlabel=L"R_{in}", ylabel=L"\gamma") - - for (ni, nn, label) ∈ ((2.0, 0.0, "1"), - (1.5, 0.5, "3/4"), - (1.0, 1.0, "1/2"), - (0.5, 1.5, "1/4"), - (0.0, 2.0, "0"), + ax_gamma = Axis(fig_gamma[1,1], + xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", + ylabel=L"\gamma/|k_\parallel|v_\mathrm{th}") + + orig_stdout = stdout + redirect_stdout(open("/dev/null", "w")) + #sim_inputs = make_scan_inputs("scan_sound-wave_nratio.toml") + sim_inputs = make_scan_inputs("scan_sound-wave_lowres.toml") + redirect_stdout(orig_stdout) + + legend_data_list = [] + legend_label_list = [] + #for (ni, nn, label) ∈ ((2.0, 0.0, "1"), + # (1.5, 0.5, "3/4"), + # (1.0, 1.0, "1/2"), + # (0.5, 1.5, "1/4"), + # (0.0, 2.0, "0"), + # ) + for (ni, nn, label) ∈ ((1.0, 0.0, "1"), + (0.75, 0.25, "3/4"), + (0.5, 0.5, "1/2"), + (0.25, 0.75, "1/4"), + (0.0, 1.0, "0"), ) + sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) + p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) - plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; label=label, color=p_gamma.color) + plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) + s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color) + + push!(legend_data_list, [p_omega, s_omega]) + push!(legend_label_list, label) end - Legend(fig_omega[1,2], ax_omega) - Legend(fig_gamma[1,2], ax_gamma) + Legend(fig_omega[1,2], legend_data_list, legend_label_list) + Legend(fig_gamma[1,2], legend_data_list, legend_label_list) + #Legend(fig_omega[1,2], ax_omega) + #Legend(fig_gamma[1,2], ax_gamma) save("n_scan_omega.pdf", fig_omega) save("n_scan_gamma.pdf", fig_gamma) @@ -255,10 +331,14 @@ function plot_T_scan() Te = 1.0 fig_omega = Figure() - ax_omega = Axis(fig_omega[1,1], xlabel=L"R_{in}", ylabel=L"\omega") + ax_omega = Axis(fig_omega[1,1], + xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", + ylabel=L"\omega/|k_\parallel|v_\mathrm{th}") fig_gamma = Figure() - ax_gamma = Axis(fig_gamma[1,1], xlabel=L"R_{in}", ylabel=L"\gamma") + ax_gamma = Axis(fig_gamma[1,1], + xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", + ylabel=L"\gamma/|k_\parallel|v_\mathrm{th}") for (Th, label) ∈ ((0.25, "1/4"), (0.5, "1/2"), From 79d0a20216717c48f7e727998f269903b0d33aa9 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 16:04:55 +0100 Subject: [PATCH 27/71] eftc2023-jto: Some fixes and tidying up for plot_dispersion_relation.jl --- .../plot_dispersion_relation.jl | 91 ++++++++++++------- 1 file changed, 59 insertions(+), 32 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index 937689d51..a7475c48b 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -117,9 +117,7 @@ Extra `kwargs...` are passed to `solve_dispersion_relation` function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) # Get a starting point with Ri=1 function get_param_sequence(value, default) - sign = value > default ? -1 : 1 - sequence = reverse(collect(value:sign*0.01:default)) - return sequence + return collect(range(default, stop=value, length=100)) end if abs(real(starting_omega)) < 1.0e-10 && ni == 0.0 @@ -228,16 +226,22 @@ end function get_sim_omega_gamma(sim) try - println("path is ", joinpath("..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt")) s = nothing open(joinpath("..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt"), "r") do io s = split(readline(io)) end gamma = parse(Float64, s[2]) - omega = parse(Float64, s[4]) + # No real difference between positive and negative omega, so take abs() in case + # simulation fit picked up negative value + omega = abs(parse(Float64, s[4])) fit_errors = parse.(Float64, s[6:8]) + if fit_errors[1] > 0.1 + # Fit was bad, so don't plot + return NaN, NaN + end + return omega, gamma catch e println("Error for ", sim["run_name"], " ", e) @@ -256,10 +260,10 @@ function plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; kwargs...) omega[i], gamma[i] = get_sim_omega_gamma(s) end - println("for sims ") - println(Ri) - println(omega) - println(gamma) + #println("for sims ") + #println(Ri) + #println(omega) + #println(gamma) return scatter!(ax_omega, (ni+nn).*Ri./(kpar*vth), omega./(kpar*vth); kwargs...), scatter!(ax_gamma, (ni+nn).*Ri./(kpar*vth), gamma./(kpar*vth); kwargs...) @@ -285,24 +289,24 @@ function plot_n_scan() orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) - #sim_inputs = make_scan_inputs("scan_sound-wave_nratio.toml") - sim_inputs = make_scan_inputs("scan_sound-wave_lowres.toml") + sim_inputs = get_scan_inputs("scan_sound-wave_nratio.toml") + #sim_inputs = get_scan_inputs("scan_sound-wave_lowres.toml") redirect_stdout(orig_stdout) legend_data_list = [] legend_label_list = [] - #for (ni, nn, label) ∈ ((2.0, 0.0, "1"), - # (1.5, 0.5, "3/4"), - # (1.0, 1.0, "1/2"), - # (0.5, 1.5, "1/4"), - # (0.0, 2.0, "0"), - # ) - for (ni, nn, label) ∈ ((1.0, 0.0, "1"), - (0.75, 0.25, "3/4"), - (0.5, 0.5, "1/2"), - (0.25, 0.75, "1/4"), - (0.0, 1.0, "0"), + for (ni, nn, label) ∈ ((2.0, 0.0, "1"), + (1.5, 0.5, "3/4"), + (1.0, 1.0, "1/2"), + (0.5, 1.5, "1/4"), + (0.0, 2.0, "0"), ) + #for (ni, nn, label) ∈ ((1.0, 0.0, "1"), + # (0.75, 0.25, "3/4"), + # (0.5, 0.5, "1/2"), + # (0.25, 0.75, "1/4"), + # (0.0, 1.0, "0"), + # ) sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) @@ -333,25 +337,48 @@ function plot_T_scan() fig_omega = Figure() ax_omega = Axis(fig_omega[1,1], xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", - ylabel=L"\omega/|k_\parallel|v_\mathrm{th}") + ylabel=L"\omega/|k_\parallel|v_\mathrm{th}", + limits=(-.2, 2.2, 0.0, 2.2)) fig_gamma = Figure() ax_gamma = Axis(fig_gamma[1,1], xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", - ylabel=L"\gamma/|k_\parallel|v_\mathrm{th}") + ylabel=L"\gamma/|k_\parallel|v_\mathrm{th}", + limits=(-.2, 2.2, -2.5, 0.0)) + + orig_stdout = stdout + redirect_stdout(open("/dev/null", "w")) + sim_inputs025 = get_scan_inputs("scan_sound-wave_T0.25.toml") + sim_inputs05 = get_scan_inputs("scan_sound-wave_T0.5.toml") + sim_inputs1 = get_scan_inputs("scan_sound-wave_T1.toml") + sim_inputs2 = get_scan_inputs("scan_sound-wave_T2.toml") + sim_inputs4 = get_scan_inputs("scan_sound-wave_T4.toml") + redirect_stdout(orig_stdout) + + legend_data_list = [] + legend_label_list = [] + for (Th, label, sims) ∈ ((0.25, "1/4", sim_inputs025), + (0.5, "1/2", sim_inputs05), + (1.0, "1", sim_inputs1), + (2.0, "2", sim_inputs2), + (4.0, "4", sim_inputs4), + ) - for (Th, label) ∈ ((0.25, "1/4"), - (0.5, "1/2"), - (1.0, "1"), - (2.0, "2"), - (4.0, "4"), - ) p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) + s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color) + + push!(legend_data_list, [p_omega, s_omega]) + push!(legend_label_list, label) end - Legend(fig_omega[1,2], ax_omega) - Legend(fig_gamma[1,2], ax_gamma) + #limits!(ax_omega, (-.2, 2.2, 0.0, 2.2)) + #limits!(ax_gamma, (-.2, 2.2, -2.5, 0.0)) + + Legend(fig_omega[1,2], legend_data_list, legend_label_list) + Legend(fig_gamma[1,2], legend_data_list, legend_label_list) + #Legend(fig_omega[1,2], ax_omega) + #Legend(fig_gamma[1,2], ax_gamma) save("T_scan_omega.pdf", fig_omega) save("T_scan_gamma.pdf", fig_gamma) From 75762e5249d5d2772d4db2ed8a19a70a55be1ca8 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 16:06:12 +0100 Subject: [PATCH 28/71] eftc2023-jto: Trying to make the T-scan work for Th/Te>1 --- .../scan_sound-wave_T.toml | 22 +++++++++---------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml index 4d3ca273d..08e722542 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml @@ -12,41 +12,41 @@ initial_temperature1 = [0.25, 0.5, 1.0, 2.0, 4.0] initial_density2 = 1.0 initial_temperature2 = [0.25, 0.5, 1.0, 2.0, 4.0] z_IC_option1 = "sinusoid" -z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 z_IC_density_phase1 = 0.0 z_IC_upar_amplitude1 = 0.0 z_IC_upar_phase1 = 0.0 z_IC_temperature_amplitude1 = 0.0 z_IC_temperature_phase1 = 0.0 z_IC_option2 = "sinusoid" -z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 z_IC_density_phase2 = 0.0 z_IC_upar_amplitude2 = 0.0 z_IC_upar_phase2 = 0.0 z_IC_temperature_amplitude2 = 0.0 z_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0] +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2, 6.4, 6.6, 6.8, 7.0, 7.2, 7.4, 7.6, 7.8, 8.0, 8.2, 8.4, 8.6, 8.8, 9.0, 9.2, 9.4, 9.6, 9.8, 10.0, 10.2, 10.4, 10.6, 10.8, 11.0, 11.2, 11.4, 11.6, 11.8, 12.0, 12.2, 12.4, 12.6, 12.8, 13.0, 13.2, 13.4, 13.6, 13.8, 14.0, 14.2, 14.4, 14.6, 14.8, 15.0, 15.2, 15.4, 15.6, 15.8, 16.0, 16.2, 16.4, 16.6, 16.8, 17.0, 17.2, 17.4, 17.6, 17.8, 18.0, 18.2, 18.4, 18.6, 18.8, 19.0, 19.2, 19.4, 19.6, 19.8, 20.0, 20.2, 20.4, 20.6, 20.8, 21.0, 21.2, 21.4, 21.6, 21.8, 22.0, 22.2, 22.4, 22.6, 22.8, 23.0, 23.2, 23.4, 23.6, 23.8, 24.0, 24.2, 24.4, 24.6, 24.8, 25.0] ionization_frequency = 0.0 -nstep = 1500 -dt = 0.002 +nstep = [1500, 1500, 1500, 800, 6000] +dt = [0.004, 0.00282842712474619, 0.002, 0.001414213562373095, 1.0e-4] nwrite = 20 use_semi_lagrange = false n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 -z_nelement = 2 +z_ngrid = [9, 9, 9, 9, 17] +z_nelement = [2, 2, 2, 2, 8] z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 -vpa_nelement = 8 -vpa_L = 8.0 +vpa_nelement = [8, 8, 8, 8, 64] #32 +vpa_L = 16.0 #8.0 vpa_bc = "periodic" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 17 -vz_nelement = 8 -vz_L = 8.0 +vz_nelement = [8, 8, 8, 8, 64] #32 +vz_L = 16.0 #8.0 vz_bc = "periodic" vz_discretization = "chebyshev_pseudospectral" From 7f9c1d3ca715c62b35834db72f2f8e323be9993a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 16:07:27 +0100 Subject: [PATCH 29/71] eftc2023-jto: Improvements to density ratio scan inputs Make extreme points 1.0e-5/1.99999 to avoid zeros. Make range of charge exchange rate match limits needed for normalised plot axis. Remove unnecessary `[output]` section. --- .../2023_EFTC_jto-poster/scan_sound-wave_nratio.toml | 9 +++------ 1 file changed, 3 insertions(+), 6 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml index 63131f5d2..357545847 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml @@ -7,9 +7,9 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true T_e = 1.0 -initial_density1 = [0.0, 0.5, 1.0, 1.5, 2.0] +initial_density1 = [1.0e-5, 0.5, 1.0, 1.5, 1.99999] initial_temperature1 = 1.0 -initial_density2 = [2.0, 1.5, 1.0, 0.5, 0.0] +initial_density2 = [1.99999, 1.5, 1.0, 0.5, 1.0e-5] initial_temperature2 = 1.0 z_IC_option1 = "sinusoid" z_IC_density_amplitude1 = 0.001 @@ -25,7 +25,7 @@ z_IC_upar_amplitude2 = 0.0 z_IC_upar_phase2 = 0.0 z_IC_temperature_amplitude2 = 0.0 z_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = [0.0, 0.05, 0.1, 0.15, 0.2, 0.25, 0.3, 0.35, 0.4, 0.45, 0.5, 0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85, 0.9, 0.95, 1.0, 1.05, 1.1, 1.15, 1.2, 1.25, 1.3, 1.35, 1.4, 1.45, 1.5, 1.55, 1.6, 1.65, 1.7, 1.75, 1.8, 1.85, 1.9, 1.95, 2.0] +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] ionization_frequency = 0.0 nstep = 1500 dt = 0.002 @@ -49,6 +49,3 @@ vz_nelement = 8 vz_L = 8.0 vz_bc = "periodic" vz_discretization = "chebyshev_pseudospectral" - -[output] -#binary_format = "netcdf" From 0eabf595930014582f0dbecdf891dd27c48336b8 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 16:09:20 +0100 Subject: [PATCH 30/71] eftc2023-jto: Split temperature scan input into one file per T Should make it easier to tweak each case to get runs to converge to decent results. --- .../scan_sound-wave_T0.25.toml | 51 ++++++++++++++++++ .../scan_sound-wave_T0.5.toml | 51 ++++++++++++++++++ .../scan_sound-wave_T1.toml | 51 ++++++++++++++++++ .../scan_sound-wave_T2.toml | 53 ++++++++++++++++++ .../scan_sound-wave_T4.toml | 54 +++++++++++++++++++ 5 files changed, 260 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml new file mode 100644 index 000000000..fa603f770 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.25 +initial_density2 = 1.0 +initial_temperature2 = 0.25 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.004 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml new file mode 100644 index 000000000..038fb5b3c --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.5 +initial_density2 = 1.0 +initial_temperature2 = 0.5 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.00282842712474619 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml new file mode 100644 index 000000000..0d4da778a --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.002 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml new file mode 100644 index 000000000..e36848154 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml @@ -0,0 +1,53 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 2.0 +initial_density2 = 1.0 +initial_temperature2 = 2.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6.0, 6.3, 6.6, 6.9, 7.2, 7.5, 7.8, 8.1, 8.4, 8.7] +ionization_frequency = 0.0 +nstep = 800 +dt = 0.001414213562373095 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 9 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml new file mode 100644 index 000000000..1e24f670b --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml @@ -0,0 +1,54 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = false +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 4.0 +initial_density2 = 1.0 +initial_temperature2 = 4.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 4.8, 5.2, 5.6, 6.0, 6.4, 6.8, 7.2, 7.6, 8.0, 8.4, 8.8, 9.2, 9.6, 10.0, 10.4, 10.8, 11.2, 11.6, 12.0, 12.4] +ionization_frequency = 0.0 +nstep = 6000 +dt = 1.0e-4 +nwrite = 20 +#nwrite_dfns = 20 #80 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 8 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 64 +vpa_L = 16.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 64 +vz_L = 16.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" From 598c20fa13606cc7032101c0f7037e04e4d2156a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 18:53:21 +0100 Subject: [PATCH 31/71] eftc2023-jto: Run sim longer and increase vpa_L for T2 scan --- .../2023_EFTC_jto-poster/scan_sound-wave_T2.toml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml index e36848154..58a2f2c9b 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml @@ -29,7 +29,7 @@ z_IC_temperature_amplitude2 = 0.0 z_IC_temperature_phase2 = 0.0 charge_exchange_frequency = [0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6.0, 6.3, 6.6, 6.9, 7.2, 7.5, 7.8, 8.1, 8.4, 8.7] ionization_frequency = 0.0 -nstep = 800 +nstep = 1800 dt = 0.001414213562373095 nwrite = 20 use_semi_lagrange = false @@ -43,11 +43,11 @@ z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 vpa_nelement = 8 -vpa_L = 8.0 +vpa_L = 11.313708498984761 # = 8*sqrt(2) vpa_bc = "periodic" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 17 vz_nelement = 8 -vz_L = 8.0 +vz_L = 11.313708498984761 # = 8*sqrt(2) vz_bc = "periodic" vz_discretization = "chebyshev_pseudospectral" From 7e7957306017f124f8a83b05cbf273a6a8d43194 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 18:54:14 +0100 Subject: [PATCH 32/71] eftc2023-jto: Reduce resolution for T4 scan back to values used for others Just needs vpa_L increased due to increased vth/vth_ref. --- .../2023_EFTC_jto-poster/scan_sound-wave_T4.toml | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml index 1e24f670b..acd88e187 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml @@ -29,8 +29,8 @@ z_IC_temperature_amplitude2 = 0.0 z_IC_temperature_phase2 = 0.0 charge_exchange_frequency = [0.0, 0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 4.8, 5.2, 5.6, 6.0, 6.4, 6.8, 7.2, 7.6, 8.0, 8.4, 8.8, 9.2, 9.6, 10.0, 10.4, 10.8, 11.2, 11.6, 12.0, 12.4] ionization_frequency = 0.0 -nstep = 6000 -dt = 1.0e-4 +nstep = 3000 +dt = 1.0e-3 nwrite = 20 #nwrite_dfns = 20 #80 use_semi_lagrange = false @@ -38,17 +38,17 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 17 -z_nelement = 8 +z_ngrid = 9 +z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 -vpa_nelement = 64 +vpa_nelement = 8 vpa_L = 16.0 vpa_bc = "periodic" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 17 -vz_nelement = 64 +vz_nelement = 8 vz_L = 16.0 vz_bc = "periodic" vz_discretization = "chebyshev_pseudospectral" From 472b9f61fa7d14c5dfd3292c9d3b6e6cff68c187 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 18:56:39 +0100 Subject: [PATCH 33/71] eftc2023-jto: Script to run post-processing for all scans Also has to tweak post processing parameters for various cases to get good fits. --- .../post_process_scans.jl | 218 ++++++++++++++++++ 1 file changed, 218 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl diff --git a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl new file mode 100644 index 000000000..bbc7617bb --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl @@ -0,0 +1,218 @@ +using Distributed + +@everywhere using moment_kinetics.makie_post_processing + +@everywhere const soundwave_postproc_input = Dict{String,Any}( + "plot_vs_r" => false, + "plot_vs_z" => false, + "plot_vs_r_t" => false, + "plot_vs_z_t" => false, + "plot_vs_z_r" => false, + "sound_wave_fit" => Dict{String,Any}("calculate_frequency"=>true, "plot"=>true), + "itime_min" => 50, + ) + +# get the run_names from the command-line +function post_process_parameter_scan(scan_dir) + run_directories = Tuple(d for d ∈ readdir(scan_dir, join=true) if isdir(d)) + @sync @distributed for d ∈ run_directories + println("post-processing ", d) + try + this_input = copy(soundwave_postproc_input) + if occursin("T0.25", d) || occursin("ini_0.25", d) + this_input["itime_min"] = 20 + elseif occursin("T0.5", d) || occursin("ini_0.5", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 76 + elseif occursin("T2", d) || occursin("ini_2.0", d) + this_input["itime_min"] = 5 + this_input["itime_max"] = 81 + if occursin("cha_0.0", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 70 + elseif occursin("cha_0.3", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 70 + elseif occursin("cha_0.6", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 70 + elseif occursin("cha_0.9", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 70 + elseif occursin("cha_1.2", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 70 + elseif occursin("cha_1.5", d) + # Can't really get a good fit here. The decay rates of the two modes + # are too close, so just get beating for the whole length of the + # simulation. + elseif occursin("cha_1.8", d) + # Can't really get a good fit here. The decay rates of the two modes + # are too close, so just get beating for the whole length of the + # simulation. + elseif occursin("cha_2.1", d) + # Can't really get a good fit here. The decay rates of the two modes + # are too close, so just get beating for the whole length of the + # simulation. + elseif occursin("cha_2.4", d) + # Can't really get a good fit here. The decay rates of the two modes + # are too close, so just get beating for the whole length of the + # simulation. + elseif occursin("cha_2.7", d) + # Can't really get a good fit here. The decay rates of the two modes + # are too close, so just get beating for the whole length of the + # simulation. + elseif occursin("cha_3.0", d) + this_input["itime_min"] = 60 + elseif occursin("cha_3.3", d) + this_input["itime_min"] = 40 + elseif occursin("cha_3.6", d) + this_input["itime_min"] = 40 + elseif occursin("cha_3.9", d) + this_input["itime_min"] = 40 + elseif occursin("cha_4.2", d) + this_input["itime_min"] = 40 + elseif occursin("cha_4.5", d) + this_input["itime_min"] = 40 + elseif occursin("cha_4.5", d) + this_input["itime_min"] = 40 + elseif occursin("cha_4.5", d) + this_input["itime_min"] = 40 + elseif occursin("cha_4.8", d) + this_input["itime_min"] = 40 + elseif occursin("cha_5.1", d) + this_input["itime_min"] = 40 + elseif occursin("cha_5.4", d) + this_input["itime_min"] = 40 + elseif occursin("cha_5.7", d) + this_input["itime_min"] = 40 + elseif occursin("cha_5.7", d) + this_input["itime_min"] = 40 + elseif occursin("cha_5.7", d) + this_input["itime_min"] = 40 + elseif occursin("cha_6.0", d) + this_input["itime_min"] = 40 + elseif occursin("cha_6.3", d) + this_input["itime_min"] = 40 + elseif occursin("cha_6.6", d) + this_input["itime_min"] = 40 + elseif occursin("cha_6.9", d) + this_input["itime_min"] = 40 + elseif occursin("cha_7.2", d) + this_input["itime_min"] = 40 + elseif occursin("cha_7.5", d) + this_input["itime_min"] = 40 + elseif occursin("cha_7.8", d) + this_input["itime_min"] = 40 + elseif occursin("cha_8.1", d) + this_input["itime_min"] = 40 + elseif occursin("cha_8.4", d) + this_input["itime_min"] = 40 + elseif occursin("cha_8.7", d) + this_input["itime_min"] = 40 + end + elseif occursin("T4", d) || occursin("ini_4.0", d) + this_input["itime_min"] = 10 + this_input["itime_max"] = 65 + if occursin("cha_2.4", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 65 + elseif occursin("cha_2.8", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 65 + elseif occursin("cha_3.2", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 65 + elseif occursin("cha_3.6", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 70 + elseif occursin("cha_4.0", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 70 + elseif occursin("cha_4.4", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 80 + elseif occursin("cha_4.8", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 80 + elseif occursin("cha_5.2", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 80 + elseif occursin("cha_5.6", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 85 + elseif occursin("cha_6.0", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 85 + elseif occursin("cha_6.4", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_6.8", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_7.2", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_7.6", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_8.0", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_8.4", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_8.8", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_9.2", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_9.6", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_10.0", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_10.4", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_10.8", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_11.2", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_11.6", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_12.0", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + elseif occursin("cha_12.4", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 90 + end + end + makie_post_process(d, this_input) + catch e + println(d, " failed with ", e) + end + end +end + +function post_process_all_scans() + post_process_parameter_scan("../../runs/scan_sound-wave_nratio/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.25/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.5/") + post_process_parameter_scan("../../runs/scan_sound-wave_T1/") + post_process_parameter_scan("../../runs/scan_sound-wave_T2/") + post_process_parameter_scan("../../runs/scan_sound-wave_T4/") + + #post_process_parameter_scan("../../runs/scan_sound-wave_lowres/") + #post_process_parameter_scan("../../runs/scan_sound-wave_T/") +end + +if abspath(PROGRAM_FILE) == @__FILE__ + post_process_all_scans() +end From 70a2ad9d0336e63d52fe2925619f25d37b501d4d Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 23 Aug 2023 23:50:44 +0100 Subject: [PATCH 34/71] eftc2023-jto: Better fitting for post_process_parameter_scan() --- .../post_process_scans.jl | 254 +++++++++++++++++- 1 file changed, 253 insertions(+), 1 deletion(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl index bbc7617bb..67ae8e41f 100644 --- a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl +++ b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl @@ -19,7 +19,259 @@ function post_process_parameter_scan(scan_dir) println("post-processing ", d) try this_input = copy(soundwave_postproc_input) - if occursin("T0.25", d) || occursin("ini_0.25", d) + if occursin("nratio_ini_1.0_ini_1.0", d) || occursin("T1", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 85 + if occursin("cha_1.0", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 80 + elseif occursin("cha_1.2", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 80 + elseif occursin("cha_1.4", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 80 + elseif occursin("cha_2.8", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_3.0", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_3.2", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_3.4", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_3.6", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_3.8", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_4.0", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_4.2", d) + this_input["itime_min"] = 70 + this_input["itime_max"] = 85 + elseif occursin("cha_4.4", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 85 + elseif occursin("cha_4.6", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_4.8", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_5.0", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_5.2", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_5.4", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_5.6", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_5.8", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_6.0", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + elseif occursin("cha_6.2", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 90 + end + elseif occursin("nratio", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 85 + if occursin("ini_1.5_ini_0.5", d) + if occursin("cha_3.8", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_4.0", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_4.2", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_4.4", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_4.6", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_4.8", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_5.0", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 85 + elseif occursin("cha_5.2", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 90 + elseif occursin("cha_5.4", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 90 + elseif occursin("cha_5.6", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 90 + elseif occursin("cha_5.8", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 90 + elseif occursin("cha_6.0", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 90 + elseif occursin("cha_6.2", d) + this_input["itime_min"] = 65 + this_input["itime_max"] = 90 + end + elseif occursin("ini_0.5_ini_1.5", d) + this_input["itime_min"] = 35 + this_input["itime_max"] = 90 + if occursin("cha_0.0", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 85 + elseif occursin("cha_0.2", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 85 + elseif occursin("cha_0.4", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 85 + elseif occursin("cha_0.6", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 80 + elseif occursin("cha_0.8", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 80 + elseif occursin("cha_1.0", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 75 + elseif occursin("cha_1.2", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 70 + elseif occursin("cha_1.4", d) + this_input["itime_min"] = 35 + this_input["itime_max"] = 65 + elseif occursin("cha_1.6", d) + this_input["itime_min"] = 40 + this_input["itime_max"] = 55 + elseif occursin("cha_2.6", d) + this_input["itime_min"] = 1 + this_input["itime_max"] = 120 + elseif occursin("cha_2.8", d) + this_input["itime_min"] = 55 + this_input["itime_max"] = 65 + elseif occursin("cha_3.0", d) + this_input["itime_min"] = 55 + this_input["itime_max"] = 65 + elseif occursin("cha_3.2", d) + this_input["itime_min"] = 55 + this_input["itime_max"] = 70 + elseif occursin("cha_3.4", d) + this_input["itime_min"] = 55 + this_input["itime_max"] = 70 + elseif occursin("cha_3.6", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 75 + elseif occursin("cha_3.8", d) + this_input["itime_min"] = 50 + this_input["itime_max"] = 80 + elseif occursin("cha_4.0", d) + this_input["itime_min"] = 35 + this_input["itime_max"] = 85 + elseif occursin("cha_4.2", d) + this_input["itime_min"] = 35 + this_input["itime_max"] = 85 + elseif occursin("cha_4.4", d) + this_input["itime_min"] = 35 + this_input["itime_max"] = 85 + end + elseif occursin("ini_1.0e-5_ini_1.99999", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 85 + if occursin("cha_0.0", d) + this_input["itime_min"] = 5 + this_input["itime_max"] = 85 + elseif occursin("cha_0.2", d) + this_input["itime_min"] = 5 + this_input["itime_max"] = 80 + elseif occursin("cha_0.4", d) + this_input["itime_min"] = 10 + this_input["itime_max"] = 80 + elseif occursin("cha_0.6", d) + this_input["itime_min"] = 15 + this_input["itime_max"] = 80 + elseif occursin("cha_0.8", d) + this_input["itime_min"] = 15 + this_input["itime_max"] = 70 + elseif occursin("cha_1.0", d) + this_input["itime_min"] = 15 + this_input["itime_max"] = 70 + elseif occursin("cha_1.2", d) + this_input["itime_min"] = 15 + this_input["itime_max"] = 70 + elseif occursin("cha_1.4", d) + this_input["itime_min"] = 15 + this_input["itime_max"] = 65 + elseif occursin("cha_1.6", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 65 + elseif occursin("cha_1.8", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 65 + elseif occursin("cha_2.0", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 65 + elseif occursin("cha_2.2", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 65 + elseif occursin("cha_2.4", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 60 + elseif occursin("cha_2.6", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 60 + elseif occursin("cha_2.8", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 60 + elseif occursin("cha_3.0", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 60 + elseif occursin("cha_3.2", d) + this_input["itime_min"] = 20 + this_input["itime_max"] = 60 + elseif occursin("cha_3.4", d) + this_input["itime_min"] = 35 + this_input["itime_max"] = 60 + elseif occursin("cha_3.6", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 65 + elseif occursin("cha_3.8", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 65 + elseif occursin("cha_4.2", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 70 + elseif occursin("cha_4.4", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 80 + elseif occursin("cha_4.6", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 80 + elseif occursin("cha_4.8", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 80 + elseif occursin("cha_5.0", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 80 + end + end + elseif occursin("T0.25", d) || occursin("ini_0.25", d) this_input["itime_min"] = 20 elseif occursin("T0.5", d) || occursin("ini_0.5", d) this_input["itime_min"] = 20 From c79e701a3ef51362e58c31e8798e087a55ed4476 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 24 Aug 2023 10:09:36 +0100 Subject: [PATCH 35/71] eftc2023-jto: Increase length of runs for nratio scan Also do the same in the T=1 case in the T-scan so that we can use the same analysis parameters for that one (as it matches the ni=nn case). --- .../2023_EFTC_jto-poster/scan_sound-wave_T1.toml | 2 +- .../2023_EFTC_jto-poster/scan_sound-wave_nratio.toml | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml index 0d4da778a..35604bc88 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml @@ -27,7 +27,7 @@ z_IC_temperature_amplitude2 = 0.0 z_IC_temperature_phase2 = 0.0 charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] ionization_frequency = 0.0 -nstep = 1500 +nstep = 2500 dt = 0.002 nwrite = 20 use_semi_lagrange = false diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml index 357545847..ed798f36c 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml @@ -27,8 +27,8 @@ z_IC_temperature_amplitude2 = 0.0 z_IC_temperature_phase2 = 0.0 charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] ionization_frequency = 0.0 -nstep = 1500 -dt = 0.002 +nstep = 2500 +dt = 2.0e-3 nwrite = 20 use_semi_lagrange = false n_rk_stages = 4 From 8b7f303fc287e6dca3f020425aba5bd24e3b37c9 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 24 Aug 2023 12:34:36 +0100 Subject: [PATCH 36/71] eftc2023-jto: Add missed case in post_process_parameter_scan() --- publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl | 3 +++ 1 file changed, 3 insertions(+) diff --git a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl index 67ae8e41f..ba85608be 100644 --- a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl +++ b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl @@ -254,6 +254,9 @@ function post_process_parameter_scan(scan_dir) elseif occursin("cha_3.8", d) this_input["itime_min"] = 25 this_input["itime_max"] = 65 + elseif occursin("cha_4.0", d) + this_input["itime_min"] = 25 + this_input["itime_max"] = 70 elseif occursin("cha_4.2", d) this_input["itime_min"] = 25 this_input["itime_max"] = 70 From c53f90a13d3f300d33b8d7200f5f8699bbc1d45f Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 24 Aug 2023 12:34:54 +0100 Subject: [PATCH 37/71] eftc2023-jto: Set z_ngrid=17 in nratio scan Gives better results in some cases. This might just be because I set up the fitting times using this resolution, but if so not worth re-doing just to have them set up for lower resolution. --- .../2023_EFTC_jto-poster/scan_sound-wave_nratio.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml index ed798f36c..187153bc1 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml @@ -35,7 +35,7 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 +z_ngrid = 17 z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" From 813740975a5861973809ae034b83a7d68b059e4d Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 24 Aug 2023 12:37:08 +0100 Subject: [PATCH 38/71] eftc2023-jto: Cache results of solve_dispersion_relation() Makes it much quicker to rebuild plots. --- .../plot_dispersion_relation.jl | 26 ++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index a7475c48b..d36217a09 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -1,6 +1,7 @@ #using moment_kinetics.makie_post_processing using CairoMakie +using DelimitedFiles using LaTeXStrings using Optim using SpecialFunctions @@ -115,6 +116,23 @@ positive-frequency). Extra `kwargs...` are passed to `solve_dispersion_relation` """ function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) + # Get cached results if they exist + cachedir = "omega_caches" + mkpath(cachedir) + is_zero = (abs(real(starting_omega)) < 1.e-10) + if is_zero + cachefile = joinpath(cachedir, "omega_zero_ni$(ni)_nn$(nn)_Th$(Th)_Te$(Te).cache") + else + cachefile = joinpath(cachedir, "omega_positive_ni$(ni)_nn$(nn)_Th$(Th)_Te$(Te).cache") + end + if isfile(cachefile) + results = readdlm(cachefile) + Ri_result = results[:,1] + omega_real = results[:,2] + gamma = results[:,3] + return Ri_result, omega_real, gamma + end + # Get a starting point with Ri=1 function get_param_sequence(value, default) return collect(range(default, stop=value, length=100)) @@ -179,7 +197,13 @@ function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) omega_result[i] = omega end - return Ri_result, real.(omega_result), imag.(omega_result) + # Cache the results + omega_real = real.(omega_result) + gamma = imag.(omega_result) + open(cachefile, "w") do io + writedlm(io, [Ri_result omega_real gamma]) + end + return Ri_result, omega_real, gamma end function plot_zero_frequency!(ax, ni, nn, Th, Te; kwargs...) From bbb00610829a79ef0739bccd22644016991e84bc Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 24 Aug 2023 12:38:01 +0100 Subject: [PATCH 39/71] eftc2023-jto: Use full range of Ri values for dispersion relation solutions Had used a subset to speed up plots. Return to the full range. --- .../2023_EFTC_jto-poster/plot_dispersion_relation.jl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index d36217a09..99591b687 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -159,9 +159,7 @@ function get_sequence_vs_Ri(ni, nn, Th, Te; starting_omega, kwargs...) kwargs...)[1] end vth = sqrt(Th) - #Ri_result = collect(0.0:0.001:2.0*π*vth) - # temporarily make this coarser to speed things up - Ri_result = collect(0.0:0.1:2.0*π*vth); println("WARNING! Using coarse grid of Ri to speed up prototyping") + Ri_result = collect(0.0:0.001:2.0*π*vth) omega_result = similar(Ri_result, ComplexF64) omega_result .= NaN startind = findfirst(x->abs(x-Ri)<1.e-8, Ri_result) From 7128d46ccf16835d9e44bc383f80b433ce6db940 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 24 Aug 2023 12:39:18 +0100 Subject: [PATCH 40/71] eftc2023-jto: Plot vertical lines on omega plots at point where growth rates cross At the point where the growth rates of the two modes cross (so which mode decays slowest switches), draw a vertical dotted line on the omega-plot, to show that the jump in omegas is consistent with flipping between the two modes. --- .../plot_dispersion_relation.jl | 63 +++++++++++++++++-- 1 file changed, 57 insertions(+), 6 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index 99591b687..9ebe6a9b3 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -224,7 +224,8 @@ function plot_zero_frequency!(ax, ni, nn, Th, Te; kwargs...) deleteat!(gamma, wrong_root_indices) vth = sqrt(Th) - return lines!(ax, (ni+nn).*Ri./(kpar*vth), gamma./(kpar.*vth), linestyle=:dash; kwargs...) + return lines!(ax, (ni+nn).*Ri./(kpar*vth), gamma./(kpar*vth), linestyle=:dash; kwargs...), + Ri, gamma end function plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; kwargs...) @@ -243,7 +244,41 @@ function plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; kwargs...) vth = sqrt(Th) return lines!(ax_omega, (ni+nn).*Ri./(kpar*vth), omega./(kpar*vth); kwargs...), - lines!(ax_gamma, (ni+nn).*Ri_gamma./(kpar*vth), gamma./(kpar*vth); kwargs...) + lines!(ax_gamma, (ni+nn).*Ri_gamma./(kpar*vth), gamma./(kpar*vth); kwargs...), + Ri_gamma, gamma +end + +function find_crossing_xvalue(x1, y1, x2, y2) + @boundscheck length(x1) == length(y1) || throw(DimensionMismatch("x1 and y1 have different lengths")) + @boundscheck length(x2) == length(y2) || throw(DimensionMismatch("x2 and y2 have different lengths")) + for i1 ∈ 1:length(x1)-1 + i2 = findfirst(x->(x >= x1[i1]), x2) + if i2 === nothing || i2 == length(x2) + # No entries left in x2/y2 + break + end + if (y2[i2] - y1[i1]) * (y2[i2+1] - y1[i1+1]) <= 0.0 + # Found a crossing. Return its x-value + xl1 = x1[i1] + yl1 = y1[i1] + xu1 = x1[i1+1] + yu1 = y1[i1+1] + xl2 = x2[i2] + yl2 = y2[i2] + xu2 = x2[i2+1] + yu2 = y2[i2+1] + # Line 1 goes between (xl1,yl1) and (xu1, yu1) => y = yl1 + (yu1-yl1)*(x-xl1)/(xu1-xl1) + # Line 2 goes between (xl2,yl2) and (xu2, yu2) => y = yl2 + (yu2-yl2)*(x-xl2)/(xu2-xl2) + # Intersection when: + # yl1 + (yu1-yl1)*(x-xl1)/(xu1-xl1) = yl2 + (yu2-yl2)*(x-xl2)/(xu2-xl2) + # (yl1-yl2)*(xu1-xl1)*(xu2-xl2) + (yu1-yl1)*(x-xl1)*(xu2-xl2) = (yu2-yl2)*(x-xl2)*(xu1-xl1) + # (yl1-yl2)*(xu1-xl1)*(xu2-xl2) + (yu2-yl2)*xl2*(xu1-xl1) - (yu1-yl1)*xl1*(xu2-xl2) = (yu2-yl2)*x*(xu1-xl1) - (yu1-yl1)*x*(xu2-xl2) + # (yl1-yl2)*(xu1-xl1)*(xu2-xl2) + (yu2-yl2)*xl2*(xu1-xl1) - (yu1-yl1)*xl1*(xu2-xl2) = (yu2-yl2)*x*(xu1-xl1) - (yu1-yl1)*x*(xu2-xl2) + # x = [(yl1-yl2)*(xu1-xl1)*(xu2-xl2) + (yu2-yl2)*xl2*(xu1-xl1) - (yu1-yl1)*xl1*(xu2-xl2)] / [(yu2-yl2)*(xu1-xl1) - (yu1-yl1)*(xu2-xl2)] + return ((yl1-yl2)*(xu1-xl1)*(xu2-xl2) + (yu2-yl2)*xl2*(xu1-xl1) - (yu1-yl1)*xl1*(xu2-xl2)) / ((yu2-yl2)*(xu1-xl1) - (yu1-yl1)*(xu2-xl2)) + end + end + return nothing end function get_sim_omega_gamma(sim) @@ -331,10 +366,18 @@ function plot_n_scan() # ) sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) - p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) - plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) + p_omega, p_gamma, Ri_positive, gamma_positive = + plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) + p_gamma_z, Ri_zero, gamma_zero = plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color) + vth = sqrt(Th) + crossing_x = find_crossing_xvalue(Ri_positive, gamma_positive, Ri_zero, gamma_zero) + if crossing_x !== nothing + vlines!(ax_omega, (ni + nn) * crossing_x / (kpar*vth), linestyle=:dot, color=p_gamma.color) + #vlines!(ax_gamma, (ni + nn) * crossing_x / (kpar*vth), linestyle=:dot, color=p_gamma.color) + end + push!(legend_data_list, [p_omega, s_omega]) push!(legend_label_list, label) end @@ -386,10 +429,18 @@ function plot_T_scan() (4.0, "4", sim_inputs4), ) - p_omega, p_gamma = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) - plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) + p_omega, p_gamma, Ri_positive, gamma_positive = + plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) + p_gamma_z, Ri_zero, gamma_zero = plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color) + vth = sqrt(Th) + crossing_x = find_crossing_xvalue(Ri_positive, gamma_positive, Ri_zero, gamma_zero) + if crossing_x !== nothing + vlines!(ax_omega, (ni + nn) * crossing_x / (kpar * vth), linestyle=:dot, color=p_gamma.color) + #vlines!(ax_gamma, (ni + nn) * crossing_x / (kpar * vth), linestyle=:dot, color=p_gamma.color) + end + push!(legend_data_list, [p_omega, s_omega]) push!(legend_label_list, label) end From 1bbad57114df239b2978dafce547b713ad724f14 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Fri, 25 Aug 2023 14:09:12 +0100 Subject: [PATCH 41/71] eftc2023-jto: remove some commented out code from plot_dispersion_relation.jl --- .../2023_EFTC_jto-poster/plot_dispersion_relation.jl | 9 --------- 1 file changed, 9 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index 9ebe6a9b3..38a1d6b0f 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -347,7 +347,6 @@ function plot_n_scan() orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) sim_inputs = get_scan_inputs("scan_sound-wave_nratio.toml") - #sim_inputs = get_scan_inputs("scan_sound-wave_lowres.toml") redirect_stdout(orig_stdout) legend_data_list = [] @@ -358,12 +357,6 @@ function plot_n_scan() (0.5, 1.5, "1/4"), (0.0, 2.0, "0"), ) - #for (ni, nn, label) ∈ ((1.0, 0.0, "1"), - # (0.75, 0.25, "3/4"), - # (0.5, 0.5, "1/2"), - # (0.25, 0.75, "1/4"), - # (0.0, 1.0, "0"), - # ) sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) p_omega, p_gamma, Ri_positive, gamma_positive = @@ -384,8 +377,6 @@ function plot_n_scan() Legend(fig_omega[1,2], legend_data_list, legend_label_list) Legend(fig_gamma[1,2], legend_data_list, legend_label_list) - #Legend(fig_omega[1,2], ax_omega) - #Legend(fig_gamma[1,2], ax_gamma) save("n_scan_omega.pdf", fig_omega) save("n_scan_gamma.pdf", fig_gamma) From 2d6e714f778c393a89744b96ca6f0387bb36ff80 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Fri, 25 Aug 2023 17:30:34 +0100 Subject: [PATCH 42/71] eftc2023-jto: Increase z_ngrid to 17 in T scan to match n scan --- .../2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml | 6 +++--- .../2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml | 6 +++--- .../2023_EFTC_jto-poster/scan_sound-wave_T1.toml | 2 +- .../2023_EFTC_jto-poster/scan_sound-wave_T2.toml | 2 +- .../2023_EFTC_jto-poster/scan_sound-wave_T4.toml | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml index fa603f770..7d9a098f1 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml @@ -35,17 +35,17 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 +z_ngrid = 17 z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 vpa_nelement = 8 -vpa_L = 8.0 +vpa_L = 4.0 vpa_bc = "periodic" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 17 vz_nelement = 8 -vz_L = 8.0 +vz_L = 4.0 vz_bc = "periodic" vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml index 038fb5b3c..c7eb9b6aa 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml @@ -35,17 +35,17 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 +z_ngrid = 17 z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 vpa_nelement = 8 -vpa_L = 8.0 +vpa_L = 5.65685424949238 # 8/sqrt(2) vpa_bc = "periodic" vpa_discretization = "chebyshev_pseudospectral" vz_ngrid = 17 vz_nelement = 8 -vz_L = 8.0 +vz_L = 5.65685424949238 # 8/sqrt(2) vz_bc = "periodic" vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml index 35604bc88..33ab106b7 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml @@ -35,7 +35,7 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 +z_ngrid = 17 z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml index 58a2f2c9b..5438398db 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml @@ -37,7 +37,7 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 +z_ngrid = 17 z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml index acd88e187..172a63109 100644 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml @@ -38,7 +38,7 @@ n_rk_stages = 4 split_operators = false r_ngrid = 1 r_nelement = 1 -z_ngrid = 9 +z_ngrid = 17 z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" From b7e16b52d4dab5a6ff12fbaf0a6125c140e6765a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Fri, 25 Aug 2023 17:33:39 +0100 Subject: [PATCH 43/71] eftc2023-jto: Add moment kinetic runs to sound-wave scans --- .../plot_dispersion_relation.jl | 81 ++++++++++++--- .../post_process_scans.jl | 99 +++++++++++++++++-- .../scan_sound-wave_T.toml | 54 ---------- .../scan_sound-wave_T0.25_split1.toml | 51 ++++++++++ .../scan_sound-wave_T0.25_split2.toml | 51 ++++++++++ .../scan_sound-wave_T0.25_split3.toml | 51 ++++++++++ .../scan_sound-wave_T0.5_split1.toml | 51 ++++++++++ .../scan_sound-wave_T0.5_split2.toml | 51 ++++++++++ .../scan_sound-wave_T0.5_split3.toml | 51 ++++++++++ .../scan_sound-wave_T1_split1.toml | 51 ++++++++++ .../scan_sound-wave_T1_split2.toml | 51 ++++++++++ .../scan_sound-wave_T1_split3.toml | 51 ++++++++++ .../scan_sound-wave_T2_split1.toml | 53 ++++++++++ .../scan_sound-wave_T2_split2.toml | 53 ++++++++++ .../scan_sound-wave_T2_split3.toml | 53 ++++++++++ .../scan_sound-wave_T4_split1.toml | 54 ++++++++++ .../scan_sound-wave_T4_split2.toml | 54 ++++++++++ .../scan_sound-wave_T4_split3.toml | 54 ++++++++++ .../scan_sound-wave_nratio_split1.toml | 51 ++++++++++ .../scan_sound-wave_nratio_split2.toml | 51 ++++++++++ .../scan_sound-wave_nratio_split3.toml | 51 ++++++++++ 21 files changed, 1094 insertions(+), 73 deletions(-) delete mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split3.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split3.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split3.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split3.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split3.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split1.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split2.toml create mode 100644 publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split3.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index 38a1d6b0f..b934a786a 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -329,6 +329,19 @@ function plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; kwargs...) # scatter!(ax_gamma, (ni+nn).*Ri./(kpar*vth*2), gamma./(kpar*vth); kwargs...) end +const marker1 = BezierPath([MoveTo(-0.5, 0.05), LineTo(0.5, 0.05), LineTo(0.5, -0.05), + LineTo(-0.5, -0.05), ClosePath()]) +const marker2 = BezierPath([MoveTo((-0.5+0.05)/sqrt(2), (-0.5-0.05)/sqrt(2)), + LineTo((0.5+0.05)/sqrt(2), (0.5-0.05)/sqrt(2)), + LineTo((0.5-0.05)/sqrt(2), (0.5+0.05)/sqrt(2)), + LineTo((-0.5-0.05)/sqrt(2), (-0.5+0.05)/sqrt(2)), ClosePath()]) +const marker3 = BezierPath([MoveTo(0.05, -0.5), LineTo(0.05, 0.5), LineTo(-0.05, 0.5), + LineTo(-0.05, -0.5), ClosePath()]) +const marker4 = BezierPath([MoveTo((0.5+0.05)/sqrt(2), (-0.5+0.05)/sqrt(2)), + LineTo((-0.5+0.05)/sqrt(2), (0.5+0.05)/sqrt(2)), + LineTo((-0.5-0.05)/sqrt(2), (0.5-0.05)/sqrt(2)), + LineTo((0.5-0.05)/sqrt(2), (-0.5-0.05)/sqrt(2)), ClosePath()]) + function plot_n_scan() Th = 1.0 @@ -347,6 +360,9 @@ function plot_n_scan() orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) sim_inputs = get_scan_inputs("scan_sound-wave_nratio.toml") + sim_inputs_split1 = get_scan_inputs("scan_sound-wave_nratio_split1.toml") + sim_inputs_split2 = get_scan_inputs("scan_sound-wave_nratio_split2.toml") + sim_inputs_split3 = get_scan_inputs("scan_sound-wave_nratio_split3.toml") redirect_stdout(orig_stdout) legend_data_list = [] @@ -358,11 +374,17 @@ function plot_n_scan() (0.0, 2.0, "0"), ) sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) + sims_split1 = Tuple(i for i ∈ sim_inputs_split1 if isapprox(i["initial_density1"], ni, atol=2.0e-5)) + sims_split2 = Tuple(i for i ∈ sim_inputs_split2 if isapprox(i["initial_density1"], ni, atol=2.0e-5)) + sims_split3 = Tuple(i for i ∈ sim_inputs_split3 if isapprox(i["initial_density1"], ni, atol=2.0e-5)) p_omega, p_gamma, Ri_positive, gamma_positive = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) p_gamma_z, Ri_zero, gamma_zero = plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) - s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color) + s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color, marker=marker1) + s_omega1, s_gamma1 = plot_sim_output!(ax_omega, ax_gamma, sims_split1, ni, nn, Th, Te; color=p_gamma.color, marker=marker2) + s_omega2, s_gamma2 = plot_sim_output!(ax_omega, ax_gamma, sims_split2, ni, nn, Th, Te; color=p_gamma.color, marker=marker3) + s_omega3, s_gamma3 = plot_sim_output!(ax_omega, ax_gamma, sims_split3, ni, nn, Th, Te; color=p_gamma.color, marker=marker4) vth = sqrt(Th) crossing_x = find_crossing_xvalue(Ri_positive, gamma_positive, Ri_zero, gamma_zero) @@ -371,10 +393,20 @@ function plot_n_scan() #vlines!(ax_gamma, (ni + nn) * crossing_x / (kpar*vth), linestyle=:dot, color=p_gamma.color) end - push!(legend_data_list, [p_omega, s_omega]) + push!(legend_data_list, [p_omega, s_omega, s_omega1, s_omega2, s_omega3]) push!(legend_label_list, label) end + # Add marker types to the legend + push!(legend_data_list, MarkerElement(marker=marker1, color=:black)) + push!(legend_label_list, "full-f") + push!(legend_data_list, MarkerElement(marker=marker2, color=:black)) + push!(legend_label_list, L"evolving $n$") + push!(legend_data_list, MarkerElement(marker=marker3, color=:black)) + push!(legend_label_list, L"evolving $n,\,u_\parallel$") + push!(legend_data_list, MarkerElement(marker=marker4, color=:black)) + push!(legend_label_list, L"evolving $n,\,u_\parallel,\,p_\parallel$") + Legend(fig_omega[1,2], legend_data_list, legend_label_list) Legend(fig_gamma[1,2], legend_data_list, legend_label_list) @@ -404,11 +436,26 @@ function plot_T_scan() orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) - sim_inputs025 = get_scan_inputs("scan_sound-wave_T0.25.toml") - sim_inputs05 = get_scan_inputs("scan_sound-wave_T0.5.toml") - sim_inputs1 = get_scan_inputs("scan_sound-wave_T1.toml") - sim_inputs2 = get_scan_inputs("scan_sound-wave_T2.toml") - sim_inputs4 = get_scan_inputs("scan_sound-wave_T4.toml") + sim_inputs025 = (get_scan_inputs("scan_sound-wave_T0.25.toml"), + get_scan_inputs("scan_sound-wave_T0.25_split1.toml"), + get_scan_inputs("scan_sound-wave_T0.25_split2.toml"), + get_scan_inputs("scan_sound-wave_T0.25_split3.toml")) + sim_inputs05 = (get_scan_inputs("scan_sound-wave_T0.5.toml"), + get_scan_inputs("scan_sound-wave_T0.5_split1.toml"), + get_scan_inputs("scan_sound-wave_T0.5_split2.toml"), + get_scan_inputs("scan_sound-wave_T0.5_split3.toml")) + sim_inputs1 = (get_scan_inputs("scan_sound-wave_T1.toml"), + get_scan_inputs("scan_sound-wave_T1_split1.toml"), + get_scan_inputs("scan_sound-wave_T1_split2.toml"), + get_scan_inputs("scan_sound-wave_T1_split3.toml")) + sim_inputs2 = (get_scan_inputs("scan_sound-wave_T2.toml"), + get_scan_inputs("scan_sound-wave_T2_split1.toml"), + get_scan_inputs("scan_sound-wave_T2_split2.toml"), + get_scan_inputs("scan_sound-wave_T2_split3.toml")) + sim_inputs4 = (get_scan_inputs("scan_sound-wave_T4.toml"), + get_scan_inputs("scan_sound-wave_T4_split1.toml"), + get_scan_inputs("scan_sound-wave_T4_split2.toml"), + get_scan_inputs("scan_sound-wave_T4_split3.toml")) redirect_stdout(orig_stdout) legend_data_list = [] @@ -423,7 +470,10 @@ function plot_T_scan() p_omega, p_gamma, Ri_positive, gamma_positive = plot_positive_frequency!(ax_omega, ax_gamma, ni, nn, Th, Te; label=label) p_gamma_z, Ri_zero, gamma_zero = plot_zero_frequency!(ax_gamma, ni, nn, Th, Te; color=p_gamma.color) - s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims, ni, nn, Th, Te; color=p_gamma.color) + s_omega, s_gamma = plot_sim_output!(ax_omega, ax_gamma, sims[1], ni, nn, Th, Te; color=p_gamma.color, marker=marker1) + s_omega1, s_gamma1 = plot_sim_output!(ax_omega, ax_gamma, sims[2], ni, nn, Th, Te; color=p_gamma.color, marker=marker2) + s_omega2, s_gamma2 = plot_sim_output!(ax_omega, ax_gamma, sims[3], ni, nn, Th, Te; color=p_gamma.color, marker=marker3) + s_omega3, s_gamma3 = plot_sim_output!(ax_omega, ax_gamma, sims[4], ni, nn, Th, Te; color=p_gamma.color, marker=marker4) vth = sqrt(Th) crossing_x = find_crossing_xvalue(Ri_positive, gamma_positive, Ri_zero, gamma_zero) @@ -432,17 +482,22 @@ function plot_T_scan() #vlines!(ax_gamma, (ni + nn) * crossing_x / (kpar * vth), linestyle=:dot, color=p_gamma.color) end - push!(legend_data_list, [p_omega, s_omega]) + push!(legend_data_list, [p_omega, s_omega, s_omega1, s_omega2, s_omega3]) push!(legend_label_list, label) end - #limits!(ax_omega, (-.2, 2.2, 0.0, 2.2)) - #limits!(ax_gamma, (-.2, 2.2, -2.5, 0.0)) + # Add marker types to the legend + push!(legend_data_list, MarkerElement(marker=marker1, color=:black)) + push!(legend_label_list, "full-f") + push!(legend_data_list, MarkerElement(marker=marker2, color=:black)) + push!(legend_label_list, L"evolving $n$") + push!(legend_data_list, MarkerElement(marker=marker3, color=:black)) + push!(legend_label_list, L"evolving $n,\,u_\parallel$") + push!(legend_data_list, MarkerElement(marker=marker4, color=:black)) + push!(legend_label_list, L"evolving $n,\,u_\parallel,\,p_\parallel$") Legend(fig_omega[1,2], legend_data_list, legend_label_list) Legend(fig_gamma[1,2], legend_data_list, legend_label_list) - #Legend(fig_omega[1,2], ax_omega) - #Legend(fig_gamma[1,2], ax_gamma) save("T_scan_omega.pdf", fig_omega) save("T_scan_gamma.pdf", fig_gamma) diff --git a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl index ba85608be..655ead42c 100644 --- a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl +++ b/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl @@ -19,7 +19,7 @@ function post_process_parameter_scan(scan_dir) println("post-processing ", d) try this_input = copy(soundwave_postproc_input) - if occursin("nratio_ini_1.0_ini_1.0", d) || occursin("T1", d) + if (occursin("nratio", d) && occursin("ini_1.0_ini_1.0", d)) || occursin("T1", d) this_input["itime_min"] = 20 this_input["itime_max"] = 85 if occursin("cha_1.0", d) @@ -31,6 +31,18 @@ function post_process_parameter_scan(scan_dir) elseif occursin("cha_1.4", d) this_input["itime_min"] = 50 this_input["itime_max"] = 80 + elseif occursin("cha_1.6", d) + continue + elseif occursin("cha_1.8", d) + continue + elseif occursin("cha_2.0", d) + continue + elseif occursin("cha_2.2", d) + continue + elseif occursin("cha_2.4", d) + continue + elseif occursin("cha_2.6", d) + continue elseif occursin("cha_2.8", d) this_input["itime_min"] = 70 this_input["itime_max"] = 85 @@ -68,7 +80,7 @@ function post_process_parameter_scan(scan_dir) this_input["itime_min"] = 50 this_input["itime_max"] = 90 elseif occursin("cha_5.2", d) - this_input["itime_min"] = 50 + this_input["itime_min"] = 60 this_input["itime_max"] = 90 elseif occursin("cha_5.4", d) this_input["itime_min"] = 50 @@ -90,7 +102,23 @@ function post_process_parameter_scan(scan_dir) this_input["itime_min"] = 20 this_input["itime_max"] = 85 if occursin("ini_1.5_ini_0.5", d) - if occursin("cha_3.8", d) + if occursin("cha_2.2", d) + continue + elseif occursin("cha_2.4", d) + continue + elseif occursin("cha_2.6", d) + continue + elseif occursin("cha_2.8", d) + continue + elseif occursin("cha_3.0", d) + continue + elseif occursin("cha_3.2", d) + continue + elseif occursin("cha_3.4", d) + continue + elseif occursin("cha_3.6", d) + continue + elseif occursin("cha_3.8", d) this_input["itime_min"] = 65 this_input["itime_max"] = 85 elseif occursin("cha_4.0", d) @@ -160,9 +188,18 @@ function post_process_parameter_scan(scan_dir) elseif occursin("cha_1.6", d) this_input["itime_min"] = 40 this_input["itime_max"] = 55 + elseif occursin("cha_1.8", d) + continue + elseif occursin("cha_2.0", d) + continue + elseif occursin("cha_2.2", d) + continue + elseif occursin("cha_2.4", d) + continue elseif occursin("cha_2.6", d) - this_input["itime_min"] = 1 - this_input["itime_max"] = 120 + continue + #this_input["itime_min"] = 1 + #this_input["itime_max"] = 120 elseif occursin("cha_2.8", d) this_input["itime_min"] = 55 this_input["itime_max"] = 65 @@ -276,9 +313,40 @@ function post_process_parameter_scan(scan_dir) end elseif occursin("T0.25", d) || occursin("ini_0.25", d) this_input["itime_min"] = 20 + if occursin("cha_2.8", d) + continue + elseif occursin("cha_3.0", d) + continue + end elseif occursin("T0.5", d) || occursin("ini_0.5", d) this_input["itime_min"] = 20 this_input["itime_max"] = 76 + if occursin("cha_2.2", d) + this_input["itime_min"] = 30 + this_input["itime_max"] = 70 + elseif occursin("cha_2.4", d) + continue + elseif occursin("cha_2.6", d) + continue + elseif occursin("cha_2.8", d) + continue + elseif occursin("cha_3.0", d) + continue + elseif occursin("cha_3.2", d) + continue + elseif occursin("cha_3.4", d) + continue + elseif occursin("cha_3.6", d) + continue + elseif occursin("cha_3.8", d) + continue + elseif occursin("cha_4.0", d) + continue + elseif occursin("cha_4.2", d) + continue + elseif occursin("cha_4.4", d) + continue + end elseif occursin("T2", d) || occursin("ini_2.0", d) this_input["itime_min"] = 5 this_input["itime_max"] = 81 @@ -301,22 +369,27 @@ function post_process_parameter_scan(scan_dir) # Can't really get a good fit here. The decay rates of the two modes # are too close, so just get beating for the whole length of the # simulation. + continue elseif occursin("cha_1.8", d) # Can't really get a good fit here. The decay rates of the two modes # are too close, so just get beating for the whole length of the # simulation. + continue elseif occursin("cha_2.1", d) # Can't really get a good fit here. The decay rates of the two modes # are too close, so just get beating for the whole length of the # simulation. + continue elseif occursin("cha_2.4", d) # Can't really get a good fit here. The decay rates of the two modes # are too close, so just get beating for the whole length of the # simulation. + continue elseif occursin("cha_2.7", d) # Can't really get a good fit here. The decay rates of the two modes # are too close, so just get beating for the whole length of the # simulation. + continue elseif occursin("cha_3.0", d) this_input["itime_min"] = 60 elseif occursin("cha_3.3", d) @@ -369,7 +442,13 @@ function post_process_parameter_scan(scan_dir) elseif occursin("T4", d) || occursin("ini_4.0", d) this_input["itime_min"] = 10 this_input["itime_max"] = 65 - if occursin("cha_2.4", d) + if occursin("cha_1.6", d) + continue + elseif occursin("cha_1.8", d) + continue + elseif occursin("cha_2.0", d) + continue + elseif occursin("cha_2.4", d) this_input["itime_min"] = 40 this_input["itime_max"] = 65 elseif occursin("cha_2.8", d) @@ -463,6 +542,14 @@ function post_process_all_scans() post_process_parameter_scan("../../runs/scan_sound-wave_T1/") post_process_parameter_scan("../../runs/scan_sound-wave_T2/") post_process_parameter_scan("../../runs/scan_sound-wave_T4/") + for i ∈ 1:3 + post_process_parameter_scan("../../runs/scan_sound-wave_nratio_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.25_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.5_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T1_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T2_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T4_split$i/") + end #post_process_parameter_scan("../../runs/scan_sound-wave_lowres/") #post_process_parameter_scan("../../runs/scan_sound-wave_T/") diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml deleted file mode 100644 index 08e722542..000000000 --- a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T.toml +++ /dev/null @@ -1,54 +0,0 @@ -combine_outer = ["charge_exchange_frequency"] -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = false -evolve_moments_parallel_flow = false -evolve_moments_parallel_pressure = false -evolve_moments_conservation = true -T_e = 1.0 -initial_density1 = 1.0 -initial_temperature1 = [0.25, 0.5, 1.0, 2.0, 4.0] -initial_density2 = 1.0 -initial_temperature2 = [0.25, 0.5, 1.0, 2.0, 4.0] -z_IC_option1 = "sinusoid" -z_IC_density_amplitude1 = 0.01 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 0.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -z_IC_option2 = "sinusoid" -z_IC_density_amplitude2 = 0.01 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = 0.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2, 6.4, 6.6, 6.8, 7.0, 7.2, 7.4, 7.6, 7.8, 8.0, 8.2, 8.4, 8.6, 8.8, 9.0, 9.2, 9.4, 9.6, 9.8, 10.0, 10.2, 10.4, 10.6, 10.8, 11.0, 11.2, 11.4, 11.6, 11.8, 12.0, 12.2, 12.4, 12.6, 12.8, 13.0, 13.2, 13.4, 13.6, 13.8, 14.0, 14.2, 14.4, 14.6, 14.8, 15.0, 15.2, 15.4, 15.6, 15.8, 16.0, 16.2, 16.4, 16.6, 16.8, 17.0, 17.2, 17.4, 17.6, 17.8, 18.0, 18.2, 18.4, 18.6, 18.8, 19.0, 19.2, 19.4, 19.6, 19.8, 20.0, 20.2, 20.4, 20.6, 20.8, 21.0, 21.2, 21.4, 21.6, 21.8, 22.0, 22.2, 22.4, 22.6, 22.8, 23.0, 23.2, 23.4, 23.6, 23.8, 24.0, 24.2, 24.4, 24.6, 24.8, 25.0] -ionization_frequency = 0.0 -nstep = [1500, 1500, 1500, 800, 6000] -dt = [0.004, 0.00282842712474619, 0.002, 0.001414213562373095, 1.0e-4] -nwrite = 20 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = [9, 9, 9, 9, 17] -z_nelement = [2, 2, 2, 2, 8] -z_bc = "periodic" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 17 -vpa_nelement = [8, 8, 8, 8, 64] #32 -vpa_L = 16.0 #8.0 -vpa_bc = "periodic" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 17 -vz_nelement = [8, 8, 8, 8, 64] #32 -vz_L = 16.0 #8.0 -vz_bc = "periodic" -vz_discretization = "chebyshev_pseudospectral" - -[output] -#binary_format = "netcdf" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split1.toml new file mode 100644 index 000000000..ada88e7a3 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split1.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.25 +initial_density2 = 1.0 +initial_temperature2 = 0.25 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.004 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 4.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 4.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split2.toml new file mode 100644 index 000000000..cc710e4a9 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split2.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.25 +initial_density2 = 1.0 +initial_temperature2 = 0.25 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.004 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 4.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 4.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split3.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split3.toml new file mode 100644 index 000000000..b77f3fbf9 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split3.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.25 +initial_density2 = 1.0 +initial_temperature2 = 0.25 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.004 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split1.toml new file mode 100644 index 000000000..e2e707a64 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split1.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.5 +initial_density2 = 1.0 +initial_temperature2 = 0.5 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.00282842712474619 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 5.65685424949238 # 8/sqrt(2) +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 5.65685424949238 # 8/sqrt(2) +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split2.toml new file mode 100644 index 000000000..1196d8cea --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split2.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.5 +initial_density2 = 1.0 +initial_temperature2 = 0.5 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.00282842712474619 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 5.65685424949238 # 8/sqrt(2) +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 5.65685424949238 # 8/sqrt(2) +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split3.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split3.toml new file mode 100644 index 000000000..616a2b842 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split3.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 0.5 +initial_density2 = 1.0 +initial_temperature2 = 0.5 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4] +ionization_frequency = 0.0 +nstep = 1500 +dt = 0.00282842712474619 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split1.toml new file mode 100644 index 000000000..4d16439b4 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split1.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 2500 +dt = 0.002 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split2.toml new file mode 100644 index 000000000..fd208cb14 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split2.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 2500 +dt = 0.002 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split3.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split3.toml new file mode 100644 index 000000000..34e6712fc --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split3.toml @@ -0,0 +1,51 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 1.0 +initial_density2 = 1.0 +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 2500 +dt = 0.002 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split1.toml new file mode 100644 index 000000000..4270c512b --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split1.toml @@ -0,0 +1,53 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 2.0 +initial_density2 = 1.0 +initial_temperature2 = 2.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6.0, 6.3, 6.6, 6.9, 7.2, 7.5, 7.8, 8.1, 8.4, 8.7] +ionization_frequency = 0.0 +nstep = 1800 +dt = 0.001414213562373095 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 11.313708498984761 # = 8*sqrt(2) +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 11.313708498984761 # = 8*sqrt(2) +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split2.toml new file mode 100644 index 000000000..1ad976017 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split2.toml @@ -0,0 +1,53 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 2.0 +initial_density2 = 1.0 +initial_temperature2 = 2.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6.0, 6.3, 6.6, 6.9, 7.2, 7.5, 7.8, 8.1, 8.4, 8.7] +ionization_frequency = 0.0 +nstep = 1800 +dt = 0.001414213562373095 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 11.313708498984761 # = 8*sqrt(2) +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 11.313708498984761 # = 8*sqrt(2) +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split3.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split3.toml new file mode 100644 index 000000000..3c56a2504 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split3.toml @@ -0,0 +1,53 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 2.0 +initial_density2 = 1.0 +initial_temperature2 = 2.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1, 2.4, 2.7, 3.0, 3.3, 3.6, 3.9, 4.2, 4.5, 4.8, 5.1, 5.4, 5.7, 6.0, 6.3, 6.6, 6.9, 7.2, 7.5, 7.8, 8.1, 8.4, 8.7] +ionization_frequency = 0.0 +nstep = 1800 +dt = 0.001414213562373095 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split1.toml new file mode 100644 index 000000000..832175e8a --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split1.toml @@ -0,0 +1,54 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 4.0 +initial_density2 = 1.0 +initial_temperature2 = 4.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 4.8, 5.2, 5.6, 6.0, 6.4, 6.8, 7.2, 7.6, 8.0, 8.4, 8.8, 9.2, 9.6, 10.0, 10.4, 10.8, 11.2, 11.6, 12.0, 12.4] +ionization_frequency = 0.0 +nstep = 3000 +dt = 1.0e-3 +nwrite = 20 +#nwrite_dfns = 20 #80 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 16.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 16.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split2.toml new file mode 100644 index 000000000..51a469653 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split2.toml @@ -0,0 +1,54 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 4.0 +initial_density2 = 1.0 +initial_temperature2 = 4.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 4.8, 5.2, 5.6, 6.0, 6.4, 6.8, 7.2, 7.6, 8.0, 8.4, 8.8, 9.2, 9.6, 10.0, 10.4, 10.8, 11.2, 11.6, 12.0, 12.4] +ionization_frequency = 0.0 +nstep = 3000 +dt = 1.0e-3 +nwrite = 20 +#nwrite_dfns = 20 #80 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 16.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 16.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split3.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split3.toml new file mode 100644 index 000000000..e809bd269 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split3.toml @@ -0,0 +1,54 @@ +#combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = 1.0 +initial_temperature1 = 4.0 +initial_density2 = 1.0 +initial_temperature2 = 4.0 +z_IC_option1 = "sinusoid" +#z_IC_density_amplitude1 = 0.001 +z_IC_density_amplitude1 = 0.01 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +#z_IC_density_amplitude2 = 0.001 +z_IC_density_amplitude2 = 0.01 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.4, 0.8, 1.2, 1.6, 2.0, 2.4, 2.8, 3.2, 3.6, 4.0, 4.4, 4.8, 5.2, 5.6, 6.0, 6.4, 6.8, 7.2, 7.6, 8.0, 8.4, 8.8, 9.2, 9.6, 10.0, 10.4, 10.8, 11.2, 11.6, 12.0, 12.4] +ionization_frequency = 0.0 +nstep = 3000 +dt = 1.0e-3 +nwrite = 20 +#nwrite_dfns = 20 #80 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 2 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split1.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split1.toml new file mode 100644 index 000000000..d1e1fb0a9 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split1.toml @@ -0,0 +1,51 @@ +combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = false +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = [1.0e-5, 0.5, 1.0, 1.5, 1.99999] +initial_temperature1 = 1.0 +initial_density2 = [1.99999, 1.5, 1.0, 0.5, 1.0e-5] +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 2500 +dt = 2.0e-3 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 4 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split2.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split2.toml new file mode 100644 index 000000000..0c4a9312b --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split2.toml @@ -0,0 +1,51 @@ +combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = false +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = [1.0e-5, 0.5, 1.0, 1.5, 1.99999] +initial_temperature1 = 1.0 +initial_density2 = [1.99999, 1.5, 1.0, 0.5, 1.0e-5] +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 2500 +dt = 2.0e-3 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 4 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split3.toml b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split3.toml new file mode 100644 index 000000000..96120721b --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split3.toml @@ -0,0 +1,51 @@ +combine_outer = ["charge_exchange_frequency"] +n_ion_species = 1 +n_neutral_species = 1 +boltzmann_electron_response = true +evolve_moments_density = true +evolve_moments_parallel_flow = true +evolve_moments_parallel_pressure = true +evolve_moments_conservation = true +T_e = 1.0 +initial_density1 = [1.0e-5, 0.5, 1.0, 1.5, 1.99999] +initial_temperature1 = 1.0 +initial_density2 = [1.99999, 1.5, 1.0, 0.5, 1.0e-5] +initial_temperature2 = 1.0 +z_IC_option1 = "sinusoid" +z_IC_density_amplitude1 = 0.001 +z_IC_density_phase1 = 0.0 +z_IC_upar_amplitude1 = 0.0 +z_IC_upar_phase1 = 0.0 +z_IC_temperature_amplitude1 = 0.0 +z_IC_temperature_phase1 = 0.0 +z_IC_option2 = "sinusoid" +z_IC_density_amplitude2 = 0.001 +z_IC_density_phase2 = 0.0 +z_IC_upar_amplitude2 = 0.0 +z_IC_upar_phase2 = 0.0 +z_IC_temperature_amplitude2 = 0.0 +z_IC_temperature_phase2 = 0.0 +charge_exchange_frequency = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0, 1.2, 1.4, 1.6, 1.8, 2.0, 2.2, 2.4, 2.6, 2.8, 3.0, 3.2, 3.4, 3.6, 3.8, 4.0, 4.2, 4.4, 4.6, 4.8, 5.0, 5.2, 5.4, 5.6, 5.8, 6.0, 6.2] +ionization_frequency = 0.0 +nstep = 2500 +dt = 2.0e-3 +nwrite = 20 +use_semi_lagrange = false +n_rk_stages = 4 +split_operators = false +r_ngrid = 1 +r_nelement = 1 +z_ngrid = 17 +z_nelement = 4 +z_bc = "periodic" +z_discretization = "chebyshev_pseudospectral" +vpa_ngrid = 17 +vpa_nelement = 8 +vpa_L = 8.0 +vpa_bc = "periodic" +vpa_discretization = "chebyshev_pseudospectral" +vz_ngrid = 17 +vz_nelement = 8 +vz_L = 8.0 +vz_bc = "periodic" +vz_discretization = "chebyshev_pseudospectral" From e9d5508b2874c3e3cfd27ff4db3f9fa1b43e875e Mon Sep 17 00:00:00 2001 From: John Omotani Date: Fri, 25 Aug 2023 17:59:12 +0100 Subject: [PATCH 44/71] eftc2023-jto: LaTeXify all plot labels --- .../plot_dispersion_relation.jl | 24 +++++++++---------- 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl index b934a786a..08d69670a 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl @@ -367,11 +367,11 @@ function plot_n_scan() legend_data_list = [] legend_label_list = [] - for (ni, nn, label) ∈ ((2.0, 0.0, "1"), - (1.5, 0.5, "3/4"), - (1.0, 1.0, "1/2"), - (0.5, 1.5, "1/4"), - (0.0, 2.0, "0"), + for (ni, nn, label) ∈ ((2.0, 0.0, L"1"), + (1.5, 0.5, L"3/4"), + (1.0, 1.0, L"1/2"), + (0.5, 1.5, L"1/4"), + (0.0, 2.0, L"0"), ) sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) sims_split1 = Tuple(i for i ∈ sim_inputs_split1 if isapprox(i["initial_density1"], ni, atol=2.0e-5)) @@ -399,7 +399,7 @@ function plot_n_scan() # Add marker types to the legend push!(legend_data_list, MarkerElement(marker=marker1, color=:black)) - push!(legend_label_list, "full-f") + push!(legend_label_list, L"$$full-f") push!(legend_data_list, MarkerElement(marker=marker2, color=:black)) push!(legend_label_list, L"evolving $n$") push!(legend_data_list, MarkerElement(marker=marker3, color=:black)) @@ -460,11 +460,11 @@ function plot_T_scan() legend_data_list = [] legend_label_list = [] - for (Th, label, sims) ∈ ((0.25, "1/4", sim_inputs025), - (0.5, "1/2", sim_inputs05), - (1.0, "1", sim_inputs1), - (2.0, "2", sim_inputs2), - (4.0, "4", sim_inputs4), + for (Th, label, sims) ∈ ((0.25, L"1/4", sim_inputs025), + (0.5, L"1/2", sim_inputs05), + (1.0, L"1", sim_inputs1), + (2.0, L"2", sim_inputs2), + (4.0, L"4", sim_inputs4), ) p_omega, p_gamma, Ri_positive, gamma_positive = @@ -488,7 +488,7 @@ function plot_T_scan() # Add marker types to the legend push!(legend_data_list, MarkerElement(marker=marker1, color=:black)) - push!(legend_label_list, "full-f") + push!(legend_label_list, L"$$full-f") push!(legend_data_list, MarkerElement(marker=marker2, color=:black)) push!(legend_label_list, L"evolving $n$") push!(legend_data_list, MarkerElement(marker=marker3, color=:black)) From 1435b490767e1a44b73a97f5878bd5389bfd4fd3 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 14 Sep 2023 11:10:21 +0100 Subject: [PATCH 45/71] eftc2023-jto: Move sound-wave sim/analysis stuff to subdirectory --- .../{ => sound-wave}/Project.toml | 0 .../{ => sound-wave}/README.md | 0 .../plot_dispersion_relation.jl | 2 +- .../{ => sound-wave}/post_process_scans.jl | 24 +++++++++---------- .../scan_sound-wave_T0.25.toml | 0 .../scan_sound-wave_T0.25_split1.toml | 0 .../scan_sound-wave_T0.25_split2.toml | 0 .../scan_sound-wave_T0.25_split3.toml | 0 .../scan_sound-wave_T0.5.toml | 0 .../scan_sound-wave_T0.5_split1.toml | 0 .../scan_sound-wave_T0.5_split2.toml | 0 .../scan_sound-wave_T0.5_split3.toml | 0 .../{ => sound-wave}/scan_sound-wave_T1.toml | 0 .../scan_sound-wave_T1_split1.toml | 0 .../scan_sound-wave_T1_split2.toml | 0 .../scan_sound-wave_T1_split3.toml | 0 .../{ => sound-wave}/scan_sound-wave_T2.toml | 0 .../scan_sound-wave_T2_split1.toml | 0 .../scan_sound-wave_T2_split2.toml | 0 .../scan_sound-wave_T2_split3.toml | 0 .../{ => sound-wave}/scan_sound-wave_T4.toml | 0 .../scan_sound-wave_T4_split1.toml | 0 .../scan_sound-wave_T4_split2.toml | 0 .../scan_sound-wave_T4_split3.toml | 0 .../scan_sound-wave_nratio.toml | 0 .../scan_sound-wave_nratio_split1.toml | 0 .../scan_sound-wave_nratio_split2.toml | 0 .../scan_sound-wave_nratio_split3.toml | 0 28 files changed, 13 insertions(+), 13 deletions(-) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/Project.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/README.md (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/plot_dispersion_relation.jl (99%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/post_process_scans.jl (96%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.25.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.25_split1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.25_split2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.25_split3.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.5.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.5_split1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.5_split2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T0.5_split3.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T1_split1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T1_split2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T1_split3.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T2_split1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T2_split2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T2_split3.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T4.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T4_split1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T4_split2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_T4_split3.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_nratio.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_nratio_split1.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_nratio_split2.toml (100%) rename publication_inputs/2023_EFTC_jto-poster/{ => sound-wave}/scan_sound-wave_nratio_split3.toml (100%) diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/Project.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/Project.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/Project.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/README.md b/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/README.md rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md diff --git a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl similarity index 99% rename from publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl index 08d69670a..5285593b4 100644 --- a/publication_inputs/2023_EFTC_jto-poster/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl @@ -284,7 +284,7 @@ end function get_sim_omega_gamma(sim) try s = nothing - open(joinpath("..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt"), + open(joinpath("..", "..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt"), "r") do io s = split(readline(io)) end diff --git a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl similarity index 96% rename from publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl index 655ead42c..58bd03e1f 100644 --- a/publication_inputs/2023_EFTC_jto-poster/post_process_scans.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl @@ -536,19 +536,19 @@ function post_process_parameter_scan(scan_dir) end function post_process_all_scans() - post_process_parameter_scan("../../runs/scan_sound-wave_nratio/") - post_process_parameter_scan("../../runs/scan_sound-wave_T0.25/") - post_process_parameter_scan("../../runs/scan_sound-wave_T0.5/") - post_process_parameter_scan("../../runs/scan_sound-wave_T1/") - post_process_parameter_scan("../../runs/scan_sound-wave_T2/") - post_process_parameter_scan("../../runs/scan_sound-wave_T4/") + post_process_parameter_scan("../../../runs/scan_sound-wave_nratio/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T0.25/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T0.5/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T1/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T2/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T4/") for i ∈ 1:3 - post_process_parameter_scan("../../runs/scan_sound-wave_nratio_split$i/") - post_process_parameter_scan("../../runs/scan_sound-wave_T0.25_split$i/") - post_process_parameter_scan("../../runs/scan_sound-wave_T0.5_split$i/") - post_process_parameter_scan("../../runs/scan_sound-wave_T1_split$i/") - post_process_parameter_scan("../../runs/scan_sound-wave_T2_split$i/") - post_process_parameter_scan("../../runs/scan_sound-wave_T4_split$i/") + post_process_parameter_scan("../../../runs/scan_sound-wave_nratio_split$i/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T0.25_split$i/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T0.5_split$i/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T1_split$i/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T2_split$i/") + post_process_parameter_scan("../../../runs/scan_sound-wave_T4_split$i/") end #post_process_parameter_scan("../../runs/scan_sound-wave_lowres/") diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25_split1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25_split1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25_split2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25_split2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25_split3.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.25_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.25_split3.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5_split1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5_split1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5_split2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5_split2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5_split3.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T0.5_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T0.5_split3.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1_split1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1_split1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1_split2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1_split2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1_split3.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T1_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T1_split3.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2_split1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2_split1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2_split2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2_split2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2_split3.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T2_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T2_split3.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4_split1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4_split1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4_split2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4_split2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4_split3.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_T4_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_T4_split3.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split1.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split1.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split2.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split2.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split3.toml similarity index 100% rename from publication_inputs/2023_EFTC_jto-poster/scan_sound-wave_nratio_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split3.toml From 68b8fd9d5c14e2d59f09ee8bc1ceae1aff14e34e Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 14 Sep 2023 11:22:15 +0100 Subject: [PATCH 46/71] eftc2023-jto: Save plots as png for poster --- .../sound-wave/plot_dispersion_relation.jl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl index 5285593b4..a6c99d9a9 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl @@ -10,6 +10,10 @@ using PlasmaDispersionFunctions using moment_kinetics.parameter_scans +const ext = ".png" + +CairoMakie.activate!(; px_per_unit=4) + """ Equation (4.13) from Parra et al. "1D drift kinetic models with periodic boundary conditions" (TN-01) @@ -410,8 +414,8 @@ function plot_n_scan() Legend(fig_omega[1,2], legend_data_list, legend_label_list) Legend(fig_gamma[1,2], legend_data_list, legend_label_list) - save("n_scan_omega.pdf", fig_omega) - save("n_scan_gamma.pdf", fig_gamma) + save("n_scan_omega$ext", fig_omega) + save("n_scan_gamma$ext", fig_gamma) return nothing end @@ -499,8 +503,8 @@ function plot_T_scan() Legend(fig_omega[1,2], legend_data_list, legend_label_list) Legend(fig_gamma[1,2], legend_data_list, legend_label_list) - save("T_scan_omega.pdf", fig_omega) - save("T_scan_gamma.pdf", fig_gamma) + save("T_scan_omega$ext", fig_omega) + save("T_scan_gamma$ext", fig_gamma) return nothing end From f561f61d69b97c30ed1c787ee7265dd2d5e16a72 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 18 Sep 2023 18:11:56 +0100 Subject: [PATCH 47/71] eftc2023-jto: Tweak layout, font-size for sound-wave plots --- .../sound-wave/plot_dispersion_relation.jl | 117 +++++++++--------- 1 file changed, 59 insertions(+), 58 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl index a6c99d9a9..b869dccd2 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl @@ -13,6 +13,7 @@ using moment_kinetics.parameter_scans const ext = ".png" CairoMakie.activate!(; px_per_unit=4) +update_theme!(fontsize=24) """ Equation (4.13) from Parra et al. "1D drift kinetic models with periodic @@ -351,16 +352,16 @@ function plot_n_scan() Th = 1.0 Te = 1.0 - fig_omega = Figure() - ax_omega = Axis(fig_omega[1,1], - xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", - ylabel=L"\omega/|k_\parallel|v_\mathrm{th}") + fig = Figure(; resolution=(1200, 600)) - fig_gamma = Figure() - ax_gamma = Axis(fig_gamma[1,1], + ax_gamma = Axis(fig[1,1], xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", ylabel=L"\gamma/|k_\parallel|v_\mathrm{th}") + ax_omega = Axis(fig[1,2], + xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", + ylabel=L"\omega/|k_\parallel|v_\mathrm{th}") + orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) sim_inputs = get_scan_inputs("scan_sound-wave_nratio.toml") @@ -369,13 +370,15 @@ function plot_n_scan() sim_inputs_split3 = get_scan_inputs("scan_sound-wave_nratio_split3.toml") redirect_stdout(orig_stdout) - legend_data_list = [] - legend_label_list = [] - for (ni, nn, label) ∈ ((2.0, 0.0, L"1"), - (1.5, 0.5, L"3/4"), - (1.0, 1.0, L"1/2"), - (0.5, 1.5, L"1/4"), - (0.0, 2.0, L"0"), + legend_data_list1 = [] + legend_label_list1 = [] + legend_data_list2 = [] + legend_label_list2 = [] + for (ni, nn, label) ∈ ((2.0, 0.0, L"n_i / n_\mathrm{tot} = 1"), + (1.5, 0.5, L"n_i / n_\mathrm{tot} = 3/4"), + (1.0, 1.0, L"n_i / n_\mathrm{tot} = 1/2"), + (0.5, 1.5, L"n_i / n_\mathrm{tot} = 1/4"), + (0.0, 2.0, L"n_i / n_\mathrm{tot} = 0"), ) sims = Tuple(i for i ∈ sim_inputs if isapprox(i["initial_density1"], ni, atol=2.0e-5)) sims_split1 = Tuple(i for i ∈ sim_inputs_split1 if isapprox(i["initial_density1"], ni, atol=2.0e-5)) @@ -397,25 +400,23 @@ function plot_n_scan() #vlines!(ax_gamma, (ni + nn) * crossing_x / (kpar*vth), linestyle=:dot, color=p_gamma.color) end - push!(legend_data_list, [p_omega, s_omega, s_omega1, s_omega2, s_omega3]) - push!(legend_label_list, label) + push!(legend_data_list1, [p_omega, s_omega, s_omega1, s_omega2, s_omega3]) + push!(legend_label_list1, label) end # Add marker types to the legend - push!(legend_data_list, MarkerElement(marker=marker1, color=:black)) - push!(legend_label_list, L"$$full-f") - push!(legend_data_list, MarkerElement(marker=marker2, color=:black)) - push!(legend_label_list, L"evolving $n$") - push!(legend_data_list, MarkerElement(marker=marker3, color=:black)) - push!(legend_label_list, L"evolving $n,\,u_\parallel$") - push!(legend_data_list, MarkerElement(marker=marker4, color=:black)) - push!(legend_label_list, L"evolving $n,\,u_\parallel,\,p_\parallel$") + push!(legend_data_list2, MarkerElement(marker=marker1, color=:black)) + push!(legend_label_list2, L"$$full-f") + push!(legend_data_list2, MarkerElement(marker=marker2, color=:black)) + push!(legend_label_list2, L"evolving $n$") + push!(legend_data_list2, MarkerElement(marker=marker3, color=:black)) + push!(legend_label_list2, L"evolving $n,\,u_\parallel$") + push!(legend_data_list2, MarkerElement(marker=marker4, color=:black)) + push!(legend_label_list2, L"evolving $n,\,u_\parallel,\,p_\parallel$") - Legend(fig_omega[1,2], legend_data_list, legend_label_list) - Legend(fig_gamma[1,2], legend_data_list, legend_label_list) + Legend(fig[2,1:2], [legend_data_list1, legend_data_list2], [legend_label_list1, legend_label_list2], ["", ""]; tellheight=true, tellwidth=false, nbanks=5) - save("n_scan_omega$ext", fig_omega) - save("n_scan_gamma$ext", fig_gamma) + save("n_scan$ext", fig) return nothing end @@ -426,17 +427,17 @@ function plot_T_scan() nn = 1.0 Te = 1.0 - fig_omega = Figure() - ax_omega = Axis(fig_omega[1,1], - xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", - ylabel=L"\omega/|k_\parallel|v_\mathrm{th}", - limits=(-.2, 2.2, 0.0, 2.2)) + fig = Figure(; resolution=(1200, 600)) - fig_gamma = Figure() - ax_gamma = Axis(fig_gamma[1,1], + ax_gamma = Axis(fig[1,1], xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", ylabel=L"\gamma/|k_\parallel|v_\mathrm{th}", - limits=(-.2, 2.2, -2.5, 0.0)) + limits=(-.1, 2.1, -2.5, 0.0)) + + ax_omega = Axis(fig[1,2], + xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", + ylabel=L"\omega/|k_\parallel|v_\mathrm{th}", + limits=(-.1, 2.1, -0.1, 2.1)) orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) @@ -462,13 +463,15 @@ function plot_T_scan() get_scan_inputs("scan_sound-wave_T4_split3.toml")) redirect_stdout(orig_stdout) - legend_data_list = [] - legend_label_list = [] - for (Th, label, sims) ∈ ((0.25, L"1/4", sim_inputs025), - (0.5, L"1/2", sim_inputs05), - (1.0, L"1", sim_inputs1), - (2.0, L"2", sim_inputs2), - (4.0, L"4", sim_inputs4), + legend_data_list1 = [] + legend_label_list1 = [] + legend_data_list2 = [] + legend_label_list2 = [] + for (Th, label, sims) ∈ ((0.25, L"T/T_e = 1/4", sim_inputs025), + (0.5, L"T/T_e = 1/2", sim_inputs05), + (1.0, L"T/T_e = 1", sim_inputs1), + (2.0, L"T/T_e = 2", sim_inputs2), + (4.0, L"T/T_e = 4", sim_inputs4), ) p_omega, p_gamma, Ri_positive, gamma_positive = @@ -486,25 +489,23 @@ function plot_T_scan() #vlines!(ax_gamma, (ni + nn) * crossing_x / (kpar * vth), linestyle=:dot, color=p_gamma.color) end - push!(legend_data_list, [p_omega, s_omega, s_omega1, s_omega2, s_omega3]) - push!(legend_label_list, label) + push!(legend_data_list1, [p_omega, s_omega, s_omega1, s_omega2, s_omega3]) + push!(legend_label_list1, label) end # Add marker types to the legend - push!(legend_data_list, MarkerElement(marker=marker1, color=:black)) - push!(legend_label_list, L"$$full-f") - push!(legend_data_list, MarkerElement(marker=marker2, color=:black)) - push!(legend_label_list, L"evolving $n$") - push!(legend_data_list, MarkerElement(marker=marker3, color=:black)) - push!(legend_label_list, L"evolving $n,\,u_\parallel$") - push!(legend_data_list, MarkerElement(marker=marker4, color=:black)) - push!(legend_label_list, L"evolving $n,\,u_\parallel,\,p_\parallel$") - - Legend(fig_omega[1,2], legend_data_list, legend_label_list) - Legend(fig_gamma[1,2], legend_data_list, legend_label_list) - - save("T_scan_omega$ext", fig_omega) - save("T_scan_gamma$ext", fig_gamma) + push!(legend_data_list2, MarkerElement(marker=marker1, color=:black)) + push!(legend_label_list2, L"$$full-f") + push!(legend_data_list2, MarkerElement(marker=marker2, color=:black)) + push!(legend_label_list2, L"evolving $n$") + push!(legend_data_list2, MarkerElement(marker=marker3, color=:black)) + push!(legend_label_list2, L"evolving $n,\,u_\parallel$") + push!(legend_data_list2, MarkerElement(marker=marker4, color=:black)) + push!(legend_label_list2, L"evolving $n,\,u_\parallel,\,p_\parallel$") + + Legend(fig[2,1:2], [legend_data_list1, legend_data_list2], [legend_label_list1, legend_label_list2], ["", ""]; tellheight=true, tellwidth=false, nbanks=5) + + save("T_scan$ext", fig) return nothing end From 88d53bf26a06da0d2b7eefd82c92291da8145516 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Mon, 18 Sep 2023 18:12:34 +0100 Subject: [PATCH 48/71] eftc2023-jto: Start tweaking layout, font-size for wall-bc plots --- .../2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index b816ffdb8..9ceb00a18 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -8,12 +8,18 @@ function main() ext = ".png" CairoMakie.activate!(; px_per_unit=4) + update_theme!(fontsize=24) #run_dir = "runs/wall-bc_recyclefraction0.5" #run_dir = "runs/wall-bc_recyclefraction0.5_split3" - run_dirs = ("runs/wall-bc_volumerecycle", "runs/wall-bc_volumerecycle_split1", - "runs/wall-bc_volumerecycle_split2", "runs/wall-bc_volumerecycle_split3") + #run_dirs = ("runs/wall-bc_volumerecycle", "runs/wall-bc_volumerecycle_split1", + # "runs/wall-bc_volumerecycle_split2", "runs/wall-bc_volumerecycle_split3") + run_dirs = ("runs/wall-bc_recyclefraction0.5", + "runs/wall-bc_recyclefraction0.5_split1", + "runs/wall-bc_recyclefraction0.5_split2", + "runs/wall-bc_recyclefraction0.5_split3") + prefixes = ("full-f", "split1", "split2", "split3") short_labels = (L"full-f$$", L"n", L"n,u_\parallel", L"n,u_\parallel,p_\parallel") subtitles = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", L"evolving-$n,u_\parallel,p_\parallel$") @@ -51,8 +57,8 @@ function main() #plot_vs_vz_z(run_info_dfns, "f_neutral"; title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z") ion_cbar_max = 3 - neutral_cbar_max = 5 - lims = (-10.0, 10.0, -0.5, 0.5) + neutral_cbar_max = 8 + lims = (-12.0, 12.0, -0.5, 0.5) axis_args = Dict(:limits=>lims, :xgridvisible=>false, :ygridvisible=>false) #plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) #plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) From e349adbb062dac84e80c25969c57dfa008065f75 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 20 Sep 2023 15:27:20 +0100 Subject: [PATCH 49/71] eftc2023-jto: Update so all plot scripts are run from 2023_EFTC_jto-poster subdir --- .../sound-wave/Project.toml | 6 -- .../sound-wave/plot_dispersion_relation.jl | 58 ++++++++++--------- .../sound-wave/post_process_scans.jl | 24 ++++---- .../wall-bc/wall-bc-plots.jl | 11 ++-- 4 files changed, 49 insertions(+), 50 deletions(-) delete mode 100644 publication_inputs/2023_EFTC_jto-poster/sound-wave/Project.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/Project.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/Project.toml deleted file mode 100644 index ca8530e1e..000000000 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/Project.toml +++ /dev/null @@ -1,6 +0,0 @@ -[deps] -LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -Optim = "429524aa-4258-5aef-a3af-852621145aeb" -PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" -Roots = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" -moment_kinetics = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl index b869dccd2..a09a88e7e 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl @@ -11,6 +11,7 @@ using PlasmaDispersionFunctions using moment_kinetics.parameter_scans const ext = ".png" +const plot_dir = "sound-wave" CairoMakie.activate!(; px_per_unit=4) update_theme!(fontsize=24) @@ -289,7 +290,7 @@ end function get_sim_omega_gamma(sim) try s = nothing - open(joinpath("..", "..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt"), + open(joinpath("..", "..", sim["base_directory"], sim["run_name"], basename(sim["run_name"]) * ".frequency_fit.txt"), "r") do io s = split(readline(io)) end @@ -364,10 +365,13 @@ function plot_n_scan() orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) - sim_inputs = get_scan_inputs("scan_sound-wave_nratio.toml") - sim_inputs_split1 = get_scan_inputs("scan_sound-wave_nratio_split1.toml") - sim_inputs_split2 = get_scan_inputs("scan_sound-wave_nratio_split2.toml") - sim_inputs_split3 = get_scan_inputs("scan_sound-wave_nratio_split3.toml") + sim_inputs = get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_nratio.toml")) + sim_inputs_split1 = get_scan_inputs(joinpath(plot_dir, + "scan_sound-wave_nratio_split1.toml")) + sim_inputs_split2 = get_scan_inputs(joinpath(plot_dir, + "scan_sound-wave_nratio_split2.toml")) + sim_inputs_split3 = get_scan_inputs(joinpath(plot_dir, + "scan_sound-wave_nratio_split3.toml")) redirect_stdout(orig_stdout) legend_data_list1 = [] @@ -416,7 +420,7 @@ function plot_n_scan() Legend(fig[2,1:2], [legend_data_list1, legend_data_list2], [legend_label_list1, legend_label_list2], ["", ""]; tellheight=true, tellwidth=false, nbanks=5) - save("n_scan$ext", fig) + save(joinpath(plot_dir, "n_scan$ext"), fig) return nothing end @@ -441,26 +445,26 @@ function plot_T_scan() orig_stdout = stdout redirect_stdout(open("/dev/null", "w")) - sim_inputs025 = (get_scan_inputs("scan_sound-wave_T0.25.toml"), - get_scan_inputs("scan_sound-wave_T0.25_split1.toml"), - get_scan_inputs("scan_sound-wave_T0.25_split2.toml"), - get_scan_inputs("scan_sound-wave_T0.25_split3.toml")) - sim_inputs05 = (get_scan_inputs("scan_sound-wave_T0.5.toml"), - get_scan_inputs("scan_sound-wave_T0.5_split1.toml"), - get_scan_inputs("scan_sound-wave_T0.5_split2.toml"), - get_scan_inputs("scan_sound-wave_T0.5_split3.toml")) - sim_inputs1 = (get_scan_inputs("scan_sound-wave_T1.toml"), - get_scan_inputs("scan_sound-wave_T1_split1.toml"), - get_scan_inputs("scan_sound-wave_T1_split2.toml"), - get_scan_inputs("scan_sound-wave_T1_split3.toml")) - sim_inputs2 = (get_scan_inputs("scan_sound-wave_T2.toml"), - get_scan_inputs("scan_sound-wave_T2_split1.toml"), - get_scan_inputs("scan_sound-wave_T2_split2.toml"), - get_scan_inputs("scan_sound-wave_T2_split3.toml")) - sim_inputs4 = (get_scan_inputs("scan_sound-wave_T4.toml"), - get_scan_inputs("scan_sound-wave_T4_split1.toml"), - get_scan_inputs("scan_sound-wave_T4_split2.toml"), - get_scan_inputs("scan_sound-wave_T4_split3.toml")) + sim_inputs025 = (get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.25.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.25_split1.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.25_split2.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.25_split3.toml"))) + sim_inputs05 = (get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.5.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.5_split1.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.5_split2.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T0.5_split3.toml"))) + sim_inputs1 = (get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T1.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T1_split1.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T1_split2.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T1_split3.toml"))) + sim_inputs2 = (get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T2.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T2_split1.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T2_split2.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T2_split3.toml"))) + sim_inputs4 = (get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T4.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T4_split1.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T4_split2.toml")), + get_scan_inputs(joinpath(plot_dir, "scan_sound-wave_T4_split3.toml"))) redirect_stdout(orig_stdout) legend_data_list1 = [] @@ -505,7 +509,7 @@ function plot_T_scan() Legend(fig[2,1:2], [legend_data_list1, legend_data_list2], [legend_label_list1, legend_label_list2], ["", ""]; tellheight=true, tellwidth=false, nbanks=5) - save("T_scan$ext", fig) + save(joinpath(plot_dir, "T_scan$ext"), fig) return nothing end diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl index 58bd03e1f..655ead42c 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/post_process_scans.jl @@ -536,19 +536,19 @@ function post_process_parameter_scan(scan_dir) end function post_process_all_scans() - post_process_parameter_scan("../../../runs/scan_sound-wave_nratio/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T0.25/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T0.5/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T1/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T2/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T4/") + post_process_parameter_scan("../../runs/scan_sound-wave_nratio/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.25/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.5/") + post_process_parameter_scan("../../runs/scan_sound-wave_T1/") + post_process_parameter_scan("../../runs/scan_sound-wave_T2/") + post_process_parameter_scan("../../runs/scan_sound-wave_T4/") for i ∈ 1:3 - post_process_parameter_scan("../../../runs/scan_sound-wave_nratio_split$i/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T0.25_split$i/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T0.5_split$i/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T1_split$i/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T2_split$i/") - post_process_parameter_scan("../../../runs/scan_sound-wave_T4_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_nratio_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.25_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T0.5_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T1_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T2_split$i/") + post_process_parameter_scan("../../runs/scan_sound-wave_T4_split$i/") end #post_process_parameter_scan("../../runs/scan_sound-wave_lowres/") diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index 9ceb00a18..4f900d23d 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -4,7 +4,7 @@ using LaTeXStrings using moment_kinetics.makie_post_processing function main() - output_dir = "publication_inputs/2023_EFTC_jto-poster/wall-bc/" + output_dir = "wall-bc" ext = ".png" CairoMakie.activate!(; px_per_unit=4) @@ -15,10 +15,11 @@ function main() #run_dirs = ("runs/wall-bc_volumerecycle", "runs/wall-bc_volumerecycle_split1", # "runs/wall-bc_volumerecycle_split2", "runs/wall-bc_volumerecycle_split3") - run_dirs = ("runs/wall-bc_recyclefraction0.5", - "runs/wall-bc_recyclefraction0.5_split1", - "runs/wall-bc_recyclefraction0.5_split2", - "runs/wall-bc_recyclefraction0.5_split3") + run_dirs = ("../../runs/wall-bc_recyclefraction0.5", + "../../runs/wall-bc_recyclefraction0.5_split1", + "../../runs/wall-bc_recyclefraction0.5_split2", + "../../runs/wall-bc_recyclefraction0.5_split3", + ) prefixes = ("full-f", "split1", "split2", "split3") short_labels = (L"full-f$$", L"n", L"n,u_\parallel", L"n,u_\parallel,p_\parallel") From 3c6cd0957c6d6c84f125eeb1f9577f4cb4cbf05b Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 20 Sep 2023 15:28:22 +0100 Subject: [PATCH 50/71] eftc2023-jto: Use LaTeX fonts for axis labels, etc. in plot_dispersion_relation.jl --- .../sound-wave/plot_dispersion_relation.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl index a09a88e7e..53fbffd43 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl @@ -3,6 +3,7 @@ using CairoMakie using DelimitedFiles using LaTeXStrings +using MathTeXEngine using Optim using SpecialFunctions @@ -14,7 +15,9 @@ const ext = ".png" const plot_dir = "sound-wave" CairoMakie.activate!(; px_per_unit=4) -update_theme!(fontsize=24) +update_theme!(fontsize=24, fonts=(; regular=texfont(:text), bold=texfont(:bold), + italic=texfont(:italic), + bold_italic=texfont(:bolditalic))) """ Equation (4.13) from Parra et al. "1D drift kinetic models with periodic From 650fd031c0f69804ca0a6b16c3b8a48cccfd5037 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 20 Sep 2023 15:28:58 +0100 Subject: [PATCH 51/71] eftc2023-jto: Use LaTeX fonts for axis labels, etc. in wall-bc-plots.jl --- .../2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index 4f900d23d..75a44e86a 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -1,5 +1,6 @@ using CairoMakie using LaTeXStrings +using MathTeXEngine using moment_kinetics.makie_post_processing @@ -8,7 +9,9 @@ function main() ext = ".png" CairoMakie.activate!(; px_per_unit=4) - update_theme!(fontsize=24) + update_theme!(fontsize=24, fonts=(; regular=texfont(:text), bold=texfont(:bold), + italic=texfont(:italic), + bold_italic=texfont(:bolditalic))) #run_dir = "runs/wall-bc_recyclefraction0.5" #run_dir = "runs/wall-bc_recyclefraction0.5_split3" From 014150ffedd7187476a167b9cec21973da3f955a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 20 Sep 2023 15:29:44 +0100 Subject: [PATCH 52/71] eftc2023-jto: Better layout, legends, etc. for wall-bc-plots.jl --- .../wall-bc/wall-bc-plots.jl | 103 ++++++++++++------ 1 file changed, 67 insertions(+), 36 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index 75a44e86a..47853d1d4 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -25,8 +25,10 @@ function main() ) prefixes = ("full-f", "split1", "split2", "split3") - short_labels = (L"full-f$$", L"n", L"n,u_\parallel", L"n,u_\parallel,p_\parallel") - subtitles = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", L"evolving-$n,u_\parallel,p_\parallel$") + short_labels = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", + L"evolving-$n,u_\parallel,p_\parallel$") + #subtitles = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", + # L"evolving-$n,u_\parallel,p_\parallel$") run_info = Tuple(get_run_info(d; itime_min=-1) for d ∈ run_dirs) run_info_dfns = Tuple(get_run_info(d; itime_min=-1, dfns=true) for d ∈ run_dirs) @@ -34,12 +36,14 @@ function main() joinpath(output_dir, "post_processing_input_eftc2023.toml"), run_info_moments=run_info, run_info_dfns=run_info_dfns) - for (var_names, ylabel) ∈ ((("density", "density_neutral"), L"n"), - (("parallel_flow", "uz_neutral"), L"u_\parallel"), - (("temperature", "temperature_neutral"), L"T")) - local fig, ax = get_1d_ax(xlabel=L"z", ylabel=ylabel) - for (ri, label1, linestyle) ∈ zip(run_info, - short_labels, + fig, axes = get_1d_ax(3; xlabel=L"z", + subtitles=(L"density$$", L"parallel flow$$", L"temperature$$"), + resolution=(1200, 400)) + for ((var_names, ylabel), ax) ∈ zip(((("density", "density_neutral"), L"n"), + (("parallel_flow", "uz_neutral"), L"u_\parallel"), + (("temperature", "temperature_neutral"), L"T")), + axes) + for (ri, label1, linestyle) ∈ zip(run_info, short_labels, (nothing, :dash, :dashdot, :dot)) for (var_name, label2) ∈ zip(var_names, ("ion", "neutral")) if var_name == "temperature" @@ -49,13 +53,13 @@ function main() else data = nothing end - plot_vs_z(ri, var_name; ax=ax, data=data, + plot_vs_z(ri, var_name; ax=ax, data=data, ylabel=ylabel, label=LaTeXString(label1*" "*label2), linestyle=linestyle) end end - put_legend_below(fig, ax; orientation=:horizontal, nbanks=2) - save(joinpath(output_dir, var_names[1] * ext), fig) end + Legend(fig[2, 1], axes[1]; tellheight=true, tellwidth=false, orientation=:horizontal, nbanks=2) + save(joinpath(output_dir, "moments" * ext), fig) #plot_vs_vpa_z(run_info_dfns, "f"; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z") #plot_vs_vz_z(run_info_dfns, "f_neutral"; title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z") @@ -63,37 +67,64 @@ function main() ion_cbar_max = 3 neutral_cbar_max = 8 lims = (-12.0, 12.0, -0.5, 0.5) - axis_args = Dict(:limits=>lims, :xgridvisible=>false, :ygridvisible=>false) + axis_args = Dict(:limits=>lims, :xgridvisible=>false, :ygridvisible=>false, :xticks=>-10:5:10) #plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "f_ion$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) #plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "f_neutral$ext"), xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(0, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) #plot_f_unnorm_vs_vpa_z(run_info_dfns; title=L"f_i", outfile=joinpath(output_dir, "logf_ion$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, ion_cbar_max), subtitles=subtitles, axis_args=axis_args) #plot_f_unnorm_vs_vpa_z(run_info_dfns; neutral=true, title=L"f_n", outfile=joinpath(output_dir, "logf_neutral$ext"), transform=positive_or_nan, colorscale=log10, xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, colorrange=(1e-16, neutral_cbar_max), subtitles=subtitles, axis_args=axis_args) - for (ri, p, st) ∈ zip(run_info_dfns, prefixes, subtitles) - plot_f_unnorm_vs_vpa_z(ri; - outfile=joinpath(output_dir, "$(p)_f_ion$ext"), - xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, - colorrange=(0, ion_cbar_max), title=st, - axis_args=axis_args) - plot_f_unnorm_vs_vpa_z(ri; neutral=true, - outfile=joinpath(output_dir, "$(p)_f_neutral$ext"), - xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, - colorrange=(0, neutral_cbar_max), title=st, - axis_args=axis_args) - - plot_f_unnorm_vs_vpa_z(ri; - outfile=joinpath(output_dir, "$(p)_logf_ion$ext"), - transform=positive_or_nan, colorscale=log10, - xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, - colorrange=(1e-16, ion_cbar_max), title=st, - axis_args=axis_args) - plot_f_unnorm_vs_vpa_z(ri; neutral=true, - outfile=joinpath(output_dir, "$(p)_logf_neutral$ext"), - transform=positive_or_nan, colorscale=log10, - xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, - colorrange=(1e-16, neutral_cbar_max), title=st, - axis_args=axis_args) + + fig = Figure(resolution=(1200, 500)) + + # Make column headings + for (i, st) ∈ enumerate(short_labels) + Label(fig[1, i], st, tellwidth=false) + end + + axes_ion = [Axis(fig[2,i]; axis_args...) for i ∈ 1:4] + axes_neutral = [Axis(fig[3,i]; axis_args...) for i ∈ 1:4] + hm_ion = nothing + hm_neutral = nothing + for (ri, p, ax_ion, ax_neutral) ∈ zip(run_info_dfns, prefixes, axes_ion, axes_neutral) + hm_ion = plot_f_unnorm_vs_vpa_z(ri; xlabel=L"v_\parallel", ylabel=L"z", + rasterize=8.0, colorrange=(0, ion_cbar_max), + ax=ax_ion, title="") + hm_neutral = plot_f_unnorm_vs_vpa_z(ri; neutral=true, xlabel=L"v_\parallel", + ylabel=L"z", rasterize=8.0, + colorrange=(0, neutral_cbar_max), + ax=ax_neutral, title="") + + #plot_f_unnorm_vs_vpa_z(ri; + # outfile=joinpath(output_dir, "$(p)_logf_ion$ext"), + # transform=positive_or_nan, colorscale=log10, + # xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, + # colorrange=(1e-16, ion_cbar_max), title=st, + # axis_args=axis_args) + #plot_f_unnorm_vs_vpa_z(ri; neutral=true, + # outfile=joinpath(output_dir, "$(p)_logf_neutral$ext"), + # transform=positive_or_nan, colorscale=log10, + # xlabel=L"v_\parallel", ylabel=L"z", rasterize=4.0, + # colorrange=(1e-16, neutral_cbar_max), title=st, + # axis_args=axis_args) + end + + for ax ∈ axes_ion + hidexdecorations!(ax) + end + for ax ∈ axes_ion[2:end] + hideydecorations!(ax) + end + for ax ∈ axes_neutral[2:end] + hideydecorations!(ax) end + + Label(fig[2,0], L"ion$$", rotation=π/2, tellheight=false) + Label(fig[3,0], L"neutral$$", rotation=π/2, tellheight=false) + + Colorbar(fig[2, end+1], hm_ion) + Colorbar(fig[3, end], hm_neutral) + + save(joinpath(output_dir, "pdfs$ext"), fig) end main() From ad1d0eb7c9e6df09055e858ec7175068233863fe Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 27 Sep 2023 10:04:38 +0100 Subject: [PATCH 53/71] eftc2023-jto: Decrease size of T-scan figure Effectively makes fonts bigger, as this figure is included at a smaller size on the poster. --- .../2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl index 53fbffd43..81b4e7fc9 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/plot_dispersion_relation.jl @@ -434,7 +434,7 @@ function plot_T_scan() nn = 1.0 Te = 1.0 - fig = Figure(; resolution=(1200, 600)) + fig = Figure(; resolution=(900, 450)) ax_gamma = Axis(fig[1,1], xlabel=L"(n_i + n_n)R_{in}/|k_\parallel|v_\mathrm{th}", From e91e72799b58cac7d834683d2d9bb8e6f326f4f6 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 27 Sep 2023 10:07:58 +0100 Subject: [PATCH 54/71] eftc2023-jto: Better plot labels for wall-bc plots Write so that units are not needed, e.g. "z/L" instead of "z", etc. --- .../2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index 47853d1d4..b00ddd597 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -36,12 +36,12 @@ function main() joinpath(output_dir, "post_processing_input_eftc2023.toml"), run_info_moments=run_info, run_info_dfns=run_info_dfns) - fig, axes = get_1d_ax(3; xlabel=L"z", + fig, axes = get_1d_ax(3; xlabel=L"z/L", subtitles=(L"density$$", L"parallel flow$$", L"temperature$$"), resolution=(1200, 400)) - for ((var_names, ylabel), ax) ∈ zip(((("density", "density_neutral"), L"n"), - (("parallel_flow", "uz_neutral"), L"u_\parallel"), - (("temperature", "temperature_neutral"), L"T")), + for ((var_names, ylabel), ax) ∈ zip(((("density", "density_neutral"), L"n/n_\mathrm{ref}"), + (("parallel_flow", "uz_neutral"), L"u_\parallel/v_\mathrm{ref}"), + (("temperature", "temperature_neutral"), L"T/T_\mathrm{ref}")), axes) for (ri, label1, linestyle) ∈ zip(run_info, short_labels, (nothing, :dash, :dashdot, :dot)) @@ -86,11 +86,11 @@ function main() hm_ion = nothing hm_neutral = nothing for (ri, p, ax_ion, ax_neutral) ∈ zip(run_info_dfns, prefixes, axes_ion, axes_neutral) - hm_ion = plot_f_unnorm_vs_vpa_z(ri; xlabel=L"v_\parallel", ylabel=L"z", + hm_ion = plot_f_unnorm_vs_vpa_z(ri; xlabel=L"v_\parallel/v_\mathrm{ref}", ylabel=L"z/L", rasterize=8.0, colorrange=(0, ion_cbar_max), ax=ax_ion, title="") - hm_neutral = plot_f_unnorm_vs_vpa_z(ri; neutral=true, xlabel=L"v_\parallel", - ylabel=L"z", rasterize=8.0, + hm_neutral = plot_f_unnorm_vs_vpa_z(ri; neutral=true, xlabel=L"v_\parallel/v_\mathrm{ref}", + ylabel=L"z/L", rasterize=8.0, colorrange=(0, neutral_cbar_max), ax=ax_neutral, title="") From c2f421e77a9463921bb831c38470733f6e167a3c Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 27 Sep 2023 10:17:44 +0100 Subject: [PATCH 55/71] eftc2023-jto: Script to run all scans for sound wave plots --- .../sound-wave/run-all-scans.jl | 36 +++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/sound-wave/run-all-scans.jl diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/run-all-scans.jl b/publication_inputs/2023_EFTC_jto-poster/sound-wave/run-all-scans.jl new file mode 100644 index 000000000..d2cfd3075 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/run-all-scans.jl @@ -0,0 +1,36 @@ +# Note, run this from top-level moment-kinetics directory + +include(joinpath("..", "..", "..", "run_parameter_scan.jl")) + +sound_wave_dir = joinpath("publication_inputs", "2023_EFTC_jto-poster", "sound-wave") +input_files = ( + "scan_sound-wave_T0.25.toml", + "scan_sound-wave_T0.25_split1.toml", + "scan_sound-wave_T0.25_split2.toml", + "scan_sound-wave_T0.25_split3.toml", + "scan_sound-wave_T0.5.toml", + "scan_sound-wave_T0.5_split1.toml", + "scan_sound-wave_T0.5_split2.toml", + "scan_sound-wave_T0.5_split3.toml", + "scan_sound-wave_T1.toml", + "scan_sound-wave_T1_split1.toml", + "scan_sound-wave_T1_split2.toml", + "scan_sound-wave_T1_split3.toml", + "scan_sound-wave_T2.toml", + "scan_sound-wave_T2_split1.toml", + "scan_sound-wave_T2_split2.toml", + "scan_sound-wave_T2_split3.toml", + "scan_sound-wave_T4.toml", + "scan_sound-wave_T4_split1.toml", + "scan_sound-wave_T4_split2.toml", + "scan_sound-wave_T4_split3.toml", + "scan_sound-wave_nratio.toml", + "scan_sound-wave_nratio_split1.toml", + "scan_sound-wave_nratio_split2.toml", + "scan_sound-wave_nratio_split3.toml", +) + +for f ∈ input_files + println("running scan from $f") + run_parameter_scan(joinpath(sound_wave_dir, f)) +end From 59fba130b69907dbdc86fc312d6d6e3afe5a0f45 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 27 Sep 2023 11:05:35 +0100 Subject: [PATCH 56/71] eftc2023-jto: Fix z_nelement in sound-wave_nratio scan inputs By mistake had committed versions with z_nelement=4 instead of z_nelement=2. --- .../sound-wave/scan_sound-wave_nratio_split1.toml | 2 +- .../sound-wave/scan_sound-wave_nratio_split2.toml | 2 +- .../sound-wave/scan_sound-wave_nratio_split3.toml | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split1.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split1.toml index d1e1fb0a9..f3d05b019 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split1.toml +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split1.toml @@ -36,7 +36,7 @@ split_operators = false r_ngrid = 1 r_nelement = 1 z_ngrid = 17 -z_nelement = 4 +z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split2.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split2.toml index 0c4a9312b..ce1da435b 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split2.toml +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split2.toml @@ -36,7 +36,7 @@ split_operators = false r_ngrid = 1 r_nelement = 1 z_ngrid = 17 -z_nelement = 4 +z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split3.toml b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split3.toml index 96120721b..2c576c88d 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split3.toml +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/scan_sound-wave_nratio_split3.toml @@ -36,7 +36,7 @@ split_operators = false r_ngrid = 1 r_nelement = 1 z_ngrid = 17 -z_nelement = 4 +z_nelement = 2 z_bc = "periodic" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 17 From 2ce9ee40bba45ed0044d1be694fc72f1942ae3af Mon Sep 17 00:00:00 2001 From: John Omotani Date: Wed, 27 Sep 2023 13:27:09 +0100 Subject: [PATCH 57/71] eftc2023-jto: Move recyclefraction0.5 inputs to poster directory This commit should reproduce the versions of plots used on JTO's EFTC poster. --- .../2023_EFTC_jto-poster}/wall-bc/wall-bc_recyclefraction0.5.toml | 0 .../wall-bc/wall-bc_recyclefraction0.5_split1.toml | 0 .../wall-bc/wall-bc_recyclefraction0.5_split2.toml | 0 .../wall-bc/wall-bc_recyclefraction0.5_split3.toml | 0 4 files changed, 0 insertions(+), 0 deletions(-) rename {examples => publication_inputs/2023_EFTC_jto-poster}/wall-bc/wall-bc_recyclefraction0.5.toml (100%) rename {examples => publication_inputs/2023_EFTC_jto-poster}/wall-bc/wall-bc_recyclefraction0.5_split1.toml (100%) rename {examples => publication_inputs/2023_EFTC_jto-poster}/wall-bc/wall-bc_recyclefraction0.5_split2.toml (100%) rename {examples => publication_inputs/2023_EFTC_jto-poster}/wall-bc/wall-bc_recyclefraction0.5_split3.toml (100%) diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml similarity index 100% rename from examples/wall-bc/wall-bc_recyclefraction0.5.toml rename to publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml similarity index 100% rename from examples/wall-bc/wall-bc_recyclefraction0.5_split1.toml rename to publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml similarity index 100% rename from examples/wall-bc/wall-bc_recyclefraction0.5_split2.toml rename to publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml similarity index 100% rename from examples/wall-bc/wall-bc_recyclefraction0.5_split3.toml rename to publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml From 8168a0fd154a94b84f839f98fabee324cd60d110 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 09:34:42 +0000 Subject: [PATCH 58/71] eftc2023-jto: Remove extra experimental input files These input files were (failed?) experiments that are not known to run well. --- .../wall-bc_recyclefraction0.5_highCX.toml | 88 ------------------ ...ll-bc_recyclefraction0.5_highCX_step1.toml | 88 ------------------ .../wall-bc_recyclefraction0.5_split3_v2.toml | 90 ------------------ ...bc_recyclefraction0.5_split3_v2_step1.toml | 91 ------------------ ...bc_recyclefraction0.5_split3_v2_step2.toml | 91 ------------------ ...bc_recyclefraction0.5_split3_v2_step3.toml | 91 ------------------ ...bc_recyclefraction0.5_split3_v2_step4.toml | 91 ------------------ ...bc_recyclefraction0.5_split3_v2_step5.toml | 92 ------------------- ...bc_recyclefraction0.5_split3_v2_step6.toml | 91 ------------------ ...bc_recyclefraction0.5_split3_v2_step7.toml | 91 ------------------ 10 files changed, 904 deletions(-) delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml delete mode 100644 examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml deleted file mode 100644 index b73674dfd..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX.toml +++ /dev/null @@ -1,88 +0,0 @@ -steady_state_residual = true -converged_residual_value = 1.0e-3 -runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = false -evolve_moments_parallel_flow = false -evolve_moments_parallel_pressure = false -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 3.0 -ionization_frequency = 0.125 -constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 10000 -nstep = 1000000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "gaussian" -z_width = 0.125 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml deleted file mode 100644 index 31038421f..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_highCX_step1.toml +++ /dev/null @@ -1,88 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_highCX" -steady_state_residual = true -converged_residual_value = 1.0e-3 -runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = false -evolve_moments_parallel_flow = false -evolve_moments_parallel_pressure = false -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 3.0 -ionization_frequency = 0.125 -constant_ionization_rate = false -#time_stepper_type = "cvode" -nstep = 50000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "gaussian" -z_width = 0.125 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -#vpa_dissipation_coefficient = 1.0e-1 -vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -#force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml deleted file mode 100644 index 3f850d54e..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2.toml +++ /dev/null @@ -1,90 +0,0 @@ -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 1000000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -#vpa_dissipation_coefficient = 5.0e-1 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml deleted file mode 100644 index 394a5d8c2..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step1.toml +++ /dev/null @@ -1,91 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 100000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 5.0e-1 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml deleted file mode 100644 index 61c3879c3..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step2.toml +++ /dev/null @@ -1,91 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 100000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 4.0e-1 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml deleted file mode 100644 index b663361da..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step3.toml +++ /dev/null @@ -1,91 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 100000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 3.0e-1 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml deleted file mode 100644 index 1b683e1c4..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step4.toml +++ /dev/null @@ -1,91 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 100000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 2.0e-1 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml deleted file mode 100644 index 184fcdf28..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step5.toml +++ /dev/null @@ -1,92 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 400000 -#dt = 1.0e-4 -#dt = 2.0e-5 -dt = 5.0e-6 -nwrite = 40000 -nwrite_dfns = 40000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml deleted file mode 100644 index 3d1d94cdf..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step6.toml +++ /dev/null @@ -1,91 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 100000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml b/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml deleted file mode 100644 index 4404ab073..000000000 --- a/examples/wall-bc/wall-bc_recyclefraction0.5_split3_v2_step7.toml +++ /dev/null @@ -1,91 +0,0 @@ -run_name = "wall-bc_recyclefraction0.5_split3_v2" -steady_state_residual = true -converged_residual_value = 1.0e-3 -#runtime_plots = true -n_ion_species = 1 -n_neutral_species = 1 -boltzmann_electron_response = true -evolve_moments_density = true -evolve_moments_parallel_flow = true -evolve_moments_parallel_pressure = true -evolve_moments_conservation = true -recycling_fraction = 0.5 -krook_collisions = true -T_e = 0.2 # 1.0 -T_wall = 0.1 -initial_density1 = 1.0 -initial_temperature1 = 1.0 -z_IC_option1 = "gaussian" -z_IC_density_amplitude1 = 0.001 -z_IC_density_phase1 = 0.0 -z_IC_upar_amplitude1 = 1.0 -z_IC_upar_phase1 = 0.0 -z_IC_temperature_amplitude1 = 0.0 -z_IC_temperature_phase1 = 0.0 -vpa_IC_option1 = "gaussian" -vpa_IC_density_amplitude1 = 1.0 -vpa_IC_density_phase1 = 0.0 -vpa_IC_upar_amplitude1 = 0.0 -vpa_IC_upar_phase1 = 0.0 -vpa_IC_temperature_amplitude1 = 0.0 -vpa_IC_temperature_phase1 = 0.0 -initial_density2 = 1.0 -initial_temperature2 = 1.0 -z_IC_option2 = "gaussian" -z_IC_density_amplitude2 = 0.001 -z_IC_density_phase2 = 0.0 -z_IC_upar_amplitude2 = -1.0 -z_IC_upar_phase2 = 0.0 -z_IC_temperature_amplitude2 = 0.0 -z_IC_temperature_phase2 = 0.0 -vpa_IC_option2 = "gaussian" -vpa_IC_density_amplitude2 = 1.0 -vpa_IC_density_phase2 = 0.0 -vpa_IC_upar_amplitude2 = 0.0 -vpa_IC_upar_phase2 = 0.0 -vpa_IC_temperature_amplitude2 = 0.0 -vpa_IC_temperature_phase2 = 0.0 -charge_exchange_frequency = 0.75 -ionization_frequency = 0.5 -constant_ionization_rate = false -#nstep = 50000 -nstep = 100000 -#dt = 1.0e-4 -dt = 2.0e-5 -nwrite = 10000 -nwrite_dfns = 10000 -use_semi_lagrange = false -n_rk_stages = 4 -split_operators = false -r_ngrid = 1 -r_nelement = 1 -z_ngrid = 9 -z_nelement = 32 -z_nelement_local = 4 -z_bc = "wall" -z_discretization = "chebyshev_pseudospectral" -vpa_ngrid = 10 -vpa_nelement = 63 -vpa_L = 18.0 -vpa_bc = "zero" -vpa_discretization = "chebyshev_pseudospectral" -vz_ngrid = 10 -vz_nelement = 63 -vz_L = 18.0 -vz_bc = "zero" -vz_discretization = "chebyshev_pseudospectral" - -[ion_source] -active = true -z_profile = "parabolic" -#z_width = 0.125 -z_relative_minimum = 0.5 -source_strength = 1.0 -source_T = 2.0 - -[numerical_dissipation] -vpa_dissipation_coefficient = 1.0e-3 -#vpa_dissipation_coefficient = 1.0e-1 -#vpa_dissipation_coefficient = 1.0e-2 -#vpa_dissipation_coefficient = 1.0e-3 -force_minimum_pdf_value = 0.0 From fb453478653d82daa1e9045854e22b3734dea4e2 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 09:38:05 +0000 Subject: [PATCH 59/71] eftc2023-jto: Tidy up new example input files Remove some commented out lines and ensure `force_minimum_pdf_value = 0.0` is set for the 'split3' cases. --- examples/wall-bc/wall-bc_no-neutrals.toml | 4 ---- examples/wall-bc/wall-bc_no-neutrals_split1.toml | 4 ---- examples/wall-bc/wall-bc_no-neutrals_split2.toml | 4 ---- examples/wall-bc/wall-bc_no-neutrals_split3.toml | 6 +----- examples/wall-bc/wall-bc_volumerecycle.toml | 2 -- examples/wall-bc/wall-bc_volumerecycle_split1.toml | 3 --- examples/wall-bc/wall-bc_volumerecycle_split2.toml | 3 --- examples/wall-bc/wall-bc_volumerecycle_split3.toml | 5 +---- 8 files changed, 2 insertions(+), 29 deletions(-) diff --git a/examples/wall-bc/wall-bc_no-neutrals.toml b/examples/wall-bc/wall-bc_no-neutrals.toml index 1822f0c61..0cc6b70b6 100644 --- a/examples/wall-bc/wall-bc_no-neutrals.toml +++ b/examples/wall-bc/wall-bc_no-neutrals.toml @@ -46,10 +46,6 @@ vpa_IC_temperature_amplitude2 = 0.0 vpa_IC_temperature_phase2 = 0.0 #charge_exchange_frequency = 0.75 #ionization_frequency = 0.5 -#constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 -#nstep = 1000000 nstep = 100000 dt = 5.0e-4 nwrite = 5000 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split1.toml b/examples/wall-bc/wall-bc_no-neutrals_split1.toml index a22119d79..76aafaf7e 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split1.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split1.toml @@ -46,10 +46,6 @@ vpa_IC_temperature_amplitude2 = 0.0 vpa_IC_temperature_phase2 = 0.0 #charge_exchange_frequency = 0.75 #ionization_frequency = 0.5 -#constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 -#nstep = 1000000 nstep = 100000 dt = 1.0e-4 nwrite = 5000 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split2.toml b/examples/wall-bc/wall-bc_no-neutrals_split2.toml index 5b0936162..6ddb64606 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split2.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split2.toml @@ -46,10 +46,6 @@ vpa_IC_temperature_amplitude2 = 0.0 vpa_IC_temperature_phase2 = 0.0 #charge_exchange_frequency = 0.75 #ionization_frequency = 0.5 -#constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 -#nstep = 1000000 nstep = 100000 dt = 1.0e-4 nwrite = 5000 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split3.toml b/examples/wall-bc/wall-bc_no-neutrals_split3.toml index d34edfc8a..46c20aab4 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split3.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split3.toml @@ -46,10 +46,6 @@ vpa_IC_temperature_amplitude2 = 0.0 vpa_IC_temperature_phase2 = 0.0 #charge_exchange_frequency = 0.75 #ionization_frequency = 0.5 -#constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 -#nstep = 1000000 nstep = 100000 dt = 1.0e-4 nwrite = 5000 @@ -86,4 +82,4 @@ source_T = 1.0 #vpa_dissipation_coefficient = 1.0e-1 #vpa_dissipation_coefficient = 1.0e-2 #vpa_dissipation_coefficient = 1.0e-3 -#force_minimum_pdf_value = 0.0 +force_minimum_pdf_value = 0.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index d52224ba8..91aa4e157 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -47,8 +47,6 @@ vpa_IC_temperature_phase2 = 0.0 charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 nstep = 1000000 dt = 5.0e-5 nwrite = 10000 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split1.toml b/examples/wall-bc/wall-bc_volumerecycle_split1.toml index fcf924456..e8acea8d0 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split1.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split1.toml @@ -47,8 +47,6 @@ vpa_IC_temperature_phase2 = 0.0 charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 nstep = 1000000 dt = 5.0e-5 nwrite = 10000 @@ -72,7 +70,6 @@ vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 vz_bc = "zero" -#vz_bc = "none" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_volumerecycle_split2.toml b/examples/wall-bc/wall-bc_volumerecycle_split2.toml index bb4c5d7f1..3042aa1f5 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split2.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split2.toml @@ -47,8 +47,6 @@ vpa_IC_temperature_phase2 = 0.0 charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 nstep = 1000000 dt = 5.0e-5 nwrite = 10000 @@ -72,7 +70,6 @@ vz_ngrid = 10 vz_nelement = 63 vz_L = 18.0 vz_bc = "zero" -#vz_bc = "none" vz_discretization = "chebyshev_pseudospectral" [ion_source] diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml index 81186a337..05e0a6c00 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split3.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -47,8 +47,6 @@ vpa_IC_temperature_phase2 = 0.0 charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false -#time_stepper_type = "cvode" -#nstep = 50000 nstep = 1000000 dt = 1.0e-5 nwrite = 10000 @@ -72,7 +70,6 @@ vz_ngrid = 10 vz_nelement = 63 vz_L = 30.0 vz_bc = "zero" -#vz_bc = "none" vz_discretization = "chebyshev_pseudospectral" [ion_source] @@ -91,4 +88,4 @@ recycling_controller_fraction = 0.25 #vpa_dissipation_coefficient = 1.0e-1 #vpa_dissipation_coefficient = 1.0e-2 #vpa_dissipation_coefficient = 1.0e-3 -#force_minimum_pdf_value = 0.0 +force_minimum_pdf_value = 0.0 From 9d25b97e63712471962f9059ea9ca003baae5c79 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 09:44:01 +0000 Subject: [PATCH 60/71] eftc2023-jto: Update README.md for sound-wave plots --- publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md b/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md index 8b81d4354..289e60f9e 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md @@ -9,14 +9,14 @@ package, as this is more accurate than a naive implementation of the plasma dispersion function using SpecialFuncions.jl. We also have to add the `moment_kinetics` package from the top level, which is -`../..` relative to this directory. +`../../..` relative to this directory. To set everything up, do ```julia $ julia --project julia>] (2023_EFTC_jto-poster) pkg> add https://github.com/jwscook/PlasmaDispersionFunctions.jl -(2023_EFTC_jto-poster) pkg> dev ../.. +(2023_EFTC_jto-poster) pkg> dev ../../.. (2023_EFTC_jto-poster) pkg>^D $ ``` From 687c6ca74d61b6a95ef233af52c84cdae4d08e54 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 10:40:01 +0000 Subject: [PATCH 61/71] eftc2023-jto: Add missing Project.toml file --- publication_inputs/2023_EFTC_jto-poster/Project.toml | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/Project.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml new file mode 100644 index 000000000..884b3b257 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -0,0 +1,6 @@ +[deps] +LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +MathTeXEngine = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" +Optim = "429524aa-4258-5aef-a3af-852621145aeb" +PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" +moment_kinetics = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" From 5ad5eda39d83c9bae6b48ee7df5721aed2e40dc3 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 11:45:39 +0000 Subject: [PATCH 62/71] eftc2023-jto: Add an initial Project.toml file for EFTC plots Does not include `moment_kinetics` or `PlasmaDispersionFunctions` - these have to be added specially as described in the README.md, and may cause errors if they already exist in the Project.toml as each would complain that the other cannot be found. --- publication_inputs/2023_EFTC_jto-poster/Project.toml | 2 -- 1 file changed, 2 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml index 884b3b257..d812df24c 100644 --- a/publication_inputs/2023_EFTC_jto-poster/Project.toml +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -2,5 +2,3 @@ LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" MathTeXEngine = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" Optim = "429524aa-4258-5aef-a3af-852621145aeb" -PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" -moment_kinetics = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" From 91d96abc6ae61b9ab0512504f715d9d5703e355a Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 11:47:43 +0000 Subject: [PATCH 63/71] eftc2023-jto: More update sound-wave README.md --- .../2023_EFTC_jto-poster/sound-wave/README.md | 55 ++++++++++++++----- 1 file changed, 42 insertions(+), 13 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md b/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md index 289e60f9e..a534f101b 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md +++ b/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md @@ -1,32 +1,61 @@ -README -====== +Sound wave +========== -Setup +Runs +---- + +All the runs for the sound-wave plots can be done quickly in serial. The +parameter scan functionality allows multiple processes to be used to launch +several runs simultaneously (using Distributed.jl rather than MPI). Here we use +8 processes as an example. + +In the top-level `moment_kinetics` directory, run +```julia +$ julia --project -p 8 +julia> include("publication_inputs/2023_EFTC_jto-poster/sound-wave/run-all-scans.jl") +``` + +Plots ----- -The script in this directory uses James Cook's PlasmaDispersionFunctions.jl -package, as this is more accurate than a naive implementation of the plasma -dispersion function using SpecialFuncions.jl. +Note the steps here should be run after launching `julia` in the +`/publication_inputs/2023_EFTC_jto-poster` directory, not in +the top level `moment_kinetics` directory (and not in the directory containing +this README.md - this avoids some repeated precompilation when plotting the +wall-bc runs). + +### Setup + +The analysis script in this directory uses James Cook's +PlasmaDispersionFunctions.jl package, as this is more accurate than a naive +implementation of the plasma dispersion function using SpecialFuncions.jl. We also have to add the `moment_kinetics` package from the top level, which is -`../../..` relative to this directory. +`../..` relative to this directory. To set everything up, do ```julia $ julia --project julia>] (2023_EFTC_jto-poster) pkg> add https://github.com/jwscook/PlasmaDispersionFunctions.jl -(2023_EFTC_jto-poster) pkg> dev ../../.. +(2023_EFTC_jto-poster) pkg> dev ../.. (2023_EFTC_jto-poster) pkg>^D $ ``` -Usage ------ +You might also need to repeat any setup steps for MPI and HDF5 (or just copy +the `LocalPreferences.toml` file from the top-level `moment_kinetics` +directory). -Import the script and run `make_plots()` +### Usage + +Import the script, do some post-processing, and run `make_plots()` (we again +use `-p 8` as the `post_process_all_scans()` step can run post processing for +several directories simultaneously, although `make_plots()` is serial) ``` -$ julia --project -julia> include("plot_dispersion_relation.jl") +$ julia --project -p 8 +julia> include("sound-wave/post_process_scans.jl") +julia> post_process_all_scans() +julia> include("sound-wave/plot_dispersion_relation.jl") julia> make_plots() ``` From a72fca66e50f3b5f1ba1625328e7a72d05c922d5 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 11:49:24 +0000 Subject: [PATCH 64/71] eftc2023-jto: Move sound-wave README up a level, add wall-bc info Makes more sense to have a single README.md for the publication_inputs/2023_EFTC_jto-poster directory that includes both sound-wave and wall-bc, especially as the scripts should be run from that directory, not the sound-wave/ and wall-bc/ subdirectories. --- .../{sound-wave => }/README.md | 39 ++++++++++++++++--- 1 file changed, 34 insertions(+), 5 deletions(-) rename publication_inputs/2023_EFTC_jto-poster/{sound-wave => }/README.md (58%) diff --git a/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md b/publication_inputs/2023_EFTC_jto-poster/README.md similarity index 58% rename from publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md rename to publication_inputs/2023_EFTC_jto-poster/README.md index a534f101b..72647123f 100644 --- a/publication_inputs/2023_EFTC_jto-poster/sound-wave/README.md +++ b/publication_inputs/2023_EFTC_jto-poster/README.md @@ -18,11 +18,8 @@ julia> include("publication_inputs/2023_EFTC_jto-poster/sound-wave/run-all-scans Plots ----- -Note the steps here should be run after launching `julia` in the -`/publication_inputs/2023_EFTC_jto-poster` directory, not in -the top level `moment_kinetics` directory (and not in the directory containing -this README.md - this avoids some repeated precompilation when plotting the -wall-bc runs). +Note the steps here should be run after launching `julia` in the directory +containing this README.md, not in the top level `moment_kinetics` directory. ### Setup @@ -59,3 +56,35 @@ julia> post_process_all_scans() julia> include("sound-wave/plot_dispersion_relation.jl") julia> make_plots() ``` + +Wall BC +======= + +Runs +---- + +[You might want to use MPI to speed up the runs, see the main `moment_kinetics` +documentation.] + +We run the 'full-f' version from scratch, then restart the moment-kinetic +version from that to save time. + +In the top-level `moment_kinetics` directory, run +```julia +$ julia --project +julia> using moment_kinetics +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml") +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml"; restart="runs/wall-bc_recyclefraction0.5/") +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml"; restart="runs/wall-bc_recyclefraction0.5/") +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml"; restart="runs/wall-bc_recyclefraction0.5/") +``` + +Plots +----- + +In the directory containing this README.md (after already doing the setup from +the 'Sound wave' section) run +```julia +$ julia --project +julia> include("wall-bc/wall-bc-plots.jl") +``` From 03e389cd3208ee4666670df1a7cca257cd49d3c6 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 14:15:51 +0000 Subject: [PATCH 65/71] eftc2023-jto: Fix Krook collisions setting Need to set `krook_collisions_option`, not `krook_collisions`. --- examples/wall-bc/wall-bc_no-neutrals.toml | 2 +- examples/wall-bc/wall-bc_no-neutrals_split1.toml | 2 +- examples/wall-bc/wall-bc_no-neutrals_split2.toml | 2 +- examples/wall-bc/wall-bc_no-neutrals_split3.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split1.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split2.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split3.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split1.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split2.toml | 2 +- .../wall-bc/wall-bc_recyclefraction0.5_split3.toml | 2 +- 12 files changed, 12 insertions(+), 12 deletions(-) diff --git a/examples/wall-bc/wall-bc_no-neutrals.toml b/examples/wall-bc/wall-bc_no-neutrals.toml index 0cc6b70b6..43af50cc9 100644 --- a/examples/wall-bc/wall-bc_no-neutrals.toml +++ b/examples/wall-bc/wall-bc_no-neutrals.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split1.toml b/examples/wall-bc/wall-bc_no-neutrals_split1.toml index 76aafaf7e..ab5c4c1d5 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split1.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split1.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split2.toml b/examples/wall-bc/wall-bc_no-neutrals_split2.toml index 6ddb64606..12732f289 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split2.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_no-neutrals_split3.toml b/examples/wall-bc/wall-bc_no-neutrals_split3.toml index 46c20aab4..80177f70d 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split3.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split3.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index 91aa4e157..6ba978c6b 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.25 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split1.toml b/examples/wall-bc/wall-bc_volumerecycle_split1.toml index e8acea8d0..26867058c 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split1.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split1.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.25 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split2.toml b/examples/wall-bc/wall-bc_volumerecycle_split2.toml index 3042aa1f5..f6f96b6e2 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split2.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.25 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml index 05e0a6c00..fa65cda93 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split3.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.25 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml index b1636cfbb..b96abd526 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml index 731a864ce..78e2c9b67 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = false evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml index f7485737b..d06a8502e 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = false evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml index cf5e8e0e2..63329af0b 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -9,7 +9,7 @@ evolve_moments_parallel_flow = true evolve_moments_parallel_pressure = true evolve_moments_conservation = true recycling_fraction = 0.5 -krook_collisions = true +krook_collisions_option = "reference_parameters" T_e = 0.2 # 1.0 T_wall = 0.1 initial_density1 = 1.0 From 344b559c2e79b6586e6fdb8016ee4863c672a3f4 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 14:35:06 +0000 Subject: [PATCH 66/71] eftc2023-jto: Temporarily add Manifest.toml for 2023_EFTC_jto-poster Adding this to have a working Manifest.toml recorded in the git history, as there are some issues with the latest versions of dependencies at the moment. --- .../2023_EFTC_jto-poster/Manifest.toml | 2320 +++++++++++++++++ .../2023_EFTC_jto-poster/Project.toml | 2 + 2 files changed, 2322 insertions(+) create mode 100644 publication_inputs/2023_EFTC_jto-poster/Manifest.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/Manifest.toml b/publication_inputs/2023_EFTC_jto-poster/Manifest.toml new file mode 100644 index 000000000..6f7be3c29 --- /dev/null +++ b/publication_inputs/2023_EFTC_jto-poster/Manifest.toml @@ -0,0 +1,2320 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.9.3" +manifest_format = "2.0" +project_hash = "6630017b0e3356f9fd63a28ce701e7eda3c6b3da" + +[[deps.ADTypes]] +git-tree-sha1 = "d68758475ff90600488eb975b5ac222709a7dd6f" +uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" +version = "0.2.2" + +[[deps.AbstractAlgebra]] +deps = ["GroupsCore", "InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] +git-tree-sha1 = "41b45260ad00b666558c16f7cd9db0e8af408ea1" +uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" +version = "0.31.1" + +[[deps.AbstractFFTs]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" +uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" +version = "1.5.0" +weakdeps = ["ChainRulesCore", "Test"] + + [deps.AbstractFFTs.extensions] + AbstractFFTsChainRulesCoreExt = "ChainRulesCore" + AbstractFFTsTestExt = "Test" + +[[deps.AbstractLattices]] +git-tree-sha1 = "f35684b7349da49fcc8a9e520e30e45dbb077166" +uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" +version = "0.2.1" + +[[deps.AbstractTrees]] +git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" +uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" +version = "0.4.4" + +[[deps.Adapt]] +deps = ["LinearAlgebra", "Requires"] +git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" +uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" +version = "3.6.2" +weakdeps = ["StaticArrays"] + + [deps.Adapt.extensions] + AdaptStaticArraysExt = "StaticArrays" + +[[deps.Animations]] +deps = ["Colors"] +git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" +uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" +version = "0.4.1" + +[[deps.ArgParse]] +deps = ["Logging", "TextWrap"] +git-tree-sha1 = "3102bce13da501c9104df33549f511cd25264d7d" +uuid = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" +version = "1.1.4" + +[[deps.ArgTools]] +uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" +version = "1.1.1" + +[[deps.ArrayInterface]] +deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" +uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" +version = "7.4.11" + + [deps.ArrayInterface.extensions] + ArrayInterfaceBandedMatricesExt = "BandedMatrices" + ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" + ArrayInterfaceCUDAExt = "CUDA" + ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" + ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" + ArrayInterfaceTrackerExt = "Tracker" + + [deps.ArrayInterface.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" + StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + +[[deps.Artifacts]] +uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" + +[[deps.Automa]] +deps = ["TranscodingStreams"] +git-tree-sha1 = "ef9997b3d5547c48b41c7bd8899e812a917b409d" +uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" +version = "0.8.4" + +[[deps.AxisAlgorithms]] +deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] +git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" +uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" +version = "1.0.1" + +[[deps.AxisArrays]] +deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] +git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f" +uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" +version = "0.4.7" + +[[deps.Base64]] +uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" + +[[deps.Bijections]] +git-tree-sha1 = "71281c0c28f97e0adeed24fdaa6bf7d37177f297" +uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" +version = "0.1.5" + +[[deps.BitFlags]] +git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" +uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" +version = "0.1.7" + +[[deps.Bzip2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" +uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" +version = "1.0.8+0" + +[[deps.CEnum]] +git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" +uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" +version = "0.4.2" + +[[deps.CFTime]] +deps = ["Dates", "Printf"] +git-tree-sha1 = "ed2e76c1c3c43fd9d0cb9248674620b29d71f2d1" +uuid = "179af706-886a-5703-950a-314cd64e0468" +version = "0.1.2" + +[[deps.CRC32c]] +uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" + +[[deps.CRlibm]] +deps = ["CRlibm_jll"] +git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" +uuid = "96374032-68de-5a5b-8d9e-752f78720389" +version = "1.0.1" + +[[deps.CRlibm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" +uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" +version = "1.0.1+0" + +[[deps.Cairo]] +deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] +git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" +uuid = "159f3aea-2a34-519c-b102-8c37f9878175" +version = "1.0.5" + +[[deps.CairoMakie]] +deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools", "SHA"] +git-tree-sha1 = "30562a68ded3dabe80109caf6b4de73a48ac27bc" +uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" +version = "0.10.8" + +[[deps.Cairo_jll]] +deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" +uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" +version = "1.16.1+1" + +[[deps.Calculus]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" +uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" +version = "0.5.1" + +[[deps.ChainRulesCore]] +deps = ["Compat", "LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" +uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" +version = "1.16.0" + +[[deps.CodeTracking]] +deps = ["InteractiveUtils", "UUIDs"] +git-tree-sha1 = "a1296f0fe01a4c3f9bf0dc2934efbf4416f5db31" +uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" +version = "1.3.4" + +[[deps.CodecZlib]] +deps = ["TranscodingStreams", "Zlib_jll"] +git-tree-sha1 = "02aa26a4cf76381be7f66e020a3eddeb27b0a092" +uuid = "944b1d66-785c-5afd-91f1-9de20f533193" +version = "0.7.2" + +[[deps.ColorBrewer]] +deps = ["Colors", "JSON", "Test"] +git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" +uuid = "a2cac450-b92f-5266-8821-25eda20663c8" +version = "0.4.0" + +[[deps.ColorSchemes]] +deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] +git-tree-sha1 = "d9a8f86737b665e15a9641ecbac64deef9ce6724" +uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" +version = "3.23.0" + +[[deps.ColorTypes]] +deps = ["FixedPointNumbers", "Random"] +git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" +uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" +version = "0.11.4" + +[[deps.ColorVectorSpace]] +deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] +git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" +uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" +version = "0.9.10" + +[[deps.Colors]] +deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] +git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" +uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" +version = "0.12.10" + +[[deps.Combinatorics]] +git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" +uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" +version = "1.0.2" + +[[deps.CommonDataModel]] +deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf"] +git-tree-sha1 = "2678b3fc170d582655a14d22867b031b6e43c2d4" +uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" +version = "0.2.4" + +[[deps.CommonSolve]] +git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" +uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" +version = "0.2.4" + +[[deps.CommonSubexpressions]] +deps = ["MacroTools", "Test"] +git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" +uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" +version = "0.3.0" + +[[deps.Compat]] +deps = ["UUIDs"] +git-tree-sha1 = "e460f044ca8b99be31d35fe54fc33a5c33dd8ed7" +uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" +version = "4.9.0" +weakdeps = ["Dates", "LinearAlgebra"] + + [deps.Compat.extensions] + CompatLinearAlgebraExt = "LinearAlgebra" + +[[deps.CompilerSupportLibraries_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" +version = "1.0.5+0" + +[[deps.CompositeTypes]] +git-tree-sha1 = "02d2316b7ffceff992f3096ae48c7829a8aa0638" +uuid = "b152e2b5-7a66-4b01-a709-34e65c35f657" +version = "0.1.3" + +[[deps.ConcurrentUtilities]] +deps = ["Serialization", "Sockets"] +git-tree-sha1 = "5372dbbf8f0bdb8c700db5367132925c0771ef7e" +uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" +version = "2.2.1" + +[[deps.Conda]] +deps = ["Downloads", "JSON", "VersionParsing"] +git-tree-sha1 = "8c86e48c0db1564a1d49548d3515ced5d604c408" +uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d" +version = "1.9.1" + +[[deps.ConstructionBase]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "fe2838a593b5f776e1597e086dcd47560d94e816" +uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" +version = "1.5.3" +weakdeps = ["IntervalSets", "StaticArrays"] + + [deps.ConstructionBase.extensions] + ConstructionBaseIntervalSetsExt = "IntervalSets" + ConstructionBaseStaticArraysExt = "StaticArrays" + +[[deps.Contour]] +git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" +uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" +version = "0.6.2" + +[[deps.DataAPI]] +git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" +uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" +version = "1.15.0" + +[[deps.DataStructures]] +deps = ["Compat", "InteractiveUtils", "OrderedCollections"] +git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" +uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" +version = "0.18.15" + +[[deps.DataValueInterfaces]] +git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" +uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" +version = "1.0.0" + +[[deps.Dates]] +deps = ["Printf"] +uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" + +[[deps.DelaunayTriangulation]] +deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] +git-tree-sha1 = "a1d8532de83f8ce964235eff1edeff9581144d02" +uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" +version = "0.7.2" +weakdeps = ["MakieCore"] + + [deps.DelaunayTriangulation.extensions] + DelaunayTriangulationMakieCoreExt = "MakieCore" + +[[deps.DelimitedFiles]] +deps = ["Mmap"] +git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" +uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" +version = "1.9.1" + +[[deps.DiffResults]] +deps = ["StaticArraysCore"] +git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" +uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" +version = "1.1.0" + +[[deps.DiffRules]] +deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] +git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" +uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" +version = "1.15.1" + +[[deps.Distributed]] +deps = ["Random", "Serialization", "Sockets"] +uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" + +[[deps.Distributions]] +deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] +git-tree-sha1 = "938fe2981db009f531b6332e31c58e9584a2f9bd" +uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" +version = "0.25.100" + + [deps.Distributions.extensions] + DistributionsChainRulesCoreExt = "ChainRulesCore" + DistributionsDensityInterfaceExt = "DensityInterface" + + [deps.Distributions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" + +[[deps.DocStringExtensions]] +deps = ["LibGit2"] +git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" +uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" +version = "0.9.3" + +[[deps.DomainSets]] +deps = ["CompositeTypes", "IntervalSets", "LinearAlgebra", "Random", "StaticArrays", "Statistics"] +git-tree-sha1 = "51b4b84d33ec5e0955b55ff4b748b99ce2c3faa9" +uuid = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" +version = "0.6.7" + +[[deps.Downloads]] +deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] +uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" +version = "1.6.0" + +[[deps.DualNumbers]] +deps = ["Calculus", "NaNMath", "SpecialFunctions"] +git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" +uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" +version = "0.6.8" + +[[deps.DynamicPolynomials]] +deps = ["Future", "LinearAlgebra", "MultivariatePolynomials", "MutableArithmetics", "Pkg", "Reexport", "Test"] +git-tree-sha1 = "9b05a8bc04d7a9a9c7e9ee3b0fdf1584857b65dc" +uuid = "7c1d4256-1411-5781-91ec-d7bc3513ac07" +version = "0.5.2" + +[[deps.EarCut_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" +uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" +version = "2.2.4+0" + +[[deps.EnumX]] +git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" +uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" +version = "1.0.4" + +[[deps.EpollShim_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" +uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" +version = "0.0.20230411+0" + +[[deps.ErrorfreeArithmetic]] +git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" +uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" +version = "0.5.2" + +[[deps.ExactPredicates]] +deps = ["IntervalArithmetic", "Random", "StaticArraysCore", "Test"] +git-tree-sha1 = "276e83bc8b21589b79303b9985c321024ffdf59c" +uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" +version = "2.2.5" + +[[deps.ExceptionUnwrapping]] +deps = ["Test"] +git-tree-sha1 = "e90caa41f5a86296e014e148ee061bd6c3edec96" +uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" +version = "0.1.9" + +[[deps.Expat_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" +uuid = "2e619515-83b5-522b-bb60-26c02a35a201" +version = "2.5.0+0" + +[[deps.ExprTools]] +git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" +uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" +version = "0.1.10" + +[[deps.Extents]] +git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" +uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" +version = "0.1.1" + +[[deps.FFMPEG]] +deps = ["FFMPEG_jll"] +git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" +uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" +version = "0.4.1" + +[[deps.FFMPEG_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Pkg", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] +git-tree-sha1 = "74faea50c1d007c85837327f6775bea60b5492dd" +uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" +version = "4.4.2+2" + +[[deps.FFTW]] +deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] +git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" +uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" +version = "1.7.1" + +[[deps.FFTW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" +uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" +version = "3.3.10+0" + +[[deps.FastRounding]] +deps = ["ErrorfreeArithmetic", "LinearAlgebra"] +git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" +uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" +version = "0.3.1" + +[[deps.FileIO]] +deps = ["Pkg", "Requires", "UUIDs"] +git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" +uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" +version = "1.16.1" + +[[deps.FileWatching]] +uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" + +[[deps.FillArrays]] +deps = ["LinearAlgebra", "Random"] +git-tree-sha1 = "a20eaa3ad64254c61eeb5f230d9306e937405434" +uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" +version = "1.6.1" +weakdeps = ["SparseArrays", "Statistics"] + + [deps.FillArrays.extensions] + FillArraysSparseArraysExt = "SparseArrays" + FillArraysStatisticsExt = "Statistics" + +[[deps.FiniteDiff]] +deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] +git-tree-sha1 = "c6e4a1fbe73b31a3dea94b1da449503b8830c306" +uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" +version = "2.21.1" + + [deps.FiniteDiff.extensions] + FiniteDiffBandedMatricesExt = "BandedMatrices" + FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" + FiniteDiffStaticArraysExt = "StaticArrays" + + [deps.FiniteDiff.weakdeps] + BandedMatrices = "aae01518-5342-5314-be14-df237901396f" + BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" + StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" + +[[deps.FixedPointNumbers]] +deps = ["Statistics"] +git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" +uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" +version = "0.8.4" + +[[deps.Fontconfig_jll]] +deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" +uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" +version = "2.13.93+0" + +[[deps.Formatting]] +deps = ["Printf"] +git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" +uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" +version = "0.4.2" + +[[deps.ForwardDiff]] +deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] +git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" +uuid = "f6369f11-7733-5829-9624-2563aa707210" +version = "0.10.36" +weakdeps = ["StaticArrays"] + + [deps.ForwardDiff.extensions] + ForwardDiffStaticArraysExt = "StaticArrays" + +[[deps.FreeType]] +deps = ["CEnum", "FreeType2_jll"] +git-tree-sha1 = "50351f83f95282cf903e968d7c6e8d44a5f83d0b" +uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" +version = "4.1.0" + +[[deps.FreeType2_jll]] +deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" +uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" +version = "2.13.1+0" + +[[deps.FreeTypeAbstraction]] +deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] +git-tree-sha1 = "38a92e40157100e796690421e34a11c107205c86" +uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" +version = "0.10.0" + +[[deps.FriBidi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" +uuid = "559328eb-81f9-559d-9380-de523a88c83c" +version = "1.0.10+0" + +[[deps.FunctionWrappers]] +git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" +uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" +version = "1.1.3" + +[[deps.FunctionWrappersWrappers]] +deps = ["FunctionWrappers"] +git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" +uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" +version = "0.1.3" + +[[deps.Future]] +deps = ["Random"] +uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" + +[[deps.GLFW_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] +git-tree-sha1 = "d972031d28c8c8d9d7b41a536ad7bb0c2579caca" +uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" +version = "3.3.8+0" + +[[deps.GPUArraysCore]] +deps = ["Adapt"] +git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" +uuid = "46192b85-c4d5-4398-a991-12ede77f4527" +version = "0.1.5" + +[[deps.GR]] +deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] +git-tree-sha1 = "d73afa4a2bb9de56077242d98cf763074ab9a970" +uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" +version = "0.72.9" + +[[deps.GR_jll]] +deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] +git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" +uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" +version = "0.72.9+1" + +[[deps.GeoInterface]] +deps = ["Extents"] +git-tree-sha1 = "bb198ff907228523f3dee1070ceee63b9359b6ab" +uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" +version = "1.3.1" + +[[deps.GeometryBasics]] +deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "424a5a6ce7c5d97cca7bcc4eac551b97294c54af" +uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" +version = "0.4.9" + +[[deps.Gettext_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" +uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" +version = "0.21.0+0" + +[[deps.Glib_jll]] +deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "d3b3624125c1474292d0d8ed0f65554ac37ddb23" +uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" +version = "2.74.0+2" + +[[deps.Glob]] +git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" +uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" +version = "1.3.1" + +[[deps.Graphics]] +deps = ["Colors", "LinearAlgebra", "NaNMath"] +git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" +uuid = "a2bd30eb-e257-5431-a919-1863eab51364" +version = "1.1.2" + +[[deps.Graphite2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" +uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" +version = "1.3.14+0" + +[[deps.GridLayoutBase]] +deps = ["GeometryBasics", "InteractiveUtils", "Observables"] +git-tree-sha1 = "f57a64794b336d4990d90f80b147474b869b1bc4" +uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" +version = "0.9.2" + +[[deps.Grisu]] +git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" +uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" +version = "1.0.2" + +[[deps.Groebner]] +deps = ["AbstractAlgebra", "Combinatorics", "Logging", "MultivariatePolynomials", "Primes", "Random", "SIMD", "SnoopPrecompile"] +git-tree-sha1 = "17c81e8dd04cc8f70bccf8c50aa2d39f5ff2a3ec" +uuid = "0b43b601-686d-58a3-8a1c-6623616c7cd4" +version = "0.4.2" + +[[deps.GroupsCore]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "9e1a5e9f3b81ad6a5c613d181664a0efc6fe6dd7" +uuid = "d5909c97-4eac-4ecc-a3dc-fdd0858a4120" +version = "0.4.0" + +[[deps.HDF5]] +deps = ["Compat", "HDF5_jll", "Libdl", "MPIPreferences", "Mmap", "Preferences", "Printf", "Random", "Requires", "UUIDs"] +git-tree-sha1 = "ec7df74b7b2022e8252a8bfd4ec23411491adc3b" +uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" +version = "0.17.0" +weakdeps = ["MPI"] + + [deps.HDF5.extensions] + MPIExt = "MPI" + +[[deps.HDF5_jll]] +deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] +git-tree-sha1 = "4cc2bb72df6ff40b055295fdef6d92955f9dede8" +uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" +version = "1.12.2+2" + +[[deps.HTTP]] +deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] +git-tree-sha1 = "cb56ccdd481c0dd7f975ad2b3b62d9eda088f7e2" +uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" +version = "1.9.14" + +[[deps.HarfBuzz_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] +git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" +uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" +version = "2.8.1+1" + +[[deps.HypergeometricFunctions]] +deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] +git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" +uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" +version = "0.3.23" + +[[deps.IJulia]] +deps = ["Base64", "Conda", "Dates", "InteractiveUtils", "JSON", "Libdl", "Logging", "Markdown", "MbedTLS", "Pkg", "Printf", "REPL", "Random", "SoftGlobalScope", "Test", "UUIDs", "ZMQ"] +git-tree-sha1 = "47ac8cc196b81001a711f4b2c12c97372338f00c" +uuid = "7073ff75-c697-5162-941a-fcdaad2a7d2a" +version = "1.24.2" + +[[deps.IfElse]] +git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" +uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" +version = "0.1.1" + +[[deps.ImageAxes]] +deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] +git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8" +uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" +version = "0.6.11" + +[[deps.ImageBase]] +deps = ["ImageCore", "Reexport"] +git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" +uuid = "c817782e-172a-44cc-b673-b171935fbb9e" +version = "0.1.5" + +[[deps.ImageCore]] +deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] +git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" +uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" +version = "0.9.4" + +[[deps.ImageIO]] +deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] +git-tree-sha1 = "bca20b2f5d00c4fbc192c3212da8fa79f4688009" +uuid = "82e4d734-157c-48bb-816b-45c225c6df19" +version = "0.6.7" + +[[deps.ImageMetadata]] +deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] +git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" +uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" +version = "0.9.9" + +[[deps.Imath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "3d09a9f60edf77f8a4d99f9e015e8fbf9989605d" +uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" +version = "3.1.7+0" + +[[deps.IndirectArrays]] +git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" +uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" +version = "1.0.0" + +[[deps.Inflate]] +git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" +uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" +version = "0.1.3" + +[[deps.IntegerMathUtils]] +git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" +uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" +version = "0.1.2" + +[[deps.IntelOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" +uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" +version = "2023.2.0+0" + +[[deps.InteractiveUtils]] +deps = ["Markdown"] +uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" + +[[deps.Interpolations]] +deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] +git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" +uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" +version = "0.14.7" + +[[deps.IntervalArithmetic]] +deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] +git-tree-sha1 = "5ab7744289be503d76a944784bac3f2df7b809af" +uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" +version = "0.20.9" + +[[deps.IntervalSets]] +deps = ["Dates", "Random"] +git-tree-sha1 = "8e59ea773deee525c99a8018409f64f19fb719e6" +uuid = "8197267c-284f-5f27-9208-e0e47529a953" +version = "0.7.7" +weakdeps = ["Statistics"] + + [deps.IntervalSets.extensions] + IntervalSetsStatisticsExt = "Statistics" + +[[deps.IrrationalConstants]] +git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" +uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" +version = "0.2.2" + +[[deps.Isoband]] +deps = ["isoband_jll"] +git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" +uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" +version = "0.1.1" + +[[deps.IterTools]] +git-tree-sha1 = "4ced6667f9974fc5c5943fa5e2ef1ca43ea9e450" +uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" +version = "1.8.0" + +[[deps.IteratorInterfaceExtensions]] +git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" +uuid = "82899510-4779-5014-852e-03e436cf321d" +version = "1.0.0" + +[[deps.JLFzf]] +deps = ["Pipe", "REPL", "Random", "fzf_jll"] +git-tree-sha1 = "f377670cda23b6b7c1c0b3893e37451c5c1a2185" +uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" +version = "0.1.5" + +[[deps.JLLWrappers]] +deps = ["Artifacts", "Preferences"] +git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" +uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" +version = "1.5.0" + +[[deps.JSON]] +deps = ["Dates", "Mmap", "Parsers", "Unicode"] +git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" +uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" +version = "0.21.4" + +[[deps.JpegTurbo]] +deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] +git-tree-sha1 = "327713faef2a3e5c80f96bf38d1fa26f7a6ae29e" +uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" +version = "0.1.3" + +[[deps.JpegTurbo_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" +uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" +version = "2.1.91+0" + +[[deps.JuliaInterpreter]] +deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] +git-tree-sha1 = "81dc6aefcbe7421bd62cb6ca0e700779330acff8" +uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" +version = "0.9.25" + +[[deps.KernelDensity]] +deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] +git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" +uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" +version = "0.6.7" + +[[deps.LAME_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" +uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" +version = "3.100.1+0" + +[[deps.LERC_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" +uuid = "88015f11-f218-50d7-93a8-a6af411a945d" +version = "3.0.0+1" + +[[deps.LLVMOpenMP_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" +uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" +version = "15.0.4+0" + +[[deps.LZO_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" +uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" +version = "2.10.1+0" + +[[deps.LaTeXStrings]] +git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" +uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" +version = "1.3.0" + +[[deps.LabelledArrays]] +deps = ["ArrayInterface", "ChainRulesCore", "ForwardDiff", "LinearAlgebra", "MacroTools", "PreallocationTools", "RecursiveArrayTools", "StaticArrays"] +git-tree-sha1 = "cd04158424635efd05ff38d5f55843397b7416a9" +uuid = "2ee39098-c373-598a-b85f-a56591580800" +version = "1.14.0" + +[[deps.LambertW]] +git-tree-sha1 = "c5ffc834de5d61d00d2b0e18c96267cffc21f648" +uuid = "984bce1d-4616-540c-a9ee-88d1112d94c9" +version = "0.4.6" + +[[deps.Latexify]] +deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] +git-tree-sha1 = "f428ae552340899a935973270b8d98e5a31c49fe" +uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" +version = "0.16.1" + + [deps.Latexify.extensions] + DataFramesExt = "DataFrames" + SymEngineExt = "SymEngine" + + [deps.Latexify.weakdeps] + DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" + SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" + +[[deps.Lazy]] +deps = ["MacroTools"] +git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" +uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" +version = "0.15.1" + +[[deps.LazyArtifacts]] +deps = ["Artifacts", "Pkg"] +uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" + +[[deps.LazyModules]] +git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" +uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" +version = "0.3.1" + +[[deps.LibCURL]] +deps = ["LibCURL_jll", "MozillaCACerts_jll"] +uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" +version = "0.6.3" + +[[deps.LibCURL_jll]] +deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] +uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" +version = "7.84.0+0" + +[[deps.LibGit2]] +deps = ["Base64", "NetworkOptions", "Printf", "SHA"] +uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" + +[[deps.LibSSH2_jll]] +deps = ["Artifacts", "Libdl", "MbedTLS_jll"] +uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" +version = "1.10.2+0" + +[[deps.Libdl]] +uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" + +[[deps.Libffi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" +uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" +version = "3.2.2+1" + +[[deps.Libgcrypt_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] +git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" +uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" +version = "1.8.7+0" + +[[deps.Libglvnd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] +git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" +uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" +version = "1.6.0+0" + +[[deps.Libgpg_error_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" +uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" +version = "1.42.0+0" + +[[deps.Libiconv_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" +uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" +version = "1.17.0+0" + +[[deps.Libmount_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" +uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" +version = "2.35.0+0" + +[[deps.Libtiff_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] +git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" +uuid = "89763e89-9b03-5906-acba-b20f662cd828" +version = "4.5.1+1" + +[[deps.Libuuid_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" +uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" +version = "2.36.0+0" + +[[deps.LightXML]] +deps = ["Libdl", "XML2_jll"] +git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" +uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" +version = "0.9.0" + +[[deps.LineSearches]] +deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] +git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" +uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" +version = "7.2.0" + +[[deps.LinearAlgebra]] +deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] +uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" + +[[deps.LinearAlgebraX]] +deps = ["LinearAlgebra", "Mods", "Permutations", "Primes", "SimplePolynomials"] +git-tree-sha1 = "558a338f1eeabe933f9c2d4052aa7c2c707c3d52" +uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88" +version = "0.1.12" + +[[deps.LogExpFunctions]] +deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] +git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" +uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" +version = "0.3.26" + + [deps.LogExpFunctions.extensions] + LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" + LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" + LogExpFunctionsInverseFunctionsExt = "InverseFunctions" + + [deps.LogExpFunctions.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.Logging]] +uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" + +[[deps.LoggingExtras]] +deps = ["Dates", "Logging"] +git-tree-sha1 = "0d097476b6c381ab7906460ef1ef1638fbce1d91" +uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" +version = "1.0.2" + +[[deps.LoweredCodeUtils]] +deps = ["JuliaInterpreter"] +git-tree-sha1 = "60168780555f3e663c536500aa790b6368adc02a" +uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" +version = "2.3.0" + +[[deps.LsqFit]] +deps = ["Distributions", "ForwardDiff", "LinearAlgebra", "NLSolversBase", "OptimBase", "Random", "StatsBase"] +git-tree-sha1 = "00f475f85c50584b12268675072663dfed5594b2" +uuid = "2fda8390-95c7-5789-9bda-21331edee243" +version = "0.13.0" + +[[deps.MKL_jll]] +deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] +git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" +uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" +version = "2023.2.0+0" + +[[deps.MPI]] +deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] +git-tree-sha1 = "df53d0e1e0dbebf2315f4cd35e13e52ad43416c2" +uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" +version = "0.20.15" + + [deps.MPI.extensions] + AMDGPUExt = "AMDGPU" + CUDAExt = "CUDA" + + [deps.MPI.weakdeps] + AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" + CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" + +[[deps.MPICH_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "8a5b4d2220377d1ece13f49438d71ad20cf1ba83" +uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" +version = "4.1.2+0" + +[[deps.MPIPreferences]] +deps = ["Libdl", "Preferences"] +git-tree-sha1 = "781916a2ebf2841467cda03b6f1af43e23839d85" +uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" +version = "0.1.9" + +[[deps.MPItrampoline_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "6979eccb6a9edbbb62681e158443e79ecc0d056a" +uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" +version = "5.3.1+0" + +[[deps.MacroTools]] +deps = ["Markdown", "Random"] +git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" +uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" +version = "0.5.11" + +[[deps.Makie]] +deps = ["Animations", "Base64", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "Match", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Setfield", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] +git-tree-sha1 = "e81675589ba7199a82443e87fc52e17eeceac2e8" +uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" +version = "0.19.8" + +[[deps.MakieCore]] +deps = ["Observables"] +git-tree-sha1 = "f56b09c8b964919373d61750c6d8d4d2c602a2be" +uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" +version = "0.6.5" + +[[deps.MappedArrays]] +git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" +uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" +version = "0.4.2" + +[[deps.Markdown]] +deps = ["Base64"] +uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" + +[[deps.Match]] +git-tree-sha1 = "1d9bc5c1a6e7ee24effb93f175c9342f9154d97f" +uuid = "7eb4fadd-790c-5f42-8a69-bfa0b872bfbf" +version = "1.2.0" + +[[deps.MathTeXEngine]] +deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "Test", "UnicodeFun"] +git-tree-sha1 = "8f52dbaa1351ce4cb847d95568cb29e62a307d93" +uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" +version = "0.5.6" + +[[deps.MbedTLS]] +deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] +git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" +uuid = "739be429-bea8-5141-9913-cc70e7f3736d" +version = "1.1.7" + +[[deps.MbedTLS_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" +version = "2.28.2+0" + +[[deps.Measures]] +git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" +uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" +version = "0.3.2" + +[[deps.MicrosoftMPI_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "a8027af3d1743b3bfae34e54872359fdebb31422" +uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" +version = "10.1.3+4" + +[[deps.Missings]] +deps = ["DataAPI"] +git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" +uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" +version = "1.1.0" + +[[deps.Mmap]] +uuid = "a63ad114-7e13-5084-954f-fe012c677804" + +[[deps.Mods]] +git-tree-sha1 = "61be59e4daffff43a8cec04b5e0dc773cbb5db3a" +uuid = "7475f97c-0381-53b1-977b-4c60186c8d62" +version = "1.3.3" + +[[deps.MosaicViews]] +deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] +git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" +uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" +version = "0.3.4" + +[[deps.MozillaCACerts_jll]] +uuid = "14a3606d-f60d-562e-9121-12d972cd8159" +version = "2022.10.11" + +[[deps.Multisets]] +git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" +uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09" +version = "0.4.4" + +[[deps.MultivariatePolynomials]] +deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] +git-tree-sha1 = "6c2e970692b6f4fed2508865c43a0f67f3820cf4" +uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3" +version = "0.5.2" + +[[deps.MutableArithmetics]] +deps = ["LinearAlgebra", "SparseArrays", "Test"] +git-tree-sha1 = "a7b647ce8f4fefbcaf7de28fa208c812e21dc18f" +uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" +version = "1.3.2" + +[[deps.NCDatasets]] +deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "NetCDF_jll", "NetworkOptions", "Printf"] +git-tree-sha1 = "4263c4220f22e20729329838bf7e94a49d1ac32f" +uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" +version = "0.12.17" + +[[deps.NLSolversBase]] +deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] +git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" +uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" +version = "7.8.3" + +[[deps.NaNMath]] +deps = ["OpenLibm_jll"] +git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" +uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" +version = "1.0.2" + +[[deps.NaturalSort]] +git-tree-sha1 = "eda490d06b9f7c00752ee81cfa451efe55521e21" +uuid = "c020b1a1-e9b0-503a-9c33-f039bfc54a85" +version = "1.0.0" + +[[deps.NetCDF_jll]] +deps = ["Artifacts", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "072f8371f74c3b9e1b26679de7fbf059d45ea221" +uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" +version = "400.902.5+1" + +[[deps.Netpbm]] +deps = ["FileIO", "ImageCore", "ImageMetadata"] +git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" +uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" +version = "1.1.1" + +[[deps.NetworkOptions]] +uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" +version = "1.2.0" + +[[deps.Observables]] +git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" +uuid = "510215fc-4207-5dde-b226-833fc4488ee2" +version = "0.5.4" + +[[deps.OffsetArrays]] +deps = ["Adapt"] +git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" +uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" +version = "1.12.10" + +[[deps.Ogg_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" +uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" +version = "1.3.5+1" + +[[deps.OpenBLAS_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] +uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" +version = "0.3.21+4" + +[[deps.OpenEXR]] +deps = ["Colors", "FileIO", "OpenEXR_jll"] +git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" +uuid = "52e1d378-f018-4a11-a4be-720524705ac7" +version = "0.3.2" + +[[deps.OpenEXR_jll]] +deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] +git-tree-sha1 = "a4ca623df1ae99d09bc9868b008262d0c0ac1e4f" +uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" +version = "3.1.4+0" + +[[deps.OpenLibm_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "05823500-19ac-5b8b-9628-191a04bc5112" +version = "0.8.1+0" + +[[deps.OpenMPI_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] +git-tree-sha1 = "f3080f4212a8ba2ceb10a34b938601b862094314" +uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" +version = "4.1.5+0" + +[[deps.OpenSSL]] +deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] +git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" +uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" +version = "1.4.1" + +[[deps.OpenSSL_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "bbb5c2115d63c2f1451cb70e5ef75e8fe4707019" +uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" +version = "1.1.22+0" + +[[deps.OpenSpecFun_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" +uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" +version = "0.5.5+0" + +[[deps.Optim]] +deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] +git-tree-sha1 = "963b004d15216f8129f6c0f7d187efa136570be0" +uuid = "429524aa-4258-5aef-a3af-852621145aeb" +version = "1.7.7" + +[[deps.OptimBase]] +deps = ["NLSolversBase", "Printf", "Reexport"] +git-tree-sha1 = "9cb1fee807b599b5f803809e85c81b582d2009d6" +uuid = "87e2bd06-a317-5318-96d9-3ecbac512eee" +version = "2.0.2" + +[[deps.Opus_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" +uuid = "91d4177d-7536-5919-b921-800302f37372" +version = "1.3.2+0" + +[[deps.OrderedCollections]] +git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" +uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" +version = "1.6.2" + +[[deps.PCRE2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" +version = "10.42.0+0" + +[[deps.PDMats]] +deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] +git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" +uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" +version = "0.11.17" + +[[deps.PNGFiles]] +deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] +git-tree-sha1 = "9b02b27ac477cad98114584ff964e3052f656a0f" +uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" +version = "0.4.0" + +[[deps.PackageCompiler]] +deps = ["Artifacts", "LazyArtifacts", "Libdl", "Pkg", "Printf", "RelocatableFolders", "TOML", "UUIDs"] +git-tree-sha1 = "1a6a868eb755e8ea9ecd000aa6ad175def0cc85b" +uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d" +version = "2.1.7" + +[[deps.Packing]] +deps = ["GeometryBasics"] +git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" +uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" +version = "0.5.0" + +[[deps.PaddedViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" +uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" +version = "0.5.12" + +[[deps.Pango_jll]] +deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "84a314e3926ba9ec66ac097e3635e270986b0f10" +uuid = "36c8627f-9965-5494-a995-c6b170f724f3" +version = "1.50.9+0" + +[[deps.Parameters]] +deps = ["OrderedCollections", "UnPack"] +git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" +uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" +version = "0.12.3" + +[[deps.Parsers]] +deps = ["Dates", "PrecompileTools", "UUIDs"] +git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" +uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" +version = "2.7.2" + +[[deps.Permutations]] +deps = ["Combinatorics", "LinearAlgebra", "Random"] +git-tree-sha1 = "25e2bb0973689836bf164ecb960762f1bb8794dd" +uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" +version = "0.4.17" + +[[deps.Pipe]] +git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" +uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" +version = "1.3.0" + +[[deps.Pixman_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] +git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" +uuid = "30392449-352a-5448-841d-b1acce4e97dc" +version = "0.42.2+0" + +[[deps.Pkg]] +deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] +uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" +version = "1.9.2" + +[[deps.PkgVersion]] +deps = ["Pkg"] +git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" +uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" +version = "0.3.3" + +[[deps.PlasmaDispersionFunctions]] +deps = ["SpecialFunctions"] +git-tree-sha1 = "53469d47be57bf112b8f51a90219713658b12ba6" +repo-rev = "main" +repo-url = "https://github.com/jwscook/PlasmaDispersionFunctions.jl" +uuid = "9207f8dc-3231-463e-84ff-2de753abf806" +version = "0.1.0" + +[[deps.PlotThemes]] +deps = ["PlotUtils", "Statistics"] +git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" +uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" +version = "3.1.0" + +[[deps.PlotUtils]] +deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] +git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" +uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" +version = "1.3.5" + +[[deps.Plots]] +deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] +git-tree-sha1 = "ccee59c6e48e6f2edf8a5b64dc817b6729f99eb5" +uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" +version = "1.39.0" + + [deps.Plots.extensions] + FileIOExt = "FileIO" + GeometryBasicsExt = "GeometryBasics" + IJuliaExt = "IJulia" + ImageInTerminalExt = "ImageInTerminal" + UnitfulExt = "Unitful" + + [deps.Plots.weakdeps] + FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" + GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" + IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" + ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" + Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" + +[[deps.PolygonOps]] +git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" +uuid = "647866c9-e3ac-4575-94e7-e3d426903924" +version = "0.1.2" + +[[deps.Polynomials]] +deps = ["LinearAlgebra", "RecipesBase", "Setfield"] +git-tree-sha1 = "af8c8b863adb84abacb9a87822a778a3982901e1" +uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" +version = "4.0.2" +weakdeps = ["ChainRulesCore", "FFTW", "MakieCore", "MutableArithmetics"] + + [deps.Polynomials.extensions] + PolynomialsChainRulesCoreExt = "ChainRulesCore" + PolynomialsFFTWExt = "FFTW" + PolynomialsMakieCoreExt = "MakieCore" + PolynomialsMutableArithmeticsExt = "MutableArithmetics" + +[[deps.PositiveFactorizations]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" +uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" +version = "0.2.4" + +[[deps.PreallocationTools]] +deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] +git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" +uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" +version = "0.4.12" + + [deps.PreallocationTools.extensions] + PreallocationToolsReverseDiffExt = "ReverseDiff" + + [deps.PreallocationTools.weakdeps] + ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" + +[[deps.PrecompileTools]] +deps = ["Preferences"] +git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" +uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" +version = "1.2.0" + +[[deps.Preferences]] +deps = ["TOML"] +git-tree-sha1 = "7eb1686b4f04b82f96ed7a4ea5890a4f0c7a09f1" +uuid = "21216c6a-2e73-6563-6e65-726566657250" +version = "1.4.0" + +[[deps.Primes]] +deps = ["IntegerMathUtils"] +git-tree-sha1 = "4c9f306e5d6603ae203c2000dd460d81a5251489" +uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" +version = "0.5.4" + +[[deps.Printf]] +deps = ["Unicode"] +uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" + +[[deps.ProgressMeter]] +deps = ["Distributed", "Printf"] +git-tree-sha1 = "ae36206463b2395804f2787ffe172f44452b538d" +uuid = "92933f4c-e287-5a05-a399-4b506db050ca" +version = "1.8.0" + +[[deps.PyCall]] +deps = ["Conda", "Dates", "Libdl", "LinearAlgebra", "MacroTools", "Serialization", "VersionParsing"] +git-tree-sha1 = "43d304ac6f0354755f1d60730ece8c499980f7ba" +uuid = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" +version = "1.96.1" + +[[deps.PyPlot]] +deps = ["Colors", "LaTeXStrings", "PyCall", "Sockets", "Test", "VersionParsing"] +git-tree-sha1 = "9220a9dae0369f431168d60adab635f88aca7857" +uuid = "d330b81b-6aea-500a-939a-2ce795aea3ee" +version = "2.11.2" + +[[deps.QOI]] +deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] +git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" +uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" +version = "1.0.0" + +[[deps.Qt6Base_jll]] +deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] +git-tree-sha1 = "364898e8f13f7eaaceec55fd3d08680498c0aa6e" +uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" +version = "6.4.2+3" + +[[deps.QuadGK]] +deps = ["DataStructures", "LinearAlgebra"] +git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" +uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" +version = "2.8.2" + +[[deps.REPL]] +deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] +uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" + +[[deps.Random]] +deps = ["SHA", "Serialization"] +uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" + +[[deps.RandomExtensions]] +deps = ["Random", "SparseArrays"] +git-tree-sha1 = "062986376ce6d394b23d5d90f01d81426113a3c9" +uuid = "fb686558-2515-59ef-acaa-46db3789a887" +version = "0.4.3" + +[[deps.RangeArrays]] +git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" +uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" +version = "0.3.2" + +[[deps.Ratios]] +deps = ["Requires"] +git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" +uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" +version = "0.4.5" +weakdeps = ["FixedPointNumbers"] + + [deps.Ratios.extensions] + RatiosFixedPointNumbersExt = "FixedPointNumbers" + +[[deps.RecipesBase]] +deps = ["PrecompileTools"] +git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" +uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" +version = "1.3.4" + +[[deps.RecipesPipeline]] +deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] +git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" +uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" +version = "0.6.12" + +[[deps.RecursiveArrayTools]] +deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] +git-tree-sha1 = "7ed35fb5f831aaf09c2d7c8736d44667a1afdcb0" +uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" +version = "2.38.7" + + [deps.RecursiveArrayTools.extensions] + RecursiveArrayToolsMeasurementsExt = "Measurements" + RecursiveArrayToolsTrackerExt = "Tracker" + RecursiveArrayToolsZygoteExt = "Zygote" + + [deps.RecursiveArrayTools.weakdeps] + Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" + Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.Reexport]] +git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" +uuid = "189a3867-3050-52da-a836-e630ba90ab69" +version = "1.2.2" + +[[deps.RelocatableFolders]] +deps = ["SHA", "Scratch"] +git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" +uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" +version = "1.0.0" + +[[deps.Requires]] +deps = ["UUIDs"] +git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" +uuid = "ae029012-a4dd-5104-9daa-d747884805df" +version = "1.3.0" + +[[deps.Revise]] +deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] +git-tree-sha1 = "1e597b93700fa4045d7189afa7c004e0584ea548" +uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" +version = "3.5.3" + +[[deps.RingLists]] +deps = ["Random"] +git-tree-sha1 = "f39da63aa6d2d88e0c1bd20ed6a3ff9ea7171ada" +uuid = "286e9d63-9694-5540-9e3c-4e6708fa07b2" +version = "0.2.8" + +[[deps.Rmath]] +deps = ["Random", "Rmath_jll"] +git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" +uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" +version = "0.7.1" + +[[deps.Rmath_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" +uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" +version = "0.4.0+0" + +[[deps.Roots]] +deps = ["ChainRulesCore", "CommonSolve", "Printf", "Setfield"] +git-tree-sha1 = "ff42754a57bb0d6dcfe302fd0d4272853190421f" +uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" +version = "2.0.19" + + [deps.Roots.extensions] + RootsForwardDiffExt = "ForwardDiff" + RootsIntervalRootFindingExt = "IntervalRootFinding" + RootsSymPyExt = "SymPy" + + [deps.Roots.weakdeps] + ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" + IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" + SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" + +[[deps.RoundingEmulator]] +git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" +uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" +version = "0.2.1" + +[[deps.RuntimeGeneratedFunctions]] +deps = ["ExprTools", "SHA", "Serialization"] +git-tree-sha1 = "6aacc5eefe8415f47b3e34214c1d79d2674a0ba2" +uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" +version = "0.5.12" + +[[deps.SHA]] +uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" +version = "0.7.0" + +[[deps.SIMD]] +deps = ["PrecompileTools"] +git-tree-sha1 = "0e270732477b9e551d884e6b07e23bb2ec947790" +uuid = "fdea26ae-647d-5447-a871-4b548cad5224" +version = "3.4.5" + +[[deps.SciMLBase]] +deps = ["ADTypes", "ArrayInterface", "ChainRulesCore", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces", "ZygoteRules"] +git-tree-sha1 = "54b005258bb5ee4b6fd0f440b528e7b7af4c9975" +uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" +version = "1.96.2" + + [deps.SciMLBase.extensions] + ZygoteExt = "Zygote" + + [deps.SciMLBase.weakdeps] + Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" + +[[deps.SciMLOperators]] +deps = ["ArrayInterface", "DocStringExtensions", "Lazy", "LinearAlgebra", "Setfield", "SparseArrays", "StaticArraysCore", "Tricks"] +git-tree-sha1 = "65c2e6ced6f62ea796af251eb292a0e131a3613b" +uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" +version = "0.3.6" + +[[deps.Scratch]] +deps = ["Dates"] +git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" +uuid = "6c6a2e73-6563-6170-7368-637461726353" +version = "1.2.0" + +[[deps.Serialization]] +uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" + +[[deps.SetRounding]] +git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" +uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" +version = "0.2.1" + +[[deps.Setfield]] +deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] +git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" +uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" +version = "1.1.1" + +[[deps.ShaderAbstractions]] +deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] +git-tree-sha1 = "0d15c3e7b2003f4451714f08ffec2b77badc2dc4" +uuid = "65257c39-d410-5151-9873-9b3e5be5013e" +version = "0.3.0" + +[[deps.SharedArrays]] +deps = ["Distributed", "Mmap", "Random", "Serialization"] +uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" + +[[deps.Showoff]] +deps = ["Dates", "Grisu"] +git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" +uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" +version = "1.0.3" + +[[deps.SignedDistanceFields]] +deps = ["Random", "Statistics", "Test"] +git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" +uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" +version = "0.4.0" + +[[deps.SimpleBufferStream]] +git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" +uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" +version = "1.1.0" + +[[deps.SimpleGraphs]] +deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"] +git-tree-sha1 = "b608903049d11cc557c45e03b3a53e9260579c19" +uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" +version = "0.8.4" + +[[deps.SimplePartitions]] +deps = ["AbstractLattices", "DataStructures", "Permutations"] +git-tree-sha1 = "dcc02923a53f316ab97da8ef3136e80b4543dbf1" +uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" +version = "0.3.0" + +[[deps.SimplePolynomials]] +deps = ["Mods", "Multisets", "Polynomials", "Primes"] +git-tree-sha1 = "d537c31cf9995236166e3e9afc424a5a1c59ff9d" +uuid = "cc47b68c-3164-5771-a705-2bc0097375a0" +version = "0.2.14" + +[[deps.SimpleRandom]] +deps = ["Distributions", "LinearAlgebra", "Random"] +git-tree-sha1 = "3a6fb395e37afab81aeea85bae48a4db5cd7244a" +uuid = "a6525b86-64cd-54fa-8f65-62fc48bdc0e8" +version = "0.3.1" + +[[deps.SimpleTraits]] +deps = ["InteractiveUtils", "MacroTools"] +git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" +uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" +version = "0.9.4" + +[[deps.Sixel]] +deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] +git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" +uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" +version = "0.1.3" + +[[deps.SnoopPrecompile]] +deps = ["Preferences"] +git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" +uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" +version = "1.0.3" + +[[deps.Sockets]] +uuid = "6462fe0b-24de-5631-8697-dd941f90decc" + +[[deps.SoftGlobalScope]] +deps = ["REPL"] +git-tree-sha1 = "986ec2b6162ccb95de5892ed17832f95badf770c" +uuid = "b85f4697-e234-5449-a836-ec8e2f98b302" +version = "1.1.0" + +[[deps.SortingAlgorithms]] +deps = ["DataStructures"] +git-tree-sha1 = "c60ec5c62180f27efea3ba2908480f8055e17cee" +uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" +version = "1.1.1" + +[[deps.SparseArrays]] +deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] +uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" + +[[deps.SpecialFunctions]] +deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] +git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" +uuid = "276daf66-3868-5448-9aa4-cd146d93841b" +version = "2.3.1" +weakdeps = ["ChainRulesCore"] + + [deps.SpecialFunctions.extensions] + SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" + +[[deps.StableHashTraits]] +deps = ["CRC32c", "Compat", "Dates", "SHA", "Tables", "TupleTools", "UUIDs"] +git-tree-sha1 = "0b8b801b8f03a329a4e86b44c5e8a7d7f4fe10a3" +uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" +version = "0.3.1" + +[[deps.StackViews]] +deps = ["OffsetArrays"] +git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" +uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" +version = "0.1.1" + +[[deps.StaticArrays]] +deps = ["LinearAlgebra", "Random", "StaticArraysCore"] +git-tree-sha1 = "9cabadf6e7cd2349b6cf49f1915ad2028d65e881" +uuid = "90137ffa-7385-5640-81b9-e52037218182" +version = "1.6.2" +weakdeps = ["Statistics"] + + [deps.StaticArrays.extensions] + StaticArraysStatisticsExt = "Statistics" + +[[deps.StaticArraysCore]] +git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" +uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" +version = "1.4.2" + +[[deps.Statistics]] +deps = ["LinearAlgebra", "SparseArrays"] +uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" +version = "1.9.0" + +[[deps.StatsAPI]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" +uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" +version = "1.7.0" + +[[deps.StatsBase]] +deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] +git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" +uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" +version = "0.33.21" + +[[deps.StatsFuns]] +deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] +git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" +uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" +version = "1.3.0" + + [deps.StatsFuns.extensions] + StatsFunsChainRulesCoreExt = "ChainRulesCore" + StatsFunsInverseFunctionsExt = "InverseFunctions" + + [deps.StatsFuns.weakdeps] + ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.StructArrays]] +deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] +git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" +uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" +version = "0.6.15" + +[[deps.SuiteSparse]] +deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] +uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" + +[[deps.SuiteSparse_jll]] +deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] +uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" +version = "5.10.1+6" + +[[deps.SymbolicIndexingInterface]] +deps = ["DocStringExtensions"] +git-tree-sha1 = "f8ab052bfcbdb9b48fad2c80c873aa0d0344dfe5" +uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" +version = "0.2.2" + +[[deps.SymbolicUtils]] +deps = ["AbstractTrees", "Bijections", "ChainRulesCore", "Combinatorics", "ConstructionBase", "DataStructures", "DocStringExtensions", "DynamicPolynomials", "IfElse", "LabelledArrays", "LinearAlgebra", "MultivariatePolynomials", "NaNMath", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "TimerOutputs", "Unityper"] +git-tree-sha1 = "dbb5d0cb3aa5207e887ab12e4549c5313d0f4f02" +uuid = "d1185830-fcd6-423d-90d6-eec64667417b" +version = "1.3.0" + +[[deps.Symbolics]] +deps = ["ArrayInterface", "Bijections", "ConstructionBase", "DataStructures", "DiffRules", "Distributions", "DocStringExtensions", "DomainSets", "DynamicPolynomials", "Groebner", "IfElse", "LaTeXStrings", "LambertW", "Latexify", "Libdl", "LinearAlgebra", "MacroTools", "Markdown", "NaNMath", "RecipesBase", "Reexport", "Requires", "RuntimeGeneratedFunctions", "SciMLBase", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "TreeViews"] +git-tree-sha1 = "ac7f8825d029b568f82dbf2cb49da9cebcadaffb" +uuid = "0c5d862f-8b57-4792-8d23-62f2024744c7" +version = "5.5.3" + + [deps.Symbolics.extensions] + SymbolicsSymPyExt = "SymPy" + + [deps.Symbolics.weakdeps] + SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" + +[[deps.TOML]] +deps = ["Dates"] +uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" +version = "1.0.3" + +[[deps.TableTraits]] +deps = ["IteratorInterfaceExtensions"] +git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" +uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" +version = "1.0.1" + +[[deps.Tables]] +deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] +git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" +uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" +version = "1.10.1" + +[[deps.Tar]] +deps = ["ArgTools", "SHA"] +uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" +version = "1.10.0" + +[[deps.TensorCore]] +deps = ["LinearAlgebra"] +git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" +uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" +version = "0.1.1" + +[[deps.Test]] +deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] +uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" + +[[deps.TextWrap]] +git-tree-sha1 = "9250ef9b01b66667380cf3275b3f7488d0e25faf" +uuid = "b718987f-49a8-5099-9789-dcd902bef87d" +version = "1.0.1" + +[[deps.TiffImages]] +deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] +git-tree-sha1 = "8621f5c499a8aa4aa970b1ae381aae0ef1576966" +uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" +version = "0.6.4" + +[[deps.TimerOutputs]] +deps = ["ExprTools", "Printf"] +git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" +uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" +version = "0.5.23" + +[[deps.TranscodingStreams]] +deps = ["Random", "Test"] +git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" +uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" +version = "0.9.13" + +[[deps.TreeViews]] +deps = ["Test"] +git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" +uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" +version = "0.3.0" + +[[deps.Tricks]] +git-tree-sha1 = "aadb748be58b492045b4f56166b5188aa63ce549" +uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" +version = "0.1.7" + +[[deps.TriplotBase]] +git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" +uuid = "981d1d27-644d-49a2-9326-4793e63143c3" +version = "0.1.0" + +[[deps.TruncatedStacktraces]] +deps = ["InteractiveUtils", "MacroTools", "Preferences"] +git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" +uuid = "781d530d-4396-4725-bb49-402e4bee1e77" +version = "1.4.0" + +[[deps.TupleTools]] +git-tree-sha1 = "3c712976c47707ff893cf6ba4354aa14db1d8938" +uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" +version = "1.3.0" + +[[deps.URIs]] +git-tree-sha1 = "b7a5e99f24892b6824a954199a45e9ffcc1c70f0" +uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" +version = "1.5.0" + +[[deps.UUIDs]] +deps = ["Random", "SHA"] +uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" + +[[deps.UnPack]] +git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" +uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" +version = "1.0.2" + +[[deps.Unicode]] +uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" + +[[deps.UnicodeFun]] +deps = ["REPL"] +git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" +uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" +version = "0.4.1" + +[[deps.Unitful]] +deps = ["Dates", "LinearAlgebra", "Random"] +git-tree-sha1 = "a72d22c7e13fe2de562feda8645aa134712a87ee" +uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" +version = "1.17.0" + + [deps.Unitful.extensions] + ConstructionBaseUnitfulExt = "ConstructionBase" + InverseFunctionsUnitfulExt = "InverseFunctions" + + [deps.Unitful.weakdeps] + ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" + InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" + +[[deps.UnitfulLatexify]] +deps = ["LaTeXStrings", "Latexify", "Unitful"] +git-tree-sha1 = "e2d817cc500e960fdbafcf988ac8436ba3208bfd" +uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" +version = "1.6.3" + +[[deps.Unityper]] +deps = ["ConstructionBase"] +git-tree-sha1 = "21c8fc7cd598ef49f11bc9e94871f5d7740e34b9" +uuid = "a7c27f48-0311-42f6-a7f8-2c11e75eb415" +version = "0.1.5" + +[[deps.Unzip]] +git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" +uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" +version = "0.2.0" + +[[deps.VersionParsing]] +git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" +uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" +version = "1.3.0" + +[[deps.Wayland_jll]] +deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] +git-tree-sha1 = "ed8d92d9774b077c53e1da50fd81a36af3744c1c" +uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" +version = "1.21.0+0" + +[[deps.Wayland_protocols_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" +uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" +version = "1.25.0+0" + +[[deps.WoodburyMatrices]] +deps = ["LinearAlgebra", "SparseArrays"] +git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" +uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" +version = "0.5.5" + +[[deps.XML2_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] +git-tree-sha1 = "04a51d15436a572301b5abbb9d099713327e9fc4" +uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" +version = "2.10.4+0" + +[[deps.XSLT_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] +git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" +uuid = "aed1982a-8fda-507f-9586-7b0439959a61" +version = "1.1.34+0" + +[[deps.XZ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "cf2c7de82431ca6f39250d2fc4aacd0daa1675c0" +uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" +version = "5.4.4+0" + +[[deps.Xorg_libX11_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] +git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" +uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" +version = "1.8.6+0" + +[[deps.Xorg_libXau_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" +uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" +version = "1.0.11+0" + +[[deps.Xorg_libXcursor_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" +uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" +version = "1.2.0+4" + +[[deps.Xorg_libXdmcp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" +uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" +version = "1.1.4+0" + +[[deps.Xorg_libXext_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" +uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" +version = "1.3.4+4" + +[[deps.Xorg_libXfixes_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" +uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" +version = "5.0.3+4" + +[[deps.Xorg_libXi_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] +git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" +uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" +version = "1.7.10+4" + +[[deps.Xorg_libXinerama_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] +git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" +uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" +version = "1.1.4+4" + +[[deps.Xorg_libXrandr_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] +git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" +uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" +version = "1.5.2+4" + +[[deps.Xorg_libXrender_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] +git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" +uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" +version = "0.9.10+4" + +[[deps.Xorg_libpthread_stubs_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" +uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" +version = "0.1.1+0" + +[[deps.Xorg_libxcb_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] +git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" +uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" +version = "1.15.0+0" + +[[deps.Xorg_libxkbfile_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] +git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" +uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" +version = "1.1.2+0" + +[[deps.Xorg_xcb_util_image_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" +uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] +git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" +uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_keysyms_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" +uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" +version = "0.4.0+1" + +[[deps.Xorg_xcb_util_renderutil_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" +uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" +version = "0.3.9+1" + +[[deps.Xorg_xcb_util_wm_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] +git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" +uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" +version = "0.4.1+1" + +[[deps.Xorg_xkbcomp_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] +git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" +uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" +version = "1.4.6+0" + +[[deps.Xorg_xkeyboard_config_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] +git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" +uuid = "33bec58e-1273-512f-9401-5d533626f822" +version = "2.39.0+0" + +[[deps.Xorg_xtrans_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" +uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" +version = "1.5.0+0" + +[[deps.ZMQ]] +deps = ["FileWatching", "Sockets", "ZeroMQ_jll"] +git-tree-sha1 = "356d2bdcc0bce90aabee1d1c0f6d6f301eda8f77" +uuid = "c2297ded-f4af-51ae-bb23-16f91089e4e1" +version = "1.2.2" + +[[deps.ZeroMQ_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "libsodium_jll"] +git-tree-sha1 = "fe5c65a526f066fb3000da137d5785d9649a8a47" +uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568" +version = "4.3.4+0" + +[[deps.Zlib_jll]] +deps = ["Libdl"] +uuid = "83775a58-1f1d-513f-b197-d71354ab007a" +version = "1.2.13+0" + +[[deps.Zstd_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl"] +git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" +uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" +version = "1.5.5+0" + +[[deps.ZygoteRules]] +deps = ["ChainRulesCore", "MacroTools"] +git-tree-sha1 = "977aed5d006b840e2e40c0b48984f7463109046d" +uuid = "700de1a5-db45-46bc-99cf-38207098b444" +version = "0.2.3" + +[[deps.fzf_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "868e669ccb12ba16eaf50cb2957ee2ff61261c56" +uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" +version = "0.29.0+0" + +[[deps.isoband_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" +uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" +version = "0.2.3+0" + +[[deps.libaom_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" +uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" +version = "3.4.0+0" + +[[deps.libass_jll]] +deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" +uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" +version = "0.15.1+0" + +[[deps.libblastrampoline_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" +version = "5.8.0+0" + +[[deps.libfdk_aac_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" +uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" +version = "2.0.2+0" + +[[deps.libpng_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] +git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" +uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" +version = "1.6.38+0" + +[[deps.libsixel_jll]] +deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] +git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c" +uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" +version = "1.10.3+0" + +[[deps.libsodium_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" +uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" +version = "1.0.20+0" + +[[deps.libvorbis_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] +git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" +uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" +version = "1.3.7+1" + +[[deps.moment_kinetics]] +deps = ["ArgParse", "CairoMakie", "Combinatorics", "Dates", "DelimitedFiles", "FFTW", "Glob", "HDF5", "IJulia", "IfElse", "Interpolations", "LaTeXStrings", "LibGit2", "LinearAlgebra", "LsqFit", "MPI", "MPIPreferences", "Measures", "NCDatasets", "NaNMath", "NaturalSort", "OrderedCollections", "PackageCompiler", "Pkg", "Plots", "Preferences", "Primes", "PyCall", "PyPlot", "Revise", "Roots", "SHA", "SpecialFunctions", "Statistics", "StatsBase", "Symbolics", "TOML", "TimerOutputs", "UUIDs", "Unitful"] +path = "../.." +uuid = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" +version = "0.1.0" + +[[deps.nghttp2_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" +version = "1.48.0+0" + +[[deps.p7zip_jll]] +deps = ["Artifacts", "Libdl"] +uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" +version = "17.4.0+0" + +[[deps.x264_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" +uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" +version = "2021.5.5+0" + +[[deps.x265_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] +git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" +uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" +version = "3.5.0+0" + +[[deps.xkbcommon_jll]] +deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] +git-tree-sha1 = "9ebfc140cc56e8c2156a15ceac2f0302e327ac0a" +uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" +version = "1.4.1+0" diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml index d812df24c..884b3b257 100644 --- a/publication_inputs/2023_EFTC_jto-poster/Project.toml +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -2,3 +2,5 @@ LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" MathTeXEngine = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" Optim = "429524aa-4258-5aef-a3af-852621145aeb" +PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" +moment_kinetics = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" From c35798a8c9fe845c5b5ada0c30f01d72e5a0f982 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 14:36:24 +0000 Subject: [PATCH 67/71] eftc2023-jto: Remove temporary Manifest.toml for 2023_EFTC_jto-poster" Don't want to keep Manifest.toml files in the repository generally, because they interfere with locally-installed dependencies and versions. --- .../2023_EFTC_jto-poster/Manifest.toml | 2320 ----------------- .../2023_EFTC_jto-poster/Project.toml | 2 - 2 files changed, 2322 deletions(-) delete mode 100644 publication_inputs/2023_EFTC_jto-poster/Manifest.toml diff --git a/publication_inputs/2023_EFTC_jto-poster/Manifest.toml b/publication_inputs/2023_EFTC_jto-poster/Manifest.toml deleted file mode 100644 index 6f7be3c29..000000000 --- a/publication_inputs/2023_EFTC_jto-poster/Manifest.toml +++ /dev/null @@ -1,2320 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.9.3" -manifest_format = "2.0" -project_hash = "6630017b0e3356f9fd63a28ce701e7eda3c6b3da" - -[[deps.ADTypes]] -git-tree-sha1 = "d68758475ff90600488eb975b5ac222709a7dd6f" -uuid = "47edcb42-4c32-4615-8424-f2b9edc5f35b" -version = "0.2.2" - -[[deps.AbstractAlgebra]] -deps = ["GroupsCore", "InteractiveUtils", "LinearAlgebra", "MacroTools", "Preferences", "Random", "RandomExtensions", "SparseArrays", "Test"] -git-tree-sha1 = "41b45260ad00b666558c16f7cd9db0e8af408ea1" -uuid = "c3fe647b-3220-5bb0-a1ea-a7954cac585d" -version = "0.31.1" - -[[deps.AbstractFFTs]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "d92ad398961a3ed262d8bf04a1a2b8340f915fef" -uuid = "621f4979-c628-5d54-868e-fcf4e3e8185c" -version = "1.5.0" -weakdeps = ["ChainRulesCore", "Test"] - - [deps.AbstractFFTs.extensions] - AbstractFFTsChainRulesCoreExt = "ChainRulesCore" - AbstractFFTsTestExt = "Test" - -[[deps.AbstractLattices]] -git-tree-sha1 = "f35684b7349da49fcc8a9e520e30e45dbb077166" -uuid = "398f06c4-4d28-53ec-89ca-5b2656b7603d" -version = "0.2.1" - -[[deps.AbstractTrees]] -git-tree-sha1 = "faa260e4cb5aba097a73fab382dd4b5819d8ec8c" -uuid = "1520ce14-60c1-5f80-bbc7-55ef81b5835c" -version = "0.4.4" - -[[deps.Adapt]] -deps = ["LinearAlgebra", "Requires"] -git-tree-sha1 = "76289dc51920fdc6e0013c872ba9551d54961c24" -uuid = "79e6a3ab-5dfb-504d-930d-738a2a938a0e" -version = "3.6.2" -weakdeps = ["StaticArrays"] - - [deps.Adapt.extensions] - AdaptStaticArraysExt = "StaticArrays" - -[[deps.Animations]] -deps = ["Colors"] -git-tree-sha1 = "e81c509d2c8e49592413bfb0bb3b08150056c79d" -uuid = "27a7e980-b3e6-11e9-2bcd-0b925532e340" -version = "0.4.1" - -[[deps.ArgParse]] -deps = ["Logging", "TextWrap"] -git-tree-sha1 = "3102bce13da501c9104df33549f511cd25264d7d" -uuid = "c7e460c6-2fb9-53a9-8c5b-16f535851c63" -version = "1.1.4" - -[[deps.ArgTools]] -uuid = "0dad84c5-d112-42e6-8d28-ef12dabb789f" -version = "1.1.1" - -[[deps.ArrayInterface]] -deps = ["Adapt", "LinearAlgebra", "Requires", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "f83ec24f76d4c8f525099b2ac475fc098138ec31" -uuid = "4fba245c-0d91-5ea0-9b3e-6abc04ee57a9" -version = "7.4.11" - - [deps.ArrayInterface.extensions] - ArrayInterfaceBandedMatricesExt = "BandedMatrices" - ArrayInterfaceBlockBandedMatricesExt = "BlockBandedMatrices" - ArrayInterfaceCUDAExt = "CUDA" - ArrayInterfaceGPUArraysCoreExt = "GPUArraysCore" - ArrayInterfaceStaticArraysCoreExt = "StaticArraysCore" - ArrayInterfaceTrackerExt = "Tracker" - - [deps.ArrayInterface.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - GPUArraysCore = "46192b85-c4d5-4398-a991-12ede77f4527" - StaticArraysCore = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - -[[deps.Artifacts]] -uuid = "56f22d72-fd6d-98f1-02f0-08ddc0907c33" - -[[deps.Automa]] -deps = ["TranscodingStreams"] -git-tree-sha1 = "ef9997b3d5547c48b41c7bd8899e812a917b409d" -uuid = "67c07d97-cdcb-5c2c-af73-a7f9c32a568b" -version = "0.8.4" - -[[deps.AxisAlgorithms]] -deps = ["LinearAlgebra", "Random", "SparseArrays", "WoodburyMatrices"] -git-tree-sha1 = "66771c8d21c8ff5e3a93379480a2307ac36863f7" -uuid = "13072b0f-2c55-5437-9ae7-d433b7a33950" -version = "1.0.1" - -[[deps.AxisArrays]] -deps = ["Dates", "IntervalSets", "IterTools", "RangeArrays"] -git-tree-sha1 = "16351be62963a67ac4083f748fdb3cca58bfd52f" -uuid = "39de3d68-74b9-583c-8d2d-e117c070f3a9" -version = "0.4.7" - -[[deps.Base64]] -uuid = "2a0f44e3-6c83-55bd-87e4-b1978d98bd5f" - -[[deps.Bijections]] -git-tree-sha1 = "71281c0c28f97e0adeed24fdaa6bf7d37177f297" -uuid = "e2ed5e7c-b2de-5872-ae92-c73ca462fb04" -version = "0.1.5" - -[[deps.BitFlags]] -git-tree-sha1 = "43b1a4a8f797c1cddadf60499a8a077d4af2cd2d" -uuid = "d1d4a3ce-64b1-5f1a-9ba4-7e7e69966f35" -version = "0.1.7" - -[[deps.Bzip2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "19a35467a82e236ff51bc17a3a44b69ef35185a2" -uuid = "6e34b625-4abd-537c-b88f-471c36dfa7a0" -version = "1.0.8+0" - -[[deps.CEnum]] -git-tree-sha1 = "eb4cb44a499229b3b8426dcfb5dd85333951ff90" -uuid = "fa961155-64e5-5f13-b03f-caf6b980ea82" -version = "0.4.2" - -[[deps.CFTime]] -deps = ["Dates", "Printf"] -git-tree-sha1 = "ed2e76c1c3c43fd9d0cb9248674620b29d71f2d1" -uuid = "179af706-886a-5703-950a-314cd64e0468" -version = "0.1.2" - -[[deps.CRC32c]] -uuid = "8bf52ea8-c179-5cab-976a-9e18b702a9bc" - -[[deps.CRlibm]] -deps = ["CRlibm_jll"] -git-tree-sha1 = "32abd86e3c2025db5172aa182b982debed519834" -uuid = "96374032-68de-5a5b-8d9e-752f78720389" -version = "1.0.1" - -[[deps.CRlibm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e329286945d0cfc04456972ea732551869af1cfc" -uuid = "4e9b3aee-d8a1-5a3d-ad8b-7d824db253f0" -version = "1.0.1+0" - -[[deps.Cairo]] -deps = ["Cairo_jll", "Colors", "Glib_jll", "Graphics", "Libdl", "Pango_jll"] -git-tree-sha1 = "d0b3f8b4ad16cb0a2988c6788646a5e6a17b6b1b" -uuid = "159f3aea-2a34-519c-b102-8c37f9878175" -version = "1.0.5" - -[[deps.CairoMakie]] -deps = ["Base64", "Cairo", "Colors", "FFTW", "FileIO", "FreeType", "GeometryBasics", "LinearAlgebra", "Makie", "PrecompileTools", "SHA"] -git-tree-sha1 = "30562a68ded3dabe80109caf6b4de73a48ac27bc" -uuid = "13f3f980-e62b-5c42-98c6-ff1f3baf88f0" -version = "0.10.8" - -[[deps.Cairo_jll]] -deps = ["Artifacts", "Bzip2_jll", "CompilerSupportLibraries_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "JLLWrappers", "LZO_jll", "Libdl", "Pixman_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "4b859a208b2397a7a623a03449e4636bdb17bcf2" -uuid = "83423d85-b0ee-5818-9007-b63ccbeb887a" -version = "1.16.1+1" - -[[deps.Calculus]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "f641eb0a4f00c343bbc32346e1217b86f3ce9dad" -uuid = "49dc2e85-a5d0-5ad3-a950-438e2897f1b9" -version = "0.5.1" - -[[deps.ChainRulesCore]] -deps = ["Compat", "LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "e30f2f4e20f7f186dc36529910beaedc60cfa644" -uuid = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" -version = "1.16.0" - -[[deps.CodeTracking]] -deps = ["InteractiveUtils", "UUIDs"] -git-tree-sha1 = "a1296f0fe01a4c3f9bf0dc2934efbf4416f5db31" -uuid = "da1fd8a2-8d9e-5ec2-8556-3022fb5608a2" -version = "1.3.4" - -[[deps.CodecZlib]] -deps = ["TranscodingStreams", "Zlib_jll"] -git-tree-sha1 = "02aa26a4cf76381be7f66e020a3eddeb27b0a092" -uuid = "944b1d66-785c-5afd-91f1-9de20f533193" -version = "0.7.2" - -[[deps.ColorBrewer]] -deps = ["Colors", "JSON", "Test"] -git-tree-sha1 = "61c5334f33d91e570e1d0c3eb5465835242582c4" -uuid = "a2cac450-b92f-5266-8821-25eda20663c8" -version = "0.4.0" - -[[deps.ColorSchemes]] -deps = ["ColorTypes", "ColorVectorSpace", "Colors", "FixedPointNumbers", "PrecompileTools", "Random"] -git-tree-sha1 = "d9a8f86737b665e15a9641ecbac64deef9ce6724" -uuid = "35d6a980-a343-548e-a6ea-1d62b119f2f4" -version = "3.23.0" - -[[deps.ColorTypes]] -deps = ["FixedPointNumbers", "Random"] -git-tree-sha1 = "eb7f0f8307f71fac7c606984ea5fb2817275d6e4" -uuid = "3da002f7-5984-5a60-b8a6-cbb66c0b333f" -version = "0.11.4" - -[[deps.ColorVectorSpace]] -deps = ["ColorTypes", "FixedPointNumbers", "LinearAlgebra", "SpecialFunctions", "Statistics", "TensorCore"] -git-tree-sha1 = "600cc5508d66b78aae350f7accdb58763ac18589" -uuid = "c3611d14-8923-5661-9e6a-0046d554d3a4" -version = "0.9.10" - -[[deps.Colors]] -deps = ["ColorTypes", "FixedPointNumbers", "Reexport"] -git-tree-sha1 = "fc08e5930ee9a4e03f84bfb5211cb54e7769758a" -uuid = "5ae59095-9a9b-59fe-a467-6f913c188581" -version = "0.12.10" - -[[deps.Combinatorics]] -git-tree-sha1 = "08c8b6831dc00bfea825826be0bc8336fc369860" -uuid = "861a8166-3701-5b0c-9a16-15d98fcdc6aa" -version = "1.0.2" - -[[deps.CommonDataModel]] -deps = ["CFTime", "DataStructures", "Dates", "Preferences", "Printf"] -git-tree-sha1 = "2678b3fc170d582655a14d22867b031b6e43c2d4" -uuid = "1fbeeb36-5f17-413c-809b-666fb144f157" -version = "0.2.4" - -[[deps.CommonSolve]] -git-tree-sha1 = "0eee5eb66b1cf62cd6ad1b460238e60e4b09400c" -uuid = "38540f10-b2f7-11e9-35d8-d573e4eb0ff2" -version = "0.2.4" - -[[deps.CommonSubexpressions]] -deps = ["MacroTools", "Test"] -git-tree-sha1 = "7b8a93dba8af7e3b42fecabf646260105ac373f7" -uuid = "bbf7d656-a473-5ed7-a52c-81e309532950" -version = "0.3.0" - -[[deps.Compat]] -deps = ["UUIDs"] -git-tree-sha1 = "e460f044ca8b99be31d35fe54fc33a5c33dd8ed7" -uuid = "34da2185-b29b-5c13-b0c7-acf172513d20" -version = "4.9.0" -weakdeps = ["Dates", "LinearAlgebra"] - - [deps.Compat.extensions] - CompatLinearAlgebraExt = "LinearAlgebra" - -[[deps.CompilerSupportLibraries_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "e66e0078-7015-5450-92f7-15fbd957f2ae" -version = "1.0.5+0" - -[[deps.CompositeTypes]] -git-tree-sha1 = "02d2316b7ffceff992f3096ae48c7829a8aa0638" -uuid = "b152e2b5-7a66-4b01-a709-34e65c35f657" -version = "0.1.3" - -[[deps.ConcurrentUtilities]] -deps = ["Serialization", "Sockets"] -git-tree-sha1 = "5372dbbf8f0bdb8c700db5367132925c0771ef7e" -uuid = "f0e56b4a-5159-44fe-b623-3e5288b988bb" -version = "2.2.1" - -[[deps.Conda]] -deps = ["Downloads", "JSON", "VersionParsing"] -git-tree-sha1 = "8c86e48c0db1564a1d49548d3515ced5d604c408" -uuid = "8f4d0f93-b110-5947-807f-2305c1781a2d" -version = "1.9.1" - -[[deps.ConstructionBase]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "fe2838a593b5f776e1597e086dcd47560d94e816" -uuid = "187b0558-2788-49d3-abe0-74a17ed4e7c9" -version = "1.5.3" -weakdeps = ["IntervalSets", "StaticArrays"] - - [deps.ConstructionBase.extensions] - ConstructionBaseIntervalSetsExt = "IntervalSets" - ConstructionBaseStaticArraysExt = "StaticArrays" - -[[deps.Contour]] -git-tree-sha1 = "d05d9e7b7aedff4e5b51a029dced05cfb6125781" -uuid = "d38c429a-6771-53c6-b99e-75d170b6e991" -version = "0.6.2" - -[[deps.DataAPI]] -git-tree-sha1 = "8da84edb865b0b5b0100c0666a9bc9a0b71c553c" -uuid = "9a962f9c-6df0-11e9-0e5d-c546b8b5ee8a" -version = "1.15.0" - -[[deps.DataStructures]] -deps = ["Compat", "InteractiveUtils", "OrderedCollections"] -git-tree-sha1 = "3dbd312d370723b6bb43ba9d02fc36abade4518d" -uuid = "864edb3b-99cc-5e75-8d2d-829cb0a9cfe8" -version = "0.18.15" - -[[deps.DataValueInterfaces]] -git-tree-sha1 = "bfc1187b79289637fa0ef6d4436ebdfe6905cbd6" -uuid = "e2d170a0-9d28-54be-80f0-106bbe20a464" -version = "1.0.0" - -[[deps.Dates]] -deps = ["Printf"] -uuid = "ade2ca70-3891-5945-98fb-dc099432e06a" - -[[deps.DelaunayTriangulation]] -deps = ["DataStructures", "EnumX", "ExactPredicates", "Random", "SimpleGraphs"] -git-tree-sha1 = "a1d8532de83f8ce964235eff1edeff9581144d02" -uuid = "927a84f5-c5f4-47a5-9785-b46e178433df" -version = "0.7.2" -weakdeps = ["MakieCore"] - - [deps.DelaunayTriangulation.extensions] - DelaunayTriangulationMakieCoreExt = "MakieCore" - -[[deps.DelimitedFiles]] -deps = ["Mmap"] -git-tree-sha1 = "9e2f36d3c96a820c678f2f1f1782582fcf685bae" -uuid = "8bb1440f-4735-579b-a4ab-409b98df4dab" -version = "1.9.1" - -[[deps.DiffResults]] -deps = ["StaticArraysCore"] -git-tree-sha1 = "782dd5f4561f5d267313f23853baaaa4c52ea621" -uuid = "163ba53b-c6d8-5494-b064-1a9d43ac40c5" -version = "1.1.0" - -[[deps.DiffRules]] -deps = ["IrrationalConstants", "LogExpFunctions", "NaNMath", "Random", "SpecialFunctions"] -git-tree-sha1 = "23163d55f885173722d1e4cf0f6110cdbaf7e272" -uuid = "b552c78f-8df3-52c6-915a-8e097449b14b" -version = "1.15.1" - -[[deps.Distributed]] -deps = ["Random", "Serialization", "Sockets"] -uuid = "8ba89e20-285c-5b6f-9357-94700520ee1b" - -[[deps.Distributions]] -deps = ["FillArrays", "LinearAlgebra", "PDMats", "Printf", "QuadGK", "Random", "SpecialFunctions", "Statistics", "StatsAPI", "StatsBase", "StatsFuns", "Test"] -git-tree-sha1 = "938fe2981db009f531b6332e31c58e9584a2f9bd" -uuid = "31c24e10-a181-5473-b8eb-7969acd0382f" -version = "0.25.100" - - [deps.Distributions.extensions] - DistributionsChainRulesCoreExt = "ChainRulesCore" - DistributionsDensityInterfaceExt = "DensityInterface" - - [deps.Distributions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - DensityInterface = "b429d917-457f-4dbc-8f4c-0cc954292b1d" - -[[deps.DocStringExtensions]] -deps = ["LibGit2"] -git-tree-sha1 = "2fb1e02f2b635d0845df5d7c167fec4dd739b00d" -uuid = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae" -version = "0.9.3" - -[[deps.DomainSets]] -deps = ["CompositeTypes", "IntervalSets", "LinearAlgebra", "Random", "StaticArrays", "Statistics"] -git-tree-sha1 = "51b4b84d33ec5e0955b55ff4b748b99ce2c3faa9" -uuid = "5b8099bc-c8ec-5219-889f-1d9e522a28bf" -version = "0.6.7" - -[[deps.Downloads]] -deps = ["ArgTools", "FileWatching", "LibCURL", "NetworkOptions"] -uuid = "f43a241f-c20a-4ad4-852c-f6b1247861c6" -version = "1.6.0" - -[[deps.DualNumbers]] -deps = ["Calculus", "NaNMath", "SpecialFunctions"] -git-tree-sha1 = "5837a837389fccf076445fce071c8ddaea35a566" -uuid = "fa6b7ba4-c1ee-5f82-b5fc-ecf0adba8f74" -version = "0.6.8" - -[[deps.DynamicPolynomials]] -deps = ["Future", "LinearAlgebra", "MultivariatePolynomials", "MutableArithmetics", "Pkg", "Reexport", "Test"] -git-tree-sha1 = "9b05a8bc04d7a9a9c7e9ee3b0fdf1584857b65dc" -uuid = "7c1d4256-1411-5781-91ec-d7bc3513ac07" -version = "0.5.2" - -[[deps.EarCut_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e3290f2d49e661fbd94046d7e3726ffcb2d41053" -uuid = "5ae413db-bbd1-5e63-b57d-d24a61df00f5" -version = "2.2.4+0" - -[[deps.EnumX]] -git-tree-sha1 = "bdb1942cd4c45e3c678fd11569d5cccd80976237" -uuid = "4e289a0a-7415-4d19-859d-a7e5c4648b56" -version = "1.0.4" - -[[deps.EpollShim_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8e9441ee83492030ace98f9789a654a6d0b1f643" -uuid = "2702e6a9-849d-5ed8-8c21-79e8b8f9ee43" -version = "0.0.20230411+0" - -[[deps.ErrorfreeArithmetic]] -git-tree-sha1 = "d6863c556f1142a061532e79f611aa46be201686" -uuid = "90fa49ef-747e-5e6f-a989-263ba693cf1a" -version = "0.5.2" - -[[deps.ExactPredicates]] -deps = ["IntervalArithmetic", "Random", "StaticArraysCore", "Test"] -git-tree-sha1 = "276e83bc8b21589b79303b9985c321024ffdf59c" -uuid = "429591f6-91af-11e9-00e2-59fbe8cec110" -version = "2.2.5" - -[[deps.ExceptionUnwrapping]] -deps = ["Test"] -git-tree-sha1 = "e90caa41f5a86296e014e148ee061bd6c3edec96" -uuid = "460bff9d-24e4-43bc-9d9f-a8973cb893f4" -version = "0.1.9" - -[[deps.Expat_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "4558ab818dcceaab612d1bb8c19cee87eda2b83c" -uuid = "2e619515-83b5-522b-bb60-26c02a35a201" -version = "2.5.0+0" - -[[deps.ExprTools]] -git-tree-sha1 = "27415f162e6028e81c72b82ef756bf321213b6ec" -uuid = "e2ba6199-217a-4e67-a87a-7c52f15ade04" -version = "0.1.10" - -[[deps.Extents]] -git-tree-sha1 = "5e1e4c53fa39afe63a7d356e30452249365fba99" -uuid = "411431e0-e8b7-467b-b5e0-f676ba4f2910" -version = "0.1.1" - -[[deps.FFMPEG]] -deps = ["FFMPEG_jll"] -git-tree-sha1 = "b57e3acbe22f8484b4b5ff66a7499717fe1a9cc8" -uuid = "c87230d0-a227-11e9-1b43-d7ebe4e7570a" -version = "0.4.1" - -[[deps.FFMPEG_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "JLLWrappers", "LAME_jll", "Libdl", "Ogg_jll", "OpenSSL_jll", "Opus_jll", "PCRE2_jll", "Pkg", "Zlib_jll", "libaom_jll", "libass_jll", "libfdk_aac_jll", "libvorbis_jll", "x264_jll", "x265_jll"] -git-tree-sha1 = "74faea50c1d007c85837327f6775bea60b5492dd" -uuid = "b22a6f82-2f65-5046-a5b2-351ab43fb4e5" -version = "4.4.2+2" - -[[deps.FFTW]] -deps = ["AbstractFFTs", "FFTW_jll", "LinearAlgebra", "MKL_jll", "Preferences", "Reexport"] -git-tree-sha1 = "b4fbdd20c889804969571cc589900803edda16b7" -uuid = "7a1cc6ca-52ef-59f5-83cd-3a7055c09341" -version = "1.7.1" - -[[deps.FFTW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c6033cc3892d0ef5bb9cd29b7f2f0331ea5184ea" -uuid = "f5851436-0d7a-5f13-b9de-f02708fd171a" -version = "3.3.10+0" - -[[deps.FastRounding]] -deps = ["ErrorfreeArithmetic", "LinearAlgebra"] -git-tree-sha1 = "6344aa18f654196be82e62816935225b3b9abe44" -uuid = "fa42c844-2597-5d31-933b-ebd51ab2693f" -version = "0.3.1" - -[[deps.FileIO]] -deps = ["Pkg", "Requires", "UUIDs"] -git-tree-sha1 = "299dc33549f68299137e51e6d49a13b5b1da9673" -uuid = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" -version = "1.16.1" - -[[deps.FileWatching]] -uuid = "7b1f6079-737a-58dc-b8bc-7a2ca5c1b5ee" - -[[deps.FillArrays]] -deps = ["LinearAlgebra", "Random"] -git-tree-sha1 = "a20eaa3ad64254c61eeb5f230d9306e937405434" -uuid = "1a297f60-69ca-5386-bcde-b61e274b549b" -version = "1.6.1" -weakdeps = ["SparseArrays", "Statistics"] - - [deps.FillArrays.extensions] - FillArraysSparseArraysExt = "SparseArrays" - FillArraysStatisticsExt = "Statistics" - -[[deps.FiniteDiff]] -deps = ["ArrayInterface", "LinearAlgebra", "Requires", "Setfield", "SparseArrays"] -git-tree-sha1 = "c6e4a1fbe73b31a3dea94b1da449503b8830c306" -uuid = "6a86dc24-6348-571c-b903-95158fe2bd41" -version = "2.21.1" - - [deps.FiniteDiff.extensions] - FiniteDiffBandedMatricesExt = "BandedMatrices" - FiniteDiffBlockBandedMatricesExt = "BlockBandedMatrices" - FiniteDiffStaticArraysExt = "StaticArrays" - - [deps.FiniteDiff.weakdeps] - BandedMatrices = "aae01518-5342-5314-be14-df237901396f" - BlockBandedMatrices = "ffab5731-97b5-5995-9138-79e8c1846df0" - StaticArrays = "90137ffa-7385-5640-81b9-e52037218182" - -[[deps.FixedPointNumbers]] -deps = ["Statistics"] -git-tree-sha1 = "335bfdceacc84c5cdf16aadc768aa5ddfc5383cc" -uuid = "53c48c17-4a7d-5ca2-90c5-79b7896eea93" -version = "0.8.4" - -[[deps.Fontconfig_jll]] -deps = ["Artifacts", "Bzip2_jll", "Expat_jll", "FreeType2_jll", "JLLWrappers", "Libdl", "Libuuid_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "21efd19106a55620a188615da6d3d06cd7f6ee03" -uuid = "a3f928ae-7b40-5064-980b-68af3947d34b" -version = "2.13.93+0" - -[[deps.Formatting]] -deps = ["Printf"] -git-tree-sha1 = "8339d61043228fdd3eb658d86c926cb282ae72a8" -uuid = "59287772-0a20-5a39-b81b-1366585eb4c0" -version = "0.4.2" - -[[deps.ForwardDiff]] -deps = ["CommonSubexpressions", "DiffResults", "DiffRules", "LinearAlgebra", "LogExpFunctions", "NaNMath", "Preferences", "Printf", "Random", "SpecialFunctions"] -git-tree-sha1 = "cf0fe81336da9fb90944683b8c41984b08793dad" -uuid = "f6369f11-7733-5829-9624-2563aa707210" -version = "0.10.36" -weakdeps = ["StaticArrays"] - - [deps.ForwardDiff.extensions] - ForwardDiffStaticArraysExt = "StaticArrays" - -[[deps.FreeType]] -deps = ["CEnum", "FreeType2_jll"] -git-tree-sha1 = "50351f83f95282cf903e968d7c6e8d44a5f83d0b" -uuid = "b38be410-82b0-50bf-ab77-7b57e271db43" -version = "4.1.0" - -[[deps.FreeType2_jll]] -deps = ["Artifacts", "Bzip2_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "d8db6a5a2fe1381c1ea4ef2cab7c69c2de7f9ea0" -uuid = "d7e528f0-a631-5988-bf34-fe36492bcfd7" -version = "2.13.1+0" - -[[deps.FreeTypeAbstraction]] -deps = ["ColorVectorSpace", "Colors", "FreeType", "GeometryBasics"] -git-tree-sha1 = "38a92e40157100e796690421e34a11c107205c86" -uuid = "663a7486-cb36-511b-a19d-713bb74d65c9" -version = "0.10.0" - -[[deps.FriBidi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "aa31987c2ba8704e23c6c8ba8a4f769d5d7e4f91" -uuid = "559328eb-81f9-559d-9380-de523a88c83c" -version = "1.0.10+0" - -[[deps.FunctionWrappers]] -git-tree-sha1 = "d62485945ce5ae9c0c48f124a84998d755bae00e" -uuid = "069b7b12-0de2-55c6-9aab-29f3d0a68a2e" -version = "1.1.3" - -[[deps.FunctionWrappersWrappers]] -deps = ["FunctionWrappers"] -git-tree-sha1 = "b104d487b34566608f8b4e1c39fb0b10aa279ff8" -uuid = "77dc65aa-8811-40c2-897b-53d922fa7daf" -version = "0.1.3" - -[[deps.Future]] -deps = ["Random"] -uuid = "9fa8497b-333b-5362-9e8d-4d0656e87820" - -[[deps.GLFW_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libglvnd_jll", "Pkg", "Xorg_libXcursor_jll", "Xorg_libXi_jll", "Xorg_libXinerama_jll", "Xorg_libXrandr_jll"] -git-tree-sha1 = "d972031d28c8c8d9d7b41a536ad7bb0c2579caca" -uuid = "0656b61e-2033-5cc2-a64a-77c0f6c09b89" -version = "3.3.8+0" - -[[deps.GPUArraysCore]] -deps = ["Adapt"] -git-tree-sha1 = "2d6ca471a6c7b536127afccfa7564b5b39227fe0" -uuid = "46192b85-c4d5-4398-a991-12ede77f4527" -version = "0.1.5" - -[[deps.GR]] -deps = ["Artifacts", "Base64", "DelimitedFiles", "Downloads", "GR_jll", "HTTP", "JSON", "Libdl", "LinearAlgebra", "Pkg", "Preferences", "Printf", "Random", "Serialization", "Sockets", "TOML", "Tar", "Test", "UUIDs", "p7zip_jll"] -git-tree-sha1 = "d73afa4a2bb9de56077242d98cf763074ab9a970" -uuid = "28b8d3ca-fb5f-59d9-8090-bfdbd6d07a71" -version = "0.72.9" - -[[deps.GR_jll]] -deps = ["Artifacts", "Bzip2_jll", "Cairo_jll", "FFMPEG_jll", "Fontconfig_jll", "FreeType2_jll", "GLFW_jll", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Libtiff_jll", "Pixman_jll", "Qt6Base_jll", "Zlib_jll", "libpng_jll"] -git-tree-sha1 = "1596bab77f4f073a14c62424283e7ebff3072eca" -uuid = "d2c73de3-f751-5644-a686-071e5b155ba9" -version = "0.72.9+1" - -[[deps.GeoInterface]] -deps = ["Extents"] -git-tree-sha1 = "bb198ff907228523f3dee1070ceee63b9359b6ab" -uuid = "cf35fbd7-0cd7-5166-be24-54bfbe79505f" -version = "1.3.1" - -[[deps.GeometryBasics]] -deps = ["EarCut_jll", "Extents", "GeoInterface", "IterTools", "LinearAlgebra", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "424a5a6ce7c5d97cca7bcc4eac551b97294c54af" -uuid = "5c1252a2-5f33-56bf-86c9-59e7332b4326" -version = "0.4.9" - -[[deps.Gettext_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Libiconv_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "9b02998aba7bf074d14de89f9d37ca24a1a0b046" -uuid = "78b55507-aeef-58d4-861c-77aaff3498b1" -version = "0.21.0+0" - -[[deps.Glib_jll]] -deps = ["Artifacts", "Gettext_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Libiconv_jll", "Libmount_jll", "PCRE2_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "d3b3624125c1474292d0d8ed0f65554ac37ddb23" -uuid = "7746bdde-850d-59dc-9ae8-88ece973131d" -version = "2.74.0+2" - -[[deps.Glob]] -git-tree-sha1 = "97285bbd5230dd766e9ef6749b80fc617126d496" -uuid = "c27321d9-0574-5035-807b-f59d2c89b15c" -version = "1.3.1" - -[[deps.Graphics]] -deps = ["Colors", "LinearAlgebra", "NaNMath"] -git-tree-sha1 = "d61890399bc535850c4bf08e4e0d3a7ad0f21cbd" -uuid = "a2bd30eb-e257-5431-a919-1863eab51364" -version = "1.1.2" - -[[deps.Graphite2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "344bf40dcab1073aca04aa0df4fb092f920e4011" -uuid = "3b182d85-2403-5c21-9c21-1e1f0cc25472" -version = "1.3.14+0" - -[[deps.GridLayoutBase]] -deps = ["GeometryBasics", "InteractiveUtils", "Observables"] -git-tree-sha1 = "f57a64794b336d4990d90f80b147474b869b1bc4" -uuid = "3955a311-db13-416c-9275-1d80ed98e5e9" -version = "0.9.2" - -[[deps.Grisu]] -git-tree-sha1 = "53bb909d1151e57e2484c3d1b53e19552b887fb2" -uuid = "42e2da0e-8278-4e71-bc24-59509adca0fe" -version = "1.0.2" - -[[deps.Groebner]] -deps = ["AbstractAlgebra", "Combinatorics", "Logging", "MultivariatePolynomials", "Primes", "Random", "SIMD", "SnoopPrecompile"] -git-tree-sha1 = "17c81e8dd04cc8f70bccf8c50aa2d39f5ff2a3ec" -uuid = "0b43b601-686d-58a3-8a1c-6623616c7cd4" -version = "0.4.2" - -[[deps.GroupsCore]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "9e1a5e9f3b81ad6a5c613d181664a0efc6fe6dd7" -uuid = "d5909c97-4eac-4ecc-a3dc-fdd0858a4120" -version = "0.4.0" - -[[deps.HDF5]] -deps = ["Compat", "HDF5_jll", "Libdl", "MPIPreferences", "Mmap", "Preferences", "Printf", "Random", "Requires", "UUIDs"] -git-tree-sha1 = "ec7df74b7b2022e8252a8bfd4ec23411491adc3b" -uuid = "f67ccb44-e63f-5c2f-98bd-6dc0ccc4ba2f" -version = "0.17.0" -weakdeps = ["MPI"] - - [deps.HDF5.extensions] - MPIExt = "MPI" - -[[deps.HDF5_jll]] -deps = ["Artifacts", "JLLWrappers", "LibCURL_jll", "Libdl", "OpenSSL_jll", "Pkg", "Zlib_jll"] -git-tree-sha1 = "4cc2bb72df6ff40b055295fdef6d92955f9dede8" -uuid = "0234f1f7-429e-5d53-9886-15a909be8d59" -version = "1.12.2+2" - -[[deps.HTTP]] -deps = ["Base64", "CodecZlib", "ConcurrentUtilities", "Dates", "ExceptionUnwrapping", "Logging", "LoggingExtras", "MbedTLS", "NetworkOptions", "OpenSSL", "Random", "SimpleBufferStream", "Sockets", "URIs", "UUIDs"] -git-tree-sha1 = "cb56ccdd481c0dd7f975ad2b3b62d9eda088f7e2" -uuid = "cd3eb016-35fb-5094-929b-558a96fad6f3" -version = "1.9.14" - -[[deps.HarfBuzz_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "Glib_jll", "Graphite2_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg"] -git-tree-sha1 = "129acf094d168394e80ee1dc4bc06ec835e510a3" -uuid = "2e76f6c2-a576-52d4-95c1-20adfe4de566" -version = "2.8.1+1" - -[[deps.HypergeometricFunctions]] -deps = ["DualNumbers", "LinearAlgebra", "OpenLibm_jll", "SpecialFunctions"] -git-tree-sha1 = "f218fe3736ddf977e0e772bc9a586b2383da2685" -uuid = "34004b35-14d8-5ef3-9330-4cdb6864b03a" -version = "0.3.23" - -[[deps.IJulia]] -deps = ["Base64", "Conda", "Dates", "InteractiveUtils", "JSON", "Libdl", "Logging", "Markdown", "MbedTLS", "Pkg", "Printf", "REPL", "Random", "SoftGlobalScope", "Test", "UUIDs", "ZMQ"] -git-tree-sha1 = "47ac8cc196b81001a711f4b2c12c97372338f00c" -uuid = "7073ff75-c697-5162-941a-fcdaad2a7d2a" -version = "1.24.2" - -[[deps.IfElse]] -git-tree-sha1 = "debdd00ffef04665ccbb3e150747a77560e8fad1" -uuid = "615f187c-cbe4-4ef1-ba3b-2fcf58d6d173" -version = "0.1.1" - -[[deps.ImageAxes]] -deps = ["AxisArrays", "ImageBase", "ImageCore", "Reexport", "SimpleTraits"] -git-tree-sha1 = "2e4520d67b0cef90865b3ef727594d2a58e0e1f8" -uuid = "2803e5a7-5153-5ecf-9a86-9b4c37f5f5ac" -version = "0.6.11" - -[[deps.ImageBase]] -deps = ["ImageCore", "Reexport"] -git-tree-sha1 = "b51bb8cae22c66d0f6357e3bcb6363145ef20835" -uuid = "c817782e-172a-44cc-b673-b171935fbb9e" -version = "0.1.5" - -[[deps.ImageCore]] -deps = ["AbstractFFTs", "ColorVectorSpace", "Colors", "FixedPointNumbers", "Graphics", "MappedArrays", "MosaicViews", "OffsetArrays", "PaddedViews", "Reexport"] -git-tree-sha1 = "acf614720ef026d38400b3817614c45882d75500" -uuid = "a09fc81d-aa75-5fe9-8630-4744c3626534" -version = "0.9.4" - -[[deps.ImageIO]] -deps = ["FileIO", "IndirectArrays", "JpegTurbo", "LazyModules", "Netpbm", "OpenEXR", "PNGFiles", "QOI", "Sixel", "TiffImages", "UUIDs"] -git-tree-sha1 = "bca20b2f5d00c4fbc192c3212da8fa79f4688009" -uuid = "82e4d734-157c-48bb-816b-45c225c6df19" -version = "0.6.7" - -[[deps.ImageMetadata]] -deps = ["AxisArrays", "ImageAxes", "ImageBase", "ImageCore"] -git-tree-sha1 = "355e2b974f2e3212a75dfb60519de21361ad3cb7" -uuid = "bc367c6b-8a6b-528e-b4bd-a4b897500b49" -version = "0.9.9" - -[[deps.Imath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "3d09a9f60edf77f8a4d99f9e015e8fbf9989605d" -uuid = "905a6f67-0a94-5f89-b386-d35d92009cd1" -version = "3.1.7+0" - -[[deps.IndirectArrays]] -git-tree-sha1 = "012e604e1c7458645cb8b436f8fba789a51b257f" -uuid = "9b13fd28-a010-5f03-acff-a1bbcff69959" -version = "1.0.0" - -[[deps.Inflate]] -git-tree-sha1 = "5cd07aab533df5170988219191dfad0519391428" -uuid = "d25df0c9-e2be-5dd7-82c8-3ad0b3e990b9" -version = "0.1.3" - -[[deps.IntegerMathUtils]] -git-tree-sha1 = "b8ffb903da9f7b8cf695a8bead8e01814aa24b30" -uuid = "18e54dd8-cb9d-406c-a71d-865a43cbb235" -version = "0.1.2" - -[[deps.IntelOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ad37c091f7d7daf900963171600d7c1c5c3ede32" -uuid = "1d5cc7b8-4909-519e-a0f8-d0f5ad9712d0" -version = "2023.2.0+0" - -[[deps.InteractiveUtils]] -deps = ["Markdown"] -uuid = "b77e0a4c-d291-57a0-90e8-8db25a27a240" - -[[deps.Interpolations]] -deps = ["Adapt", "AxisAlgorithms", "ChainRulesCore", "LinearAlgebra", "OffsetArrays", "Random", "Ratios", "Requires", "SharedArrays", "SparseArrays", "StaticArrays", "WoodburyMatrices"] -git-tree-sha1 = "721ec2cf720536ad005cb38f50dbba7b02419a15" -uuid = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59" -version = "0.14.7" - -[[deps.IntervalArithmetic]] -deps = ["CRlibm", "FastRounding", "LinearAlgebra", "Markdown", "Random", "RecipesBase", "RoundingEmulator", "SetRounding", "StaticArrays"] -git-tree-sha1 = "5ab7744289be503d76a944784bac3f2df7b809af" -uuid = "d1acc4aa-44c8-5952-acd4-ba5d80a2a253" -version = "0.20.9" - -[[deps.IntervalSets]] -deps = ["Dates", "Random"] -git-tree-sha1 = "8e59ea773deee525c99a8018409f64f19fb719e6" -uuid = "8197267c-284f-5f27-9208-e0e47529a953" -version = "0.7.7" -weakdeps = ["Statistics"] - - [deps.IntervalSets.extensions] - IntervalSetsStatisticsExt = "Statistics" - -[[deps.IrrationalConstants]] -git-tree-sha1 = "630b497eafcc20001bba38a4651b327dcfc491d2" -uuid = "92d709cd-6900-40b7-9082-c6be49f344b6" -version = "0.2.2" - -[[deps.Isoband]] -deps = ["isoband_jll"] -git-tree-sha1 = "f9b6d97355599074dc867318950adaa6f9946137" -uuid = "f1662d9f-8043-43de-a69a-05efc1cc6ff4" -version = "0.1.1" - -[[deps.IterTools]] -git-tree-sha1 = "4ced6667f9974fc5c5943fa5e2ef1ca43ea9e450" -uuid = "c8e1da08-722c-5040-9ed9-7db0dc04731e" -version = "1.8.0" - -[[deps.IteratorInterfaceExtensions]] -git-tree-sha1 = "a3f24677c21f5bbe9d2a714f95dcd58337fb2856" -uuid = "82899510-4779-5014-852e-03e436cf321d" -version = "1.0.0" - -[[deps.JLFzf]] -deps = ["Pipe", "REPL", "Random", "fzf_jll"] -git-tree-sha1 = "f377670cda23b6b7c1c0b3893e37451c5c1a2185" -uuid = "1019f520-868f-41f5-a6de-eb00f4b6a39c" -version = "0.1.5" - -[[deps.JLLWrappers]] -deps = ["Artifacts", "Preferences"] -git-tree-sha1 = "7e5d6779a1e09a36db2a7b6cff50942a0a7d0fca" -uuid = "692b3bcd-3c85-4b1f-b108-f13ce0eb3210" -version = "1.5.0" - -[[deps.JSON]] -deps = ["Dates", "Mmap", "Parsers", "Unicode"] -git-tree-sha1 = "31e996f0a15c7b280ba9f76636b3ff9e2ae58c9a" -uuid = "682c06a0-de6a-54ab-a142-c8b1cf79cde6" -version = "0.21.4" - -[[deps.JpegTurbo]] -deps = ["CEnum", "FileIO", "ImageCore", "JpegTurbo_jll", "TOML"] -git-tree-sha1 = "327713faef2a3e5c80f96bf38d1fa26f7a6ae29e" -uuid = "b835a17e-a41a-41e7-81f0-2f016b05efe0" -version = "0.1.3" - -[[deps.JpegTurbo_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6f2675ef130a300a112286de91973805fcc5ffbc" -uuid = "aacddb02-875f-59d6-b918-886e6ef4fbf8" -version = "2.1.91+0" - -[[deps.JuliaInterpreter]] -deps = ["CodeTracking", "InteractiveUtils", "Random", "UUIDs"] -git-tree-sha1 = "81dc6aefcbe7421bd62cb6ca0e700779330acff8" -uuid = "aa1ae85d-cabe-5617-a682-6adf51b2e16a" -version = "0.9.25" - -[[deps.KernelDensity]] -deps = ["Distributions", "DocStringExtensions", "FFTW", "Interpolations", "StatsBase"] -git-tree-sha1 = "90442c50e202a5cdf21a7899c66b240fdef14035" -uuid = "5ab0869b-81aa-558d-bb23-cbf5423bbe9b" -version = "0.6.7" - -[[deps.LAME_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f6250b16881adf048549549fba48b1161acdac8c" -uuid = "c1c5ebd0-6772-5130-a774-d5fcae4a789d" -version = "3.100.1+0" - -[[deps.LERC_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "bf36f528eec6634efc60d7ec062008f171071434" -uuid = "88015f11-f218-50d7-93a8-a6af411a945d" -version = "3.0.0+1" - -[[deps.LLVMOpenMP_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "f689897ccbe049adb19a065c495e75f372ecd42b" -uuid = "1d63c593-3942-5779-bab2-d838dc0a180e" -version = "15.0.4+0" - -[[deps.LZO_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "e5b909bcf985c5e2605737d2ce278ed791b89be6" -uuid = "dd4b983a-f0e5-5f8d-a1b7-129d4a5fb1ac" -version = "2.10.1+0" - -[[deps.LaTeXStrings]] -git-tree-sha1 = "f2355693d6778a178ade15952b7ac47a4ff97996" -uuid = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" -version = "1.3.0" - -[[deps.LabelledArrays]] -deps = ["ArrayInterface", "ChainRulesCore", "ForwardDiff", "LinearAlgebra", "MacroTools", "PreallocationTools", "RecursiveArrayTools", "StaticArrays"] -git-tree-sha1 = "cd04158424635efd05ff38d5f55843397b7416a9" -uuid = "2ee39098-c373-598a-b85f-a56591580800" -version = "1.14.0" - -[[deps.LambertW]] -git-tree-sha1 = "c5ffc834de5d61d00d2b0e18c96267cffc21f648" -uuid = "984bce1d-4616-540c-a9ee-88d1112d94c9" -version = "0.4.6" - -[[deps.Latexify]] -deps = ["Formatting", "InteractiveUtils", "LaTeXStrings", "MacroTools", "Markdown", "OrderedCollections", "Printf", "Requires"] -git-tree-sha1 = "f428ae552340899a935973270b8d98e5a31c49fe" -uuid = "23fbe1c1-3f47-55db-b15f-69d7ec21a316" -version = "0.16.1" - - [deps.Latexify.extensions] - DataFramesExt = "DataFrames" - SymEngineExt = "SymEngine" - - [deps.Latexify.weakdeps] - DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0" - SymEngine = "123dc426-2d89-5057-bbad-38513e3affd8" - -[[deps.Lazy]] -deps = ["MacroTools"] -git-tree-sha1 = "1370f8202dac30758f3c345f9909b97f53d87d3f" -uuid = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0" -version = "0.15.1" - -[[deps.LazyArtifacts]] -deps = ["Artifacts", "Pkg"] -uuid = "4af54fe1-eca0-43a8-85a7-787d91b784e3" - -[[deps.LazyModules]] -git-tree-sha1 = "a560dd966b386ac9ae60bdd3a3d3a326062d3c3e" -uuid = "8cdb02fc-e678-4876-92c5-9defec4f444e" -version = "0.3.1" - -[[deps.LibCURL]] -deps = ["LibCURL_jll", "MozillaCACerts_jll"] -uuid = "b27032c2-a3e7-50c8-80cd-2d36dbcbfd21" -version = "0.6.3" - -[[deps.LibCURL_jll]] -deps = ["Artifacts", "LibSSH2_jll", "Libdl", "MbedTLS_jll", "Zlib_jll", "nghttp2_jll"] -uuid = "deac9b47-8bc7-5906-a0fe-35ac56dc84c0" -version = "7.84.0+0" - -[[deps.LibGit2]] -deps = ["Base64", "NetworkOptions", "Printf", "SHA"] -uuid = "76f85450-5226-5b5a-8eaa-529ad045b433" - -[[deps.LibSSH2_jll]] -deps = ["Artifacts", "Libdl", "MbedTLS_jll"] -uuid = "29816b5a-b9ab-546f-933c-edad1886dfa8" -version = "1.10.2+0" - -[[deps.Libdl]] -uuid = "8f399da3-3557-5675-b5ff-fb832c97cbdb" - -[[deps.Libffi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "0b4a5d71f3e5200a7dff793393e09dfc2d874290" -uuid = "e9f186c6-92d2-5b65-8a66-fee21dc1b490" -version = "3.2.2+1" - -[[deps.Libgcrypt_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgpg_error_jll", "Pkg"] -git-tree-sha1 = "64613c82a59c120435c067c2b809fc61cf5166ae" -uuid = "d4300ac3-e22c-5743-9152-c294e39db1e4" -version = "1.8.7+0" - -[[deps.Libglvnd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll", "Xorg_libXext_jll"] -git-tree-sha1 = "6f73d1dd803986947b2c750138528a999a6c7733" -uuid = "7e76a0d4-f3c7-5321-8279-8d96eeed0f29" -version = "1.6.0+0" - -[[deps.Libgpg_error_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "c333716e46366857753e273ce6a69ee0945a6db9" -uuid = "7add5ba3-2f88-524e-9cd5-f83b8a55f7b8" -version = "1.42.0+0" - -[[deps.Libiconv_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "f9557a255370125b405568f9767d6d195822a175" -uuid = "94ce4f54-9a6c-5748-9c1c-f9c7231a4531" -version = "1.17.0+0" - -[[deps.Libmount_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "9c30530bf0effd46e15e0fdcf2b8636e78cbbd73" -uuid = "4b2f31a3-9ecc-558c-b454-b3730dcb73e9" -version = "2.35.0+0" - -[[deps.Libtiff_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "LERC_jll", "Libdl", "XZ_jll", "Zlib_jll", "Zstd_jll"] -git-tree-sha1 = "2da088d113af58221c52828a80378e16be7d037a" -uuid = "89763e89-9b03-5906-acba-b20f662cd828" -version = "4.5.1+1" - -[[deps.Libuuid_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "7f3efec06033682db852f8b3bc3c1d2b0a0ab066" -uuid = "38a345b3-de98-5d2b-a5d3-14cd9215e700" -version = "2.36.0+0" - -[[deps.LightXML]] -deps = ["Libdl", "XML2_jll"] -git-tree-sha1 = "e129d9391168c677cd4800f5c0abb1ed8cb3794f" -uuid = "9c8b4983-aa76-5018-a973-4c85ecc9e179" -version = "0.9.0" - -[[deps.LineSearches]] -deps = ["LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "Printf"] -git-tree-sha1 = "7bbea35cec17305fc70a0e5b4641477dc0789d9d" -uuid = "d3d80556-e9d4-5f37-9878-2ab0fcc64255" -version = "7.2.0" - -[[deps.LinearAlgebra]] -deps = ["Libdl", "OpenBLAS_jll", "libblastrampoline_jll"] -uuid = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e" - -[[deps.LinearAlgebraX]] -deps = ["LinearAlgebra", "Mods", "Permutations", "Primes", "SimplePolynomials"] -git-tree-sha1 = "558a338f1eeabe933f9c2d4052aa7c2c707c3d52" -uuid = "9b3f67b0-2d00-526e-9884-9e4938f8fb88" -version = "0.1.12" - -[[deps.LogExpFunctions]] -deps = ["DocStringExtensions", "IrrationalConstants", "LinearAlgebra"] -git-tree-sha1 = "7d6dd4e9212aebaeed356de34ccf262a3cd415aa" -uuid = "2ab3a3ac-af41-5b50-aa03-7779005ae688" -version = "0.3.26" - - [deps.LogExpFunctions.extensions] - LogExpFunctionsChainRulesCoreExt = "ChainRulesCore" - LogExpFunctionsChangesOfVariablesExt = "ChangesOfVariables" - LogExpFunctionsInverseFunctionsExt = "InverseFunctions" - - [deps.LogExpFunctions.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - ChangesOfVariables = "9e997f8a-9a97-42d5-a9f1-ce6bfc15e2c0" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.Logging]] -uuid = "56ddb016-857b-54e1-b83d-db4d58db5568" - -[[deps.LoggingExtras]] -deps = ["Dates", "Logging"] -git-tree-sha1 = "0d097476b6c381ab7906460ef1ef1638fbce1d91" -uuid = "e6f89c97-d47a-5376-807f-9c37f3926c36" -version = "1.0.2" - -[[deps.LoweredCodeUtils]] -deps = ["JuliaInterpreter"] -git-tree-sha1 = "60168780555f3e663c536500aa790b6368adc02a" -uuid = "6f1432cf-f94c-5a45-995e-cdbf5db27b0b" -version = "2.3.0" - -[[deps.LsqFit]] -deps = ["Distributions", "ForwardDiff", "LinearAlgebra", "NLSolversBase", "OptimBase", "Random", "StatsBase"] -git-tree-sha1 = "00f475f85c50584b12268675072663dfed5594b2" -uuid = "2fda8390-95c7-5789-9bda-21331edee243" -version = "0.13.0" - -[[deps.MKL_jll]] -deps = ["Artifacts", "IntelOpenMP_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "Pkg"] -git-tree-sha1 = "eb006abbd7041c28e0d16260e50a24f8f9104913" -uuid = "856f044c-d86e-5d09-b602-aeab76dc8ba7" -version = "2023.2.0+0" - -[[deps.MPI]] -deps = ["Distributed", "DocStringExtensions", "Libdl", "MPICH_jll", "MPIPreferences", "MPItrampoline_jll", "MicrosoftMPI_jll", "OpenMPI_jll", "PkgVersion", "PrecompileTools", "Requires", "Serialization", "Sockets"] -git-tree-sha1 = "df53d0e1e0dbebf2315f4cd35e13e52ad43416c2" -uuid = "da04e1cc-30fd-572f-bb4f-1f8673147195" -version = "0.20.15" - - [deps.MPI.extensions] - AMDGPUExt = "AMDGPU" - CUDAExt = "CUDA" - - [deps.MPI.weakdeps] - AMDGPU = "21141c5a-9bdb-4563-92ae-f87d6854732e" - CUDA = "052768ef-5323-5732-b1bb-66c8b64840ba" - -[[deps.MPICH_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "8a5b4d2220377d1ece13f49438d71ad20cf1ba83" -uuid = "7cb0a576-ebde-5e09-9194-50597f1243b4" -version = "4.1.2+0" - -[[deps.MPIPreferences]] -deps = ["Libdl", "Preferences"] -git-tree-sha1 = "781916a2ebf2841467cda03b6f1af43e23839d85" -uuid = "3da0fdf6-3ccc-4f1b-acd9-58baa6c99267" -version = "0.1.9" - -[[deps.MPItrampoline_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "6979eccb6a9edbbb62681e158443e79ecc0d056a" -uuid = "f1f71cc9-e9ae-5b93-9b94-4fe0e1ad3748" -version = "5.3.1+0" - -[[deps.MacroTools]] -deps = ["Markdown", "Random"] -git-tree-sha1 = "9ee1618cbf5240e6d4e0371d6f24065083f60c48" -uuid = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09" -version = "0.5.11" - -[[deps.Makie]] -deps = ["Animations", "Base64", "ColorBrewer", "ColorSchemes", "ColorTypes", "Colors", "Contour", "DelaunayTriangulation", "Distributions", "DocStringExtensions", "Downloads", "FFMPEG", "FileIO", "FixedPointNumbers", "Formatting", "FreeType", "FreeTypeAbstraction", "GeometryBasics", "GridLayoutBase", "ImageIO", "InteractiveUtils", "IntervalSets", "Isoband", "KernelDensity", "LaTeXStrings", "LinearAlgebra", "MacroTools", "MakieCore", "Markdown", "Match", "MathTeXEngine", "Observables", "OffsetArrays", "Packing", "PlotUtils", "PolygonOps", "PrecompileTools", "Printf", "REPL", "Random", "RelocatableFolders", "Setfield", "ShaderAbstractions", "Showoff", "SignedDistanceFields", "SparseArrays", "StableHashTraits", "Statistics", "StatsBase", "StatsFuns", "StructArrays", "TriplotBase", "UnicodeFun"] -git-tree-sha1 = "e81675589ba7199a82443e87fc52e17eeceac2e8" -uuid = "ee78f7c6-11fb-53f2-987a-cfe4a2b5a57a" -version = "0.19.8" - -[[deps.MakieCore]] -deps = ["Observables"] -git-tree-sha1 = "f56b09c8b964919373d61750c6d8d4d2c602a2be" -uuid = "20f20a25-4f0e-4fdf-b5d1-57303727442b" -version = "0.6.5" - -[[deps.MappedArrays]] -git-tree-sha1 = "2dab0221fe2b0f2cb6754eaa743cc266339f527e" -uuid = "dbb5928d-eab1-5f90-85c2-b9b0edb7c900" -version = "0.4.2" - -[[deps.Markdown]] -deps = ["Base64"] -uuid = "d6f4376e-aef5-505a-96c1-9c027394607a" - -[[deps.Match]] -git-tree-sha1 = "1d9bc5c1a6e7ee24effb93f175c9342f9154d97f" -uuid = "7eb4fadd-790c-5f42-8a69-bfa0b872bfbf" -version = "1.2.0" - -[[deps.MathTeXEngine]] -deps = ["AbstractTrees", "Automa", "DataStructures", "FreeTypeAbstraction", "GeometryBasics", "LaTeXStrings", "REPL", "RelocatableFolders", "Test", "UnicodeFun"] -git-tree-sha1 = "8f52dbaa1351ce4cb847d95568cb29e62a307d93" -uuid = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" -version = "0.5.6" - -[[deps.MbedTLS]] -deps = ["Dates", "MbedTLS_jll", "MozillaCACerts_jll", "Random", "Sockets"] -git-tree-sha1 = "03a9b9718f5682ecb107ac9f7308991db4ce395b" -uuid = "739be429-bea8-5141-9913-cc70e7f3736d" -version = "1.1.7" - -[[deps.MbedTLS_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "c8ffd9c3-330d-5841-b78e-0817d7145fa1" -version = "2.28.2+0" - -[[deps.Measures]] -git-tree-sha1 = "c13304c81eec1ed3af7fc20e75fb6b26092a1102" -uuid = "442fdcdd-2543-5da2-b0f3-8c86c306513e" -version = "0.3.2" - -[[deps.MicrosoftMPI_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "a8027af3d1743b3bfae34e54872359fdebb31422" -uuid = "9237b28f-5490-5468-be7b-bb81f5f5e6cf" -version = "10.1.3+4" - -[[deps.Missings]] -deps = ["DataAPI"] -git-tree-sha1 = "f66bdc5de519e8f8ae43bdc598782d35a25b1272" -uuid = "e1d29d7a-bbdc-5cf2-9ac0-f12de2c33e28" -version = "1.1.0" - -[[deps.Mmap]] -uuid = "a63ad114-7e13-5084-954f-fe012c677804" - -[[deps.Mods]] -git-tree-sha1 = "61be59e4daffff43a8cec04b5e0dc773cbb5db3a" -uuid = "7475f97c-0381-53b1-977b-4c60186c8d62" -version = "1.3.3" - -[[deps.MosaicViews]] -deps = ["MappedArrays", "OffsetArrays", "PaddedViews", "StackViews"] -git-tree-sha1 = "7b86a5d4d70a9f5cdf2dacb3cbe6d251d1a61dbe" -uuid = "e94cdb99-869f-56ef-bcf0-1ae2bcbe0389" -version = "0.3.4" - -[[deps.MozillaCACerts_jll]] -uuid = "14a3606d-f60d-562e-9121-12d972cd8159" -version = "2022.10.11" - -[[deps.Multisets]] -git-tree-sha1 = "8d852646862c96e226367ad10c8af56099b4047e" -uuid = "3b2b4ff1-bcff-5658-a3ee-dbcf1ce5ac09" -version = "0.4.4" - -[[deps.MultivariatePolynomials]] -deps = ["ChainRulesCore", "DataStructures", "LinearAlgebra", "MutableArithmetics"] -git-tree-sha1 = "6c2e970692b6f4fed2508865c43a0f67f3820cf4" -uuid = "102ac46a-7ee4-5c85-9060-abc95bfdeaa3" -version = "0.5.2" - -[[deps.MutableArithmetics]] -deps = ["LinearAlgebra", "SparseArrays", "Test"] -git-tree-sha1 = "a7b647ce8f4fefbcaf7de28fa208c812e21dc18f" -uuid = "d8a4904e-b15c-11e9-3269-09a3773c0cb0" -version = "1.3.2" - -[[deps.NCDatasets]] -deps = ["CFTime", "CommonDataModel", "DataStructures", "Dates", "NetCDF_jll", "NetworkOptions", "Printf"] -git-tree-sha1 = "4263c4220f22e20729329838bf7e94a49d1ac32f" -uuid = "85f8d34a-cbdd-5861-8df4-14fed0d494ab" -version = "0.12.17" - -[[deps.NLSolversBase]] -deps = ["DiffResults", "Distributed", "FiniteDiff", "ForwardDiff"] -git-tree-sha1 = "a0b464d183da839699f4c79e7606d9d186ec172c" -uuid = "d41bc354-129a-5804-8e4c-c37616107c6c" -version = "7.8.3" - -[[deps.NaNMath]] -deps = ["OpenLibm_jll"] -git-tree-sha1 = "0877504529a3e5c3343c6f8b4c0381e57e4387e4" -uuid = "77ba4419-2d1f-58cd-9bb1-8ffee604a2e3" -version = "1.0.2" - -[[deps.NaturalSort]] -git-tree-sha1 = "eda490d06b9f7c00752ee81cfa451efe55521e21" -uuid = "c020b1a1-e9b0-503a-9c33-f039bfc54a85" -version = "1.0.0" - -[[deps.NetCDF_jll]] -deps = ["Artifacts", "HDF5_jll", "JLLWrappers", "LibCURL_jll", "Libdl", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "072f8371f74c3b9e1b26679de7fbf059d45ea221" -uuid = "7243133f-43d8-5620-bbf4-c2c921802cf3" -version = "400.902.5+1" - -[[deps.Netpbm]] -deps = ["FileIO", "ImageCore", "ImageMetadata"] -git-tree-sha1 = "d92b107dbb887293622df7697a2223f9f8176fcd" -uuid = "f09324ee-3d7c-5217-9330-fc30815ba969" -version = "1.1.1" - -[[deps.NetworkOptions]] -uuid = "ca575930-c2e3-43a9-ace4-1e988b2c1908" -version = "1.2.0" - -[[deps.Observables]] -git-tree-sha1 = "6862738f9796b3edc1c09d0890afce4eca9e7e93" -uuid = "510215fc-4207-5dde-b226-833fc4488ee2" -version = "0.5.4" - -[[deps.OffsetArrays]] -deps = ["Adapt"] -git-tree-sha1 = "2ac17d29c523ce1cd38e27785a7d23024853a4bb" -uuid = "6fe1bfb0-de20-5000-8ca7-80f57d26f881" -version = "1.12.10" - -[[deps.Ogg_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "887579a3eb005446d514ab7aeac5d1d027658b8f" -uuid = "e7412a2a-1a6e-54c0-be00-318e2571c051" -version = "1.3.5+1" - -[[deps.OpenBLAS_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Libdl"] -uuid = "4536629a-c528-5b80-bd46-f80d51c5b363" -version = "0.3.21+4" - -[[deps.OpenEXR]] -deps = ["Colors", "FileIO", "OpenEXR_jll"] -git-tree-sha1 = "327f53360fdb54df7ecd01e96ef1983536d1e633" -uuid = "52e1d378-f018-4a11-a4be-720524705ac7" -version = "0.3.2" - -[[deps.OpenEXR_jll]] -deps = ["Artifacts", "Imath_jll", "JLLWrappers", "Libdl", "Zlib_jll"] -git-tree-sha1 = "a4ca623df1ae99d09bc9868b008262d0c0ac1e4f" -uuid = "18a262bb-aa17-5467-a713-aee519bc75cb" -version = "3.1.4+0" - -[[deps.OpenLibm_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "05823500-19ac-5b8b-9628-191a04bc5112" -version = "0.8.1+0" - -[[deps.OpenMPI_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LazyArtifacts", "Libdl", "MPIPreferences", "TOML"] -git-tree-sha1 = "f3080f4212a8ba2ceb10a34b938601b862094314" -uuid = "fe0851c0-eecd-5654-98d4-656369965a5c" -version = "4.1.5+0" - -[[deps.OpenSSL]] -deps = ["BitFlags", "Dates", "MozillaCACerts_jll", "OpenSSL_jll", "Sockets"] -git-tree-sha1 = "51901a49222b09e3743c65b8847687ae5fc78eb2" -uuid = "4d8831e6-92b7-49fb-bdf8-b643e874388c" -version = "1.4.1" - -[[deps.OpenSSL_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "bbb5c2115d63c2f1451cb70e5ef75e8fe4707019" -uuid = "458c3c95-2e84-50aa-8efc-19380b2a3a95" -version = "1.1.22+0" - -[[deps.OpenSpecFun_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "13652491f6856acfd2db29360e1bbcd4565d04f1" -uuid = "efe28fd5-8261-553b-a9e1-b2916fc3738e" -version = "0.5.5+0" - -[[deps.Optim]] -deps = ["Compat", "FillArrays", "ForwardDiff", "LineSearches", "LinearAlgebra", "NLSolversBase", "NaNMath", "Parameters", "PositiveFactorizations", "Printf", "SparseArrays", "StatsBase"] -git-tree-sha1 = "963b004d15216f8129f6c0f7d187efa136570be0" -uuid = "429524aa-4258-5aef-a3af-852621145aeb" -version = "1.7.7" - -[[deps.OptimBase]] -deps = ["NLSolversBase", "Printf", "Reexport"] -git-tree-sha1 = "9cb1fee807b599b5f803809e85c81b582d2009d6" -uuid = "87e2bd06-a317-5318-96d9-3ecbac512eee" -version = "2.0.2" - -[[deps.Opus_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51a08fb14ec28da2ec7a927c4337e4332c2a4720" -uuid = "91d4177d-7536-5919-b921-800302f37372" -version = "1.3.2+0" - -[[deps.OrderedCollections]] -git-tree-sha1 = "2e73fe17cac3c62ad1aebe70d44c963c3cfdc3e3" -uuid = "bac558e1-5e72-5ebc-8fee-abe8a469f55d" -version = "1.6.2" - -[[deps.PCRE2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "efcefdf7-47ab-520b-bdef-62a2eaa19f15" -version = "10.42.0+0" - -[[deps.PDMats]] -deps = ["LinearAlgebra", "SparseArrays", "SuiteSparse"] -git-tree-sha1 = "67eae2738d63117a196f497d7db789821bce61d1" -uuid = "90014a1f-27ba-587c-ab20-58faa44d9150" -version = "0.11.17" - -[[deps.PNGFiles]] -deps = ["Base64", "CEnum", "ImageCore", "IndirectArrays", "OffsetArrays", "libpng_jll"] -git-tree-sha1 = "9b02b27ac477cad98114584ff964e3052f656a0f" -uuid = "f57f5aa1-a3ce-4bc8-8ab9-96f992907883" -version = "0.4.0" - -[[deps.PackageCompiler]] -deps = ["Artifacts", "LazyArtifacts", "Libdl", "Pkg", "Printf", "RelocatableFolders", "TOML", "UUIDs"] -git-tree-sha1 = "1a6a868eb755e8ea9ecd000aa6ad175def0cc85b" -uuid = "9b87118b-4619-50d2-8e1e-99f35a4d4d9d" -version = "2.1.7" - -[[deps.Packing]] -deps = ["GeometryBasics"] -git-tree-sha1 = "ec3edfe723df33528e085e632414499f26650501" -uuid = "19eb6ba3-879d-56ad-ad62-d5c202156566" -version = "0.5.0" - -[[deps.PaddedViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "0fac6313486baae819364c52b4f483450a9d793f" -uuid = "5432bcbf-9aad-5242-b902-cca2824c8663" -version = "0.5.12" - -[[deps.Pango_jll]] -deps = ["Artifacts", "Cairo_jll", "Fontconfig_jll", "FreeType2_jll", "FriBidi_jll", "Glib_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "84a314e3926ba9ec66ac097e3635e270986b0f10" -uuid = "36c8627f-9965-5494-a995-c6b170f724f3" -version = "1.50.9+0" - -[[deps.Parameters]] -deps = ["OrderedCollections", "UnPack"] -git-tree-sha1 = "34c0e9ad262e5f7fc75b10a9952ca7692cfc5fbe" -uuid = "d96e819e-fc66-5662-9728-84c9c7592b0a" -version = "0.12.3" - -[[deps.Parsers]] -deps = ["Dates", "PrecompileTools", "UUIDs"] -git-tree-sha1 = "716e24b21538abc91f6205fd1d8363f39b442851" -uuid = "69de0a69-1ddd-5017-9359-2bf0b02dc9f0" -version = "2.7.2" - -[[deps.Permutations]] -deps = ["Combinatorics", "LinearAlgebra", "Random"] -git-tree-sha1 = "25e2bb0973689836bf164ecb960762f1bb8794dd" -uuid = "2ae35dd2-176d-5d53-8349-f30d82d94d4f" -version = "0.4.17" - -[[deps.Pipe]] -git-tree-sha1 = "6842804e7867b115ca9de748a0cf6b364523c16d" -uuid = "b98c9c47-44ae-5843-9183-064241ee97a0" -version = "1.3.0" - -[[deps.Pixman_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "JLLWrappers", "LLVMOpenMP_jll", "Libdl"] -git-tree-sha1 = "64779bc4c9784fee475689a1752ef4d5747c5e87" -uuid = "30392449-352a-5448-841d-b1acce4e97dc" -version = "0.42.2+0" - -[[deps.Pkg]] -deps = ["Artifacts", "Dates", "Downloads", "FileWatching", "LibGit2", "Libdl", "Logging", "Markdown", "Printf", "REPL", "Random", "SHA", "Serialization", "TOML", "Tar", "UUIDs", "p7zip_jll"] -uuid = "44cfe95a-1eb2-52ea-b672-e2afdf69b78f" -version = "1.9.2" - -[[deps.PkgVersion]] -deps = ["Pkg"] -git-tree-sha1 = "f9501cc0430a26bc3d156ae1b5b0c1b47af4d6da" -uuid = "eebad327-c553-4316-9ea0-9fa01ccd7688" -version = "0.3.3" - -[[deps.PlasmaDispersionFunctions]] -deps = ["SpecialFunctions"] -git-tree-sha1 = "53469d47be57bf112b8f51a90219713658b12ba6" -repo-rev = "main" -repo-url = "https://github.com/jwscook/PlasmaDispersionFunctions.jl" -uuid = "9207f8dc-3231-463e-84ff-2de753abf806" -version = "0.1.0" - -[[deps.PlotThemes]] -deps = ["PlotUtils", "Statistics"] -git-tree-sha1 = "1f03a2d339f42dca4a4da149c7e15e9b896ad899" -uuid = "ccf2f8ad-2431-5c83-bf29-c5338b663b6a" -version = "3.1.0" - -[[deps.PlotUtils]] -deps = ["ColorSchemes", "Colors", "Dates", "PrecompileTools", "Printf", "Random", "Reexport", "Statistics"] -git-tree-sha1 = "f92e1315dadf8c46561fb9396e525f7200cdc227" -uuid = "995b91a9-d308-5afd-9ec6-746e21dbc043" -version = "1.3.5" - -[[deps.Plots]] -deps = ["Base64", "Contour", "Dates", "Downloads", "FFMPEG", "FixedPointNumbers", "GR", "JLFzf", "JSON", "LaTeXStrings", "Latexify", "LinearAlgebra", "Measures", "NaNMath", "Pkg", "PlotThemes", "PlotUtils", "PrecompileTools", "Preferences", "Printf", "REPL", "Random", "RecipesBase", "RecipesPipeline", "Reexport", "RelocatableFolders", "Requires", "Scratch", "Showoff", "SparseArrays", "Statistics", "StatsBase", "UUIDs", "UnicodeFun", "UnitfulLatexify", "Unzip"] -git-tree-sha1 = "ccee59c6e48e6f2edf8a5b64dc817b6729f99eb5" -uuid = "91a5bcdd-55d7-5caf-9e0b-520d859cae80" -version = "1.39.0" - - [deps.Plots.extensions] - FileIOExt = "FileIO" - GeometryBasicsExt = "GeometryBasics" - IJuliaExt = "IJulia" - ImageInTerminalExt = "ImageInTerminal" - UnitfulExt = "Unitful" - - [deps.Plots.weakdeps] - FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549" - GeometryBasics = "5c1252a2-5f33-56bf-86c9-59e7332b4326" - IJulia = "7073ff75-c697-5162-941a-fcdaad2a7d2a" - ImageInTerminal = "d8c32880-2388-543b-8c61-d9f865259254" - Unitful = "1986cc42-f94f-5a68-af5c-568840ba703d" - -[[deps.PolygonOps]] -git-tree-sha1 = "77b3d3605fc1cd0b42d95eba87dfcd2bf67d5ff6" -uuid = "647866c9-e3ac-4575-94e7-e3d426903924" -version = "0.1.2" - -[[deps.Polynomials]] -deps = ["LinearAlgebra", "RecipesBase", "Setfield"] -git-tree-sha1 = "af8c8b863adb84abacb9a87822a778a3982901e1" -uuid = "f27b6e38-b328-58d1-80ce-0feddd5e7a45" -version = "4.0.2" -weakdeps = ["ChainRulesCore", "FFTW", "MakieCore", "MutableArithmetics"] - - [deps.Polynomials.extensions] - PolynomialsChainRulesCoreExt = "ChainRulesCore" - PolynomialsFFTWExt = "FFTW" - PolynomialsMakieCoreExt = "MakieCore" - PolynomialsMutableArithmeticsExt = "MutableArithmetics" - -[[deps.PositiveFactorizations]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "17275485f373e6673f7e7f97051f703ed5b15b20" -uuid = "85a6dd25-e78a-55b7-8502-1745935b8125" -version = "0.2.4" - -[[deps.PreallocationTools]] -deps = ["Adapt", "ArrayInterface", "ForwardDiff", "Requires"] -git-tree-sha1 = "f739b1b3cc7b9949af3b35089931f2b58c289163" -uuid = "d236fae5-4411-538c-8e31-a6e3d9e00b46" -version = "0.4.12" - - [deps.PreallocationTools.extensions] - PreallocationToolsReverseDiffExt = "ReverseDiff" - - [deps.PreallocationTools.weakdeps] - ReverseDiff = "37e2e3b7-166d-5795-8a7a-e32c996b4267" - -[[deps.PrecompileTools]] -deps = ["Preferences"] -git-tree-sha1 = "03b4c25b43cb84cee5c90aa9b5ea0a78fd848d2f" -uuid = "aea7be01-6a6a-4083-8856-8a6e6704d82a" -version = "1.2.0" - -[[deps.Preferences]] -deps = ["TOML"] -git-tree-sha1 = "7eb1686b4f04b82f96ed7a4ea5890a4f0c7a09f1" -uuid = "21216c6a-2e73-6563-6e65-726566657250" -version = "1.4.0" - -[[deps.Primes]] -deps = ["IntegerMathUtils"] -git-tree-sha1 = "4c9f306e5d6603ae203c2000dd460d81a5251489" -uuid = "27ebfcd6-29c5-5fa9-bf4b-fb8fc14df3ae" -version = "0.5.4" - -[[deps.Printf]] -deps = ["Unicode"] -uuid = "de0858da-6303-5e67-8744-51eddeeeb8d7" - -[[deps.ProgressMeter]] -deps = ["Distributed", "Printf"] -git-tree-sha1 = "ae36206463b2395804f2787ffe172f44452b538d" -uuid = "92933f4c-e287-5a05-a399-4b506db050ca" -version = "1.8.0" - -[[deps.PyCall]] -deps = ["Conda", "Dates", "Libdl", "LinearAlgebra", "MacroTools", "Serialization", "VersionParsing"] -git-tree-sha1 = "43d304ac6f0354755f1d60730ece8c499980f7ba" -uuid = "438e738f-606a-5dbb-bf0a-cddfbfd45ab0" -version = "1.96.1" - -[[deps.PyPlot]] -deps = ["Colors", "LaTeXStrings", "PyCall", "Sockets", "Test", "VersionParsing"] -git-tree-sha1 = "9220a9dae0369f431168d60adab635f88aca7857" -uuid = "d330b81b-6aea-500a-939a-2ce795aea3ee" -version = "2.11.2" - -[[deps.QOI]] -deps = ["ColorTypes", "FileIO", "FixedPointNumbers"] -git-tree-sha1 = "18e8f4d1426e965c7b532ddd260599e1510d26ce" -uuid = "4b34888f-f399-49d4-9bb3-47ed5cae4e65" -version = "1.0.0" - -[[deps.Qt6Base_jll]] -deps = ["Artifacts", "CompilerSupportLibraries_jll", "Fontconfig_jll", "Glib_jll", "JLLWrappers", "Libdl", "Libglvnd_jll", "OpenSSL_jll", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll", "Xorg_libxcb_jll", "Xorg_xcb_util_image_jll", "Xorg_xcb_util_keysyms_jll", "Xorg_xcb_util_renderutil_jll", "Xorg_xcb_util_wm_jll", "Zlib_jll", "xkbcommon_jll"] -git-tree-sha1 = "364898e8f13f7eaaceec55fd3d08680498c0aa6e" -uuid = "c0090381-4147-56d7-9ebc-da0b1113ec56" -version = "6.4.2+3" - -[[deps.QuadGK]] -deps = ["DataStructures", "LinearAlgebra"] -git-tree-sha1 = "6ec7ac8412e83d57e313393220879ede1740f9ee" -uuid = "1fd47b50-473d-5c70-9696-f719f8f3bcdc" -version = "2.8.2" - -[[deps.REPL]] -deps = ["InteractiveUtils", "Markdown", "Sockets", "Unicode"] -uuid = "3fa0cd96-eef1-5676-8a61-b3b8758bbffb" - -[[deps.Random]] -deps = ["SHA", "Serialization"] -uuid = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c" - -[[deps.RandomExtensions]] -deps = ["Random", "SparseArrays"] -git-tree-sha1 = "062986376ce6d394b23d5d90f01d81426113a3c9" -uuid = "fb686558-2515-59ef-acaa-46db3789a887" -version = "0.4.3" - -[[deps.RangeArrays]] -git-tree-sha1 = "b9039e93773ddcfc828f12aadf7115b4b4d225f5" -uuid = "b3c3ace0-ae52-54e7-9d0b-2c1406fd6b9d" -version = "0.3.2" - -[[deps.Ratios]] -deps = ["Requires"] -git-tree-sha1 = "1342a47bf3260ee108163042310d26f2be5ec90b" -uuid = "c84ed2f1-dad5-54f0-aa8e-dbefe2724439" -version = "0.4.5" -weakdeps = ["FixedPointNumbers"] - - [deps.Ratios.extensions] - RatiosFixedPointNumbersExt = "FixedPointNumbers" - -[[deps.RecipesBase]] -deps = ["PrecompileTools"] -git-tree-sha1 = "5c3d09cc4f31f5fc6af001c250bf1278733100ff" -uuid = "3cdcf5f2-1ef4-517c-9805-6587b60abb01" -version = "1.3.4" - -[[deps.RecipesPipeline]] -deps = ["Dates", "NaNMath", "PlotUtils", "PrecompileTools", "RecipesBase"] -git-tree-sha1 = "45cf9fd0ca5839d06ef333c8201714e888486342" -uuid = "01d81517-befc-4cb6-b9ec-a95719d0359c" -version = "0.6.12" - -[[deps.RecursiveArrayTools]] -deps = ["Adapt", "ArrayInterface", "DocStringExtensions", "GPUArraysCore", "IteratorInterfaceExtensions", "LinearAlgebra", "RecipesBase", "Requires", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables"] -git-tree-sha1 = "7ed35fb5f831aaf09c2d7c8736d44667a1afdcb0" -uuid = "731186ca-8d62-57ce-b412-fbd966d074cd" -version = "2.38.7" - - [deps.RecursiveArrayTools.extensions] - RecursiveArrayToolsMeasurementsExt = "Measurements" - RecursiveArrayToolsTrackerExt = "Tracker" - RecursiveArrayToolsZygoteExt = "Zygote" - - [deps.RecursiveArrayTools.weakdeps] - Measurements = "eff96d63-e80a-5855-80a2-b1b0885c5ab7" - Tracker = "9f7883ad-71c0-57eb-9f7f-b5c9e6d3789c" - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.Reexport]] -git-tree-sha1 = "45e428421666073eab6f2da5c9d310d99bb12f9b" -uuid = "189a3867-3050-52da-a836-e630ba90ab69" -version = "1.2.2" - -[[deps.RelocatableFolders]] -deps = ["SHA", "Scratch"] -git-tree-sha1 = "90bc7a7c96410424509e4263e277e43250c05691" -uuid = "05181044-ff0b-4ac5-8273-598c1e38db00" -version = "1.0.0" - -[[deps.Requires]] -deps = ["UUIDs"] -git-tree-sha1 = "838a3a4188e2ded87a4f9f184b4b0d78a1e91cb7" -uuid = "ae029012-a4dd-5104-9daa-d747884805df" -version = "1.3.0" - -[[deps.Revise]] -deps = ["CodeTracking", "Distributed", "FileWatching", "JuliaInterpreter", "LibGit2", "LoweredCodeUtils", "OrderedCollections", "Pkg", "REPL", "Requires", "UUIDs", "Unicode"] -git-tree-sha1 = "1e597b93700fa4045d7189afa7c004e0584ea548" -uuid = "295af30f-e4ad-537b-8983-00126c2a3abe" -version = "3.5.3" - -[[deps.RingLists]] -deps = ["Random"] -git-tree-sha1 = "f39da63aa6d2d88e0c1bd20ed6a3ff9ea7171ada" -uuid = "286e9d63-9694-5540-9e3c-4e6708fa07b2" -version = "0.2.8" - -[[deps.Rmath]] -deps = ["Random", "Rmath_jll"] -git-tree-sha1 = "f65dcb5fa46aee0cf9ed6274ccbd597adc49aa7b" -uuid = "79098fc4-a85e-5d69-aa6a-4863f24498fa" -version = "0.7.1" - -[[deps.Rmath_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "6ed52fdd3382cf21947b15e8870ac0ddbff736da" -uuid = "f50d1b31-88e8-58de-be2c-1cc44531875f" -version = "0.4.0+0" - -[[deps.Roots]] -deps = ["ChainRulesCore", "CommonSolve", "Printf", "Setfield"] -git-tree-sha1 = "ff42754a57bb0d6dcfe302fd0d4272853190421f" -uuid = "f2b01f46-fcfa-551c-844a-d8ac1e96c665" -version = "2.0.19" - - [deps.Roots.extensions] - RootsForwardDiffExt = "ForwardDiff" - RootsIntervalRootFindingExt = "IntervalRootFinding" - RootsSymPyExt = "SymPy" - - [deps.Roots.weakdeps] - ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210" - IntervalRootFinding = "d2bf35a9-74e0-55ec-b149-d360ff49b807" - SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" - -[[deps.RoundingEmulator]] -git-tree-sha1 = "40b9edad2e5287e05bd413a38f61a8ff55b9557b" -uuid = "5eaf0fd0-dfba-4ccb-bf02-d820a40db705" -version = "0.2.1" - -[[deps.RuntimeGeneratedFunctions]] -deps = ["ExprTools", "SHA", "Serialization"] -git-tree-sha1 = "6aacc5eefe8415f47b3e34214c1d79d2674a0ba2" -uuid = "7e49a35a-f44a-4d26-94aa-eba1b4ca6b47" -version = "0.5.12" - -[[deps.SHA]] -uuid = "ea8e919c-243c-51af-8825-aaa63cd721ce" -version = "0.7.0" - -[[deps.SIMD]] -deps = ["PrecompileTools"] -git-tree-sha1 = "0e270732477b9e551d884e6b07e23bb2ec947790" -uuid = "fdea26ae-647d-5447-a871-4b548cad5224" -version = "3.4.5" - -[[deps.SciMLBase]] -deps = ["ADTypes", "ArrayInterface", "ChainRulesCore", "CommonSolve", "ConstructionBase", "Distributed", "DocStringExtensions", "EnumX", "FunctionWrappersWrappers", "IteratorInterfaceExtensions", "LinearAlgebra", "Logging", "Markdown", "PrecompileTools", "Preferences", "RecipesBase", "RecursiveArrayTools", "Reexport", "RuntimeGeneratedFunctions", "SciMLOperators", "StaticArraysCore", "Statistics", "SymbolicIndexingInterface", "Tables", "TruncatedStacktraces", "ZygoteRules"] -git-tree-sha1 = "54b005258bb5ee4b6fd0f440b528e7b7af4c9975" -uuid = "0bca4576-84f4-4d90-8ffe-ffa030f20462" -version = "1.96.2" - - [deps.SciMLBase.extensions] - ZygoteExt = "Zygote" - - [deps.SciMLBase.weakdeps] - Zygote = "e88e6eb3-aa80-5325-afca-941959d7151f" - -[[deps.SciMLOperators]] -deps = ["ArrayInterface", "DocStringExtensions", "Lazy", "LinearAlgebra", "Setfield", "SparseArrays", "StaticArraysCore", "Tricks"] -git-tree-sha1 = "65c2e6ced6f62ea796af251eb292a0e131a3613b" -uuid = "c0aeaf25-5076-4817-a8d5-81caf7dfa961" -version = "0.3.6" - -[[deps.Scratch]] -deps = ["Dates"] -git-tree-sha1 = "30449ee12237627992a99d5e30ae63e4d78cd24a" -uuid = "6c6a2e73-6563-6170-7368-637461726353" -version = "1.2.0" - -[[deps.Serialization]] -uuid = "9e88b42a-f829-5b0c-bbe9-9e923198166b" - -[[deps.SetRounding]] -git-tree-sha1 = "d7a25e439d07a17b7cdf97eecee504c50fedf5f6" -uuid = "3cc68bcd-71a2-5612-b932-767ffbe40ab0" -version = "0.2.1" - -[[deps.Setfield]] -deps = ["ConstructionBase", "Future", "MacroTools", "StaticArraysCore"] -git-tree-sha1 = "e2cc6d8c88613c05e1defb55170bf5ff211fbeac" -uuid = "efcf1570-3423-57d1-acb7-fd33fddbac46" -version = "1.1.1" - -[[deps.ShaderAbstractions]] -deps = ["ColorTypes", "FixedPointNumbers", "GeometryBasics", "LinearAlgebra", "Observables", "StaticArrays", "StructArrays", "Tables"] -git-tree-sha1 = "0d15c3e7b2003f4451714f08ffec2b77badc2dc4" -uuid = "65257c39-d410-5151-9873-9b3e5be5013e" -version = "0.3.0" - -[[deps.SharedArrays]] -deps = ["Distributed", "Mmap", "Random", "Serialization"] -uuid = "1a1011a3-84de-559e-8e89-a11a2f7dc383" - -[[deps.Showoff]] -deps = ["Dates", "Grisu"] -git-tree-sha1 = "91eddf657aca81df9ae6ceb20b959ae5653ad1de" -uuid = "992d4aef-0814-514b-bc4d-f2e9a6c4116f" -version = "1.0.3" - -[[deps.SignedDistanceFields]] -deps = ["Random", "Statistics", "Test"] -git-tree-sha1 = "d263a08ec505853a5ff1c1ebde2070419e3f28e9" -uuid = "73760f76-fbc4-59ce-8f25-708e95d2df96" -version = "0.4.0" - -[[deps.SimpleBufferStream]] -git-tree-sha1 = "874e8867b33a00e784c8a7e4b60afe9e037b74e1" -uuid = "777ac1f9-54b0-4bf8-805c-2214025038e7" -version = "1.1.0" - -[[deps.SimpleGraphs]] -deps = ["AbstractLattices", "Combinatorics", "DataStructures", "IterTools", "LightXML", "LinearAlgebra", "LinearAlgebraX", "Optim", "Primes", "Random", "RingLists", "SimplePartitions", "SimplePolynomials", "SimpleRandom", "SparseArrays", "Statistics"] -git-tree-sha1 = "b608903049d11cc557c45e03b3a53e9260579c19" -uuid = "55797a34-41de-5266-9ec1-32ac4eb504d3" -version = "0.8.4" - -[[deps.SimplePartitions]] -deps = ["AbstractLattices", "DataStructures", "Permutations"] -git-tree-sha1 = "dcc02923a53f316ab97da8ef3136e80b4543dbf1" -uuid = "ec83eff0-a5b5-5643-ae32-5cbf6eedec9d" -version = "0.3.0" - -[[deps.SimplePolynomials]] -deps = ["Mods", "Multisets", "Polynomials", "Primes"] -git-tree-sha1 = "d537c31cf9995236166e3e9afc424a5a1c59ff9d" -uuid = "cc47b68c-3164-5771-a705-2bc0097375a0" -version = "0.2.14" - -[[deps.SimpleRandom]] -deps = ["Distributions", "LinearAlgebra", "Random"] -git-tree-sha1 = "3a6fb395e37afab81aeea85bae48a4db5cd7244a" -uuid = "a6525b86-64cd-54fa-8f65-62fc48bdc0e8" -version = "0.3.1" - -[[deps.SimpleTraits]] -deps = ["InteractiveUtils", "MacroTools"] -git-tree-sha1 = "5d7e3f4e11935503d3ecaf7186eac40602e7d231" -uuid = "699a6c99-e7fa-54fc-8d76-47d257e15c1d" -version = "0.9.4" - -[[deps.Sixel]] -deps = ["Dates", "FileIO", "ImageCore", "IndirectArrays", "OffsetArrays", "REPL", "libsixel_jll"] -git-tree-sha1 = "2da10356e31327c7096832eb9cd86307a50b1eb6" -uuid = "45858cf5-a6b0-47a3-bbea-62219f50df47" -version = "0.1.3" - -[[deps.SnoopPrecompile]] -deps = ["Preferences"] -git-tree-sha1 = "e760a70afdcd461cf01a575947738d359234665c" -uuid = "66db9d55-30c0-4569-8b51-7e840670fc0c" -version = "1.0.3" - -[[deps.Sockets]] -uuid = "6462fe0b-24de-5631-8697-dd941f90decc" - -[[deps.SoftGlobalScope]] -deps = ["REPL"] -git-tree-sha1 = "986ec2b6162ccb95de5892ed17832f95badf770c" -uuid = "b85f4697-e234-5449-a836-ec8e2f98b302" -version = "1.1.0" - -[[deps.SortingAlgorithms]] -deps = ["DataStructures"] -git-tree-sha1 = "c60ec5c62180f27efea3ba2908480f8055e17cee" -uuid = "a2af1166-a08f-5f64-846c-94a0d3cef48c" -version = "1.1.1" - -[[deps.SparseArrays]] -deps = ["Libdl", "LinearAlgebra", "Random", "Serialization", "SuiteSparse_jll"] -uuid = "2f01184e-e22b-5df5-ae63-d93ebab69eaf" - -[[deps.SpecialFunctions]] -deps = ["IrrationalConstants", "LogExpFunctions", "OpenLibm_jll", "OpenSpecFun_jll"] -git-tree-sha1 = "e2cfc4012a19088254b3950b85c3c1d8882d864d" -uuid = "276daf66-3868-5448-9aa4-cd146d93841b" -version = "2.3.1" -weakdeps = ["ChainRulesCore"] - - [deps.SpecialFunctions.extensions] - SpecialFunctionsChainRulesCoreExt = "ChainRulesCore" - -[[deps.StableHashTraits]] -deps = ["CRC32c", "Compat", "Dates", "SHA", "Tables", "TupleTools", "UUIDs"] -git-tree-sha1 = "0b8b801b8f03a329a4e86b44c5e8a7d7f4fe10a3" -uuid = "c5dd0088-6c3f-4803-b00e-f31a60c170fa" -version = "0.3.1" - -[[deps.StackViews]] -deps = ["OffsetArrays"] -git-tree-sha1 = "46e589465204cd0c08b4bd97385e4fa79a0c770c" -uuid = "cae243ae-269e-4f55-b966-ac2d0dc13c15" -version = "0.1.1" - -[[deps.StaticArrays]] -deps = ["LinearAlgebra", "Random", "StaticArraysCore"] -git-tree-sha1 = "9cabadf6e7cd2349b6cf49f1915ad2028d65e881" -uuid = "90137ffa-7385-5640-81b9-e52037218182" -version = "1.6.2" -weakdeps = ["Statistics"] - - [deps.StaticArrays.extensions] - StaticArraysStatisticsExt = "Statistics" - -[[deps.StaticArraysCore]] -git-tree-sha1 = "36b3d696ce6366023a0ea192b4cd442268995a0d" -uuid = "1e83bf80-4336-4d27-bf5d-d5a4f845583c" -version = "1.4.2" - -[[deps.Statistics]] -deps = ["LinearAlgebra", "SparseArrays"] -uuid = "10745b16-79ce-11e8-11f9-7d13ad32a3b2" -version = "1.9.0" - -[[deps.StatsAPI]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1ff449ad350c9c4cbc756624d6f8a8c3ef56d3ed" -uuid = "82ae8749-77ed-4fe6-ae5f-f523153014b0" -version = "1.7.0" - -[[deps.StatsBase]] -deps = ["DataAPI", "DataStructures", "LinearAlgebra", "LogExpFunctions", "Missings", "Printf", "Random", "SortingAlgorithms", "SparseArrays", "Statistics", "StatsAPI"] -git-tree-sha1 = "d1bf48bfcc554a3761a133fe3a9bb01488e06916" -uuid = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91" -version = "0.33.21" - -[[deps.StatsFuns]] -deps = ["HypergeometricFunctions", "IrrationalConstants", "LogExpFunctions", "Reexport", "Rmath", "SpecialFunctions"] -git-tree-sha1 = "f625d686d5a88bcd2b15cd81f18f98186fdc0c9a" -uuid = "4c63d2b9-4356-54db-8cca-17b64c39e42c" -version = "1.3.0" - - [deps.StatsFuns.extensions] - StatsFunsChainRulesCoreExt = "ChainRulesCore" - StatsFunsInverseFunctionsExt = "InverseFunctions" - - [deps.StatsFuns.weakdeps] - ChainRulesCore = "d360d2e6-b24c-11e9-a2a3-2a2ae2dbcce4" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.StructArrays]] -deps = ["Adapt", "DataAPI", "GPUArraysCore", "StaticArraysCore", "Tables"] -git-tree-sha1 = "521a0e828e98bb69042fec1809c1b5a680eb7389" -uuid = "09ab397b-f2b6-538f-b94a-2f83cf4a842a" -version = "0.6.15" - -[[deps.SuiteSparse]] -deps = ["Libdl", "LinearAlgebra", "Serialization", "SparseArrays"] -uuid = "4607b0f0-06f3-5cda-b6b1-a6196a1729e9" - -[[deps.SuiteSparse_jll]] -deps = ["Artifacts", "Libdl", "Pkg", "libblastrampoline_jll"] -uuid = "bea87d4a-7f5b-5778-9afe-8cc45184846c" -version = "5.10.1+6" - -[[deps.SymbolicIndexingInterface]] -deps = ["DocStringExtensions"] -git-tree-sha1 = "f8ab052bfcbdb9b48fad2c80c873aa0d0344dfe5" -uuid = "2efcf032-c050-4f8e-a9bb-153293bab1f5" -version = "0.2.2" - -[[deps.SymbolicUtils]] -deps = ["AbstractTrees", "Bijections", "ChainRulesCore", "Combinatorics", "ConstructionBase", "DataStructures", "DocStringExtensions", "DynamicPolynomials", "IfElse", "LabelledArrays", "LinearAlgebra", "MultivariatePolynomials", "NaNMath", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "TimerOutputs", "Unityper"] -git-tree-sha1 = "dbb5d0cb3aa5207e887ab12e4549c5313d0f4f02" -uuid = "d1185830-fcd6-423d-90d6-eec64667417b" -version = "1.3.0" - -[[deps.Symbolics]] -deps = ["ArrayInterface", "Bijections", "ConstructionBase", "DataStructures", "DiffRules", "Distributions", "DocStringExtensions", "DomainSets", "DynamicPolynomials", "Groebner", "IfElse", "LaTeXStrings", "LambertW", "Latexify", "Libdl", "LinearAlgebra", "MacroTools", "Markdown", "NaNMath", "RecipesBase", "Reexport", "Requires", "RuntimeGeneratedFunctions", "SciMLBase", "Setfield", "SparseArrays", "SpecialFunctions", "StaticArrays", "SymbolicUtils", "TreeViews"] -git-tree-sha1 = "ac7f8825d029b568f82dbf2cb49da9cebcadaffb" -uuid = "0c5d862f-8b57-4792-8d23-62f2024744c7" -version = "5.5.3" - - [deps.Symbolics.extensions] - SymbolicsSymPyExt = "SymPy" - - [deps.Symbolics.weakdeps] - SymPy = "24249f21-da20-56a4-8eb1-6a02cf4ae2e6" - -[[deps.TOML]] -deps = ["Dates"] -uuid = "fa267f1f-6049-4f14-aa54-33bafae1ed76" -version = "1.0.3" - -[[deps.TableTraits]] -deps = ["IteratorInterfaceExtensions"] -git-tree-sha1 = "c06b2f539df1c6efa794486abfb6ed2022561a39" -uuid = "3783bdb8-4a98-5b6b-af9a-565f29a5fe9c" -version = "1.0.1" - -[[deps.Tables]] -deps = ["DataAPI", "DataValueInterfaces", "IteratorInterfaceExtensions", "LinearAlgebra", "OrderedCollections", "TableTraits", "Test"] -git-tree-sha1 = "1544b926975372da01227b382066ab70e574a3ec" -uuid = "bd369af6-aec1-5ad0-b16a-f7cc5008161c" -version = "1.10.1" - -[[deps.Tar]] -deps = ["ArgTools", "SHA"] -uuid = "a4e569a6-e804-4fa4-b0f3-eef7a1d5b13e" -version = "1.10.0" - -[[deps.TensorCore]] -deps = ["LinearAlgebra"] -git-tree-sha1 = "1feb45f88d133a655e001435632f019a9a1bcdb6" -uuid = "62fd8b95-f654-4bbd-a8a5-9c27f68ccd50" -version = "0.1.1" - -[[deps.Test]] -deps = ["InteractiveUtils", "Logging", "Random", "Serialization"] -uuid = "8dfed614-e22c-5e08-85e1-65c5234f0b40" - -[[deps.TextWrap]] -git-tree-sha1 = "9250ef9b01b66667380cf3275b3f7488d0e25faf" -uuid = "b718987f-49a8-5099-9789-dcd902bef87d" -version = "1.0.1" - -[[deps.TiffImages]] -deps = ["ColorTypes", "DataStructures", "DocStringExtensions", "FileIO", "FixedPointNumbers", "IndirectArrays", "Inflate", "Mmap", "OffsetArrays", "PkgVersion", "ProgressMeter", "UUIDs"] -git-tree-sha1 = "8621f5c499a8aa4aa970b1ae381aae0ef1576966" -uuid = "731e570b-9d59-4bfa-96dc-6df516fadf69" -version = "0.6.4" - -[[deps.TimerOutputs]] -deps = ["ExprTools", "Printf"] -git-tree-sha1 = "f548a9e9c490030e545f72074a41edfd0e5bcdd7" -uuid = "a759f4b9-e2f1-59dc-863e-4aeb61b1ea8f" -version = "0.5.23" - -[[deps.TranscodingStreams]] -deps = ["Random", "Test"] -git-tree-sha1 = "9a6ae7ed916312b41236fcef7e0af564ef934769" -uuid = "3bb67fe8-82b1-5028-8e26-92a6c54297fa" -version = "0.9.13" - -[[deps.TreeViews]] -deps = ["Test"] -git-tree-sha1 = "8d0d7a3fe2f30d6a7f833a5f19f7c7a5b396eae6" -uuid = "a2a6695c-b41b-5b7d-aed9-dbfdeacea5d7" -version = "0.3.0" - -[[deps.Tricks]] -git-tree-sha1 = "aadb748be58b492045b4f56166b5188aa63ce549" -uuid = "410a4b4d-49e4-4fbc-ab6d-cb71b17b3775" -version = "0.1.7" - -[[deps.TriplotBase]] -git-tree-sha1 = "4d4ed7f294cda19382ff7de4c137d24d16adc89b" -uuid = "981d1d27-644d-49a2-9326-4793e63143c3" -version = "0.1.0" - -[[deps.TruncatedStacktraces]] -deps = ["InteractiveUtils", "MacroTools", "Preferences"] -git-tree-sha1 = "ea3e54c2bdde39062abf5a9758a23735558705e1" -uuid = "781d530d-4396-4725-bb49-402e4bee1e77" -version = "1.4.0" - -[[deps.TupleTools]] -git-tree-sha1 = "3c712976c47707ff893cf6ba4354aa14db1d8938" -uuid = "9d95972d-f1c8-5527-a6e0-b4b365fa01f6" -version = "1.3.0" - -[[deps.URIs]] -git-tree-sha1 = "b7a5e99f24892b6824a954199a45e9ffcc1c70f0" -uuid = "5c2747f8-b7ea-4ff2-ba2e-563bfd36b1d4" -version = "1.5.0" - -[[deps.UUIDs]] -deps = ["Random", "SHA"] -uuid = "cf7118a7-6976-5b1a-9a39-7adc72f591a4" - -[[deps.UnPack]] -git-tree-sha1 = "387c1f73762231e86e0c9c5443ce3b4a0a9a0c2b" -uuid = "3a884ed6-31ef-47d7-9d2a-63182c4928ed" -version = "1.0.2" - -[[deps.Unicode]] -uuid = "4ec0a83e-493e-50e2-b9ac-8f72acf5a8f5" - -[[deps.UnicodeFun]] -deps = ["REPL"] -git-tree-sha1 = "53915e50200959667e78a92a418594b428dffddf" -uuid = "1cfade01-22cf-5700-b092-accc4b62d6e1" -version = "0.4.1" - -[[deps.Unitful]] -deps = ["Dates", "LinearAlgebra", "Random"] -git-tree-sha1 = "a72d22c7e13fe2de562feda8645aa134712a87ee" -uuid = "1986cc42-f94f-5a68-af5c-568840ba703d" -version = "1.17.0" - - [deps.Unitful.extensions] - ConstructionBaseUnitfulExt = "ConstructionBase" - InverseFunctionsUnitfulExt = "InverseFunctions" - - [deps.Unitful.weakdeps] - ConstructionBase = "187b0558-2788-49d3-abe0-74a17ed4e7c9" - InverseFunctions = "3587e190-3f89-42d0-90ee-14403ec27112" - -[[deps.UnitfulLatexify]] -deps = ["LaTeXStrings", "Latexify", "Unitful"] -git-tree-sha1 = "e2d817cc500e960fdbafcf988ac8436ba3208bfd" -uuid = "45397f5d-5981-4c77-b2b3-fc36d6e9b728" -version = "1.6.3" - -[[deps.Unityper]] -deps = ["ConstructionBase"] -git-tree-sha1 = "21c8fc7cd598ef49f11bc9e94871f5d7740e34b9" -uuid = "a7c27f48-0311-42f6-a7f8-2c11e75eb415" -version = "0.1.5" - -[[deps.Unzip]] -git-tree-sha1 = "ca0969166a028236229f63514992fc073799bb78" -uuid = "41fe7b60-77ed-43a1-b4f0-825fd5a5650d" -version = "0.2.0" - -[[deps.VersionParsing]] -git-tree-sha1 = "58d6e80b4ee071f5efd07fda82cb9fbe17200868" -uuid = "81def892-9a0e-5fdd-b105-ffc91e053289" -version = "1.3.0" - -[[deps.Wayland_jll]] -deps = ["Artifacts", "EpollShim_jll", "Expat_jll", "JLLWrappers", "Libdl", "Libffi_jll", "Pkg", "XML2_jll"] -git-tree-sha1 = "ed8d92d9774b077c53e1da50fd81a36af3744c1c" -uuid = "a2964d1f-97da-50d4-b82a-358c7fce9d89" -version = "1.21.0+0" - -[[deps.Wayland_protocols_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4528479aa01ee1b3b4cd0e6faef0e04cf16466da" -uuid = "2381bf8a-dfd0-557d-9999-79630e7b1b91" -version = "1.25.0+0" - -[[deps.WoodburyMatrices]] -deps = ["LinearAlgebra", "SparseArrays"] -git-tree-sha1 = "de67fa59e33ad156a590055375a30b23c40299d3" -uuid = "efce3f68-66dc-5838-9240-27a6d6f5f9b6" -version = "0.5.5" - -[[deps.XML2_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libiconv_jll", "Zlib_jll"] -git-tree-sha1 = "04a51d15436a572301b5abbb9d099713327e9fc4" -uuid = "02c8fc9c-b97f-50b9-bbe4-9be30ff0a78a" -version = "2.10.4+0" - -[[deps.XSLT_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Libgcrypt_jll", "Libgpg_error_jll", "Libiconv_jll", "Pkg", "XML2_jll", "Zlib_jll"] -git-tree-sha1 = "91844873c4085240b95e795f692c4cec4d805f8a" -uuid = "aed1982a-8fda-507f-9586-7b0439959a61" -version = "1.1.34+0" - -[[deps.XZ_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "cf2c7de82431ca6f39250d2fc4aacd0daa1675c0" -uuid = "ffd25f8a-64ca-5728-b0f7-c24cf3aae800" -version = "5.4.4+0" - -[[deps.Xorg_libX11_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxcb_jll", "Xorg_xtrans_jll"] -git-tree-sha1 = "afead5aba5aa507ad5a3bf01f58f82c8d1403495" -uuid = "4f6342f7-b3d2-589e-9d20-edeb45f2b2bc" -version = "1.8.6+0" - -[[deps.Xorg_libXau_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "6035850dcc70518ca32f012e46015b9beeda49d8" -uuid = "0c0b7dd1-d40b-584c-a123-a41640f87eec" -version = "1.0.11+0" - -[[deps.Xorg_libXcursor_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXfixes_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "12e0eb3bc634fa2080c1c37fccf56f7c22989afd" -uuid = "935fb764-8cf2-53bf-bb30-45bb1f8bf724" -version = "1.2.0+4" - -[[deps.Xorg_libXdmcp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "34d526d318358a859d7de23da945578e8e8727b7" -uuid = "a3789734-cfe1-5b06-b2d0-1dd0d9d62d05" -version = "1.1.4+0" - -[[deps.Xorg_libXext_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "b7c0aa8c376b31e4852b360222848637f481f8c3" -uuid = "1082639a-0dae-5f34-9b06-72781eeb8cb3" -version = "1.3.4+4" - -[[deps.Xorg_libXfixes_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "0e0dc7431e7a0587559f9294aeec269471c991a4" -uuid = "d091e8ba-531a-589c-9de9-94069b037ed8" -version = "5.0.3+4" - -[[deps.Xorg_libXi_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXfixes_jll"] -git-tree-sha1 = "89b52bc2160aadc84d707093930ef0bffa641246" -uuid = "a51aa0fd-4e3c-5386-b890-e753decda492" -version = "1.7.10+4" - -[[deps.Xorg_libXinerama_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll"] -git-tree-sha1 = "26be8b1c342929259317d8b9f7b53bf2bb73b123" -uuid = "d1454406-59df-5ea1-beac-c340f2130bc3" -version = "1.1.4+4" - -[[deps.Xorg_libXrandr_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libXext_jll", "Xorg_libXrender_jll"] -git-tree-sha1 = "34cea83cb726fb58f325887bf0612c6b3fb17631" -uuid = "ec84b674-ba8e-5d96-8ba1-2a689ba10484" -version = "1.5.2+4" - -[[deps.Xorg_libXrender_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libX11_jll"] -git-tree-sha1 = "19560f30fd49f4d4efbe7002a1037f8c43d43b96" -uuid = "ea2f1a96-1ddc-540d-b46f-429655e07cfa" -version = "0.9.10+4" - -[[deps.Xorg_libpthread_stubs_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "8fdda4c692503d44d04a0603d9ac0982054635f9" -uuid = "14d82f49-176c-5ed1-bb49-ad3f5cbd8c74" -version = "0.1.1+0" - -[[deps.Xorg_libxcb_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "XSLT_jll", "Xorg_libXau_jll", "Xorg_libXdmcp_jll", "Xorg_libpthread_stubs_jll"] -git-tree-sha1 = "b4bfde5d5b652e22b9c790ad00af08b6d042b97d" -uuid = "c7cfdc94-dc32-55de-ac96-5a1b8d977c5b" -version = "1.15.0+0" - -[[deps.Xorg_libxkbfile_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libX11_jll"] -git-tree-sha1 = "730eeca102434283c50ccf7d1ecdadf521a765a4" -uuid = "cc61e674-0454-545c-8b26-ed2c68acab7a" -version = "1.1.2+0" - -[[deps.Xorg_xcb_util_image_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "0fab0a40349ba1cba2c1da699243396ff8e94b97" -uuid = "12413925-8142-5f55-bb0e-6d7ca50bb09b" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_libxcb_jll"] -git-tree-sha1 = "e7fd7b2881fa2eaa72717420894d3938177862d1" -uuid = "2def613f-5ad1-5310-b15b-b15d46f528f5" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_keysyms_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "d1151e2c45a544f32441a567d1690e701ec89b00" -uuid = "975044d2-76e6-5fbe-bf08-97ce7c6574c7" -version = "0.4.0+1" - -[[deps.Xorg_xcb_util_renderutil_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "dfd7a8f38d4613b6a575253b3174dd991ca6183e" -uuid = "0d47668e-0667-5a69-a72c-f761630bfb7e" -version = "0.3.9+1" - -[[deps.Xorg_xcb_util_wm_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Xorg_xcb_util_jll"] -git-tree-sha1 = "e78d10aab01a4a154142c5006ed44fd9e8e31b67" -uuid = "c22f9ab0-d5fe-5066-847c-f4bb1cd4e361" -version = "0.4.1+1" - -[[deps.Xorg_xkbcomp_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_libxkbfile_jll"] -git-tree-sha1 = "330f955bc41bb8f5270a369c473fc4a5a4e4d3cb" -uuid = "35661453-b289-5fab-8a00-3d9160c6a3a4" -version = "1.4.6+0" - -[[deps.Xorg_xkeyboard_config_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Xorg_xkbcomp_jll"] -git-tree-sha1 = "691634e5453ad362044e2ad653e79f3ee3bb98c3" -uuid = "33bec58e-1273-512f-9401-5d533626f822" -version = "2.39.0+0" - -[[deps.Xorg_xtrans_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "e92a1a012a10506618f10b7047e478403a046c77" -uuid = "c5fb5394-a638-5e4d-96e5-b29de1b5cf10" -version = "1.5.0+0" - -[[deps.ZMQ]] -deps = ["FileWatching", "Sockets", "ZeroMQ_jll"] -git-tree-sha1 = "356d2bdcc0bce90aabee1d1c0f6d6f301eda8f77" -uuid = "c2297ded-f4af-51ae-bb23-16f91089e4e1" -version = "1.2.2" - -[[deps.ZeroMQ_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "libsodium_jll"] -git-tree-sha1 = "fe5c65a526f066fb3000da137d5785d9649a8a47" -uuid = "8f1865be-045e-5c20-9c9f-bfbfb0764568" -version = "4.3.4+0" - -[[deps.Zlib_jll]] -deps = ["Libdl"] -uuid = "83775a58-1f1d-513f-b197-d71354ab007a" -version = "1.2.13+0" - -[[deps.Zstd_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl"] -git-tree-sha1 = "49ce682769cd5de6c72dcf1b94ed7790cd08974c" -uuid = "3161d3a3-bdf6-5164-811a-617609db77b4" -version = "1.5.5+0" - -[[deps.ZygoteRules]] -deps = ["ChainRulesCore", "MacroTools"] -git-tree-sha1 = "977aed5d006b840e2e40c0b48984f7463109046d" -uuid = "700de1a5-db45-46bc-99cf-38207098b444" -version = "0.2.3" - -[[deps.fzf_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "868e669ccb12ba16eaf50cb2957ee2ff61261c56" -uuid = "214eeab7-80f7-51ab-84ad-2988db7cef09" -version = "0.29.0+0" - -[[deps.isoband_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "51b5eeb3f98367157a7a12a1fb0aa5328946c03c" -uuid = "9a68df92-36a6-505f-a73e-abb412b6bfb4" -version = "0.2.3+0" - -[[deps.libaom_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "3a2ea60308f0996d26f1e5354e10c24e9ef905d4" -uuid = "a4ae2306-e953-59d6-aa16-d00cac43593b" -version = "3.4.0+0" - -[[deps.libass_jll]] -deps = ["Artifacts", "Bzip2_jll", "FreeType2_jll", "FriBidi_jll", "HarfBuzz_jll", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "5982a94fcba20f02f42ace44b9894ee2b140fe47" -uuid = "0ac62f75-1d6f-5e53-bd7c-93b484bb37c0" -version = "0.15.1+0" - -[[deps.libblastrampoline_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850b90-86db-534c-a0d3-1478176c7d93" -version = "5.8.0+0" - -[[deps.libfdk_aac_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "daacc84a041563f965be61859a36e17c4e4fcd55" -uuid = "f638f0a6-7fb0-5443-88ba-1cc74229b280" -version = "2.0.2+0" - -[[deps.libpng_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Zlib_jll"] -git-tree-sha1 = "94d180a6d2b5e55e447e2d27a29ed04fe79eb30c" -uuid = "b53b4c65-9356-5827-b1ea-8c7a1a84506f" -version = "1.6.38+0" - -[[deps.libsixel_jll]] -deps = ["Artifacts", "JLLWrappers", "JpegTurbo_jll", "Libdl", "Pkg", "libpng_jll"] -git-tree-sha1 = "d4f63314c8aa1e48cd22aa0c17ed76cd1ae48c3c" -uuid = "075b6546-f08a-558a-be8f-8157d0f608a5" -version = "1.10.3+0" - -[[deps.libsodium_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "848ab3d00fe39d6fbc2a8641048f8f272af1c51e" -uuid = "a9144af2-ca23-56d9-984f-0d03f7b5ccf8" -version = "1.0.20+0" - -[[deps.libvorbis_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Ogg_jll", "Pkg"] -git-tree-sha1 = "b910cb81ef3fe6e78bf6acee440bda86fd6ae00c" -uuid = "f27f6e37-5d2b-51aa-960f-b287f2bc3b7a" -version = "1.3.7+1" - -[[deps.moment_kinetics]] -deps = ["ArgParse", "CairoMakie", "Combinatorics", "Dates", "DelimitedFiles", "FFTW", "Glob", "HDF5", "IJulia", "IfElse", "Interpolations", "LaTeXStrings", "LibGit2", "LinearAlgebra", "LsqFit", "MPI", "MPIPreferences", "Measures", "NCDatasets", "NaNMath", "NaturalSort", "OrderedCollections", "PackageCompiler", "Pkg", "Plots", "Preferences", "Primes", "PyCall", "PyPlot", "Revise", "Roots", "SHA", "SpecialFunctions", "Statistics", "StatsBase", "Symbolics", "TOML", "TimerOutputs", "UUIDs", "Unitful"] -path = "../.." -uuid = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" -version = "0.1.0" - -[[deps.nghttp2_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "8e850ede-7688-5339-a07c-302acd2aaf8d" -version = "1.48.0+0" - -[[deps.p7zip_jll]] -deps = ["Artifacts", "Libdl"] -uuid = "3f19e933-33d8-53b3-aaab-bd5110c3b7a0" -version = "17.4.0+0" - -[[deps.x264_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "4fea590b89e6ec504593146bf8b988b2c00922b2" -uuid = "1270edf5-f2f9-52d2-97e9-ab00b5d0237a" -version = "2021.5.5+0" - -[[deps.x265_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg"] -git-tree-sha1 = "ee567a171cce03570d77ad3a43e90218e38937a9" -uuid = "dfaa095f-4041-5dcd-9319-2fabd8486b76" -version = "3.5.0+0" - -[[deps.xkbcommon_jll]] -deps = ["Artifacts", "JLLWrappers", "Libdl", "Pkg", "Wayland_jll", "Wayland_protocols_jll", "Xorg_libxcb_jll", "Xorg_xkeyboard_config_jll"] -git-tree-sha1 = "9ebfc140cc56e8c2156a15ceac2f0302e327ac0a" -uuid = "d8fb68d0-12a3-5cfd-a85a-d49703b185fd" -version = "1.4.1+0" diff --git a/publication_inputs/2023_EFTC_jto-poster/Project.toml b/publication_inputs/2023_EFTC_jto-poster/Project.toml index 884b3b257..d812df24c 100644 --- a/publication_inputs/2023_EFTC_jto-poster/Project.toml +++ b/publication_inputs/2023_EFTC_jto-poster/Project.toml @@ -2,5 +2,3 @@ LaTeXStrings = "b964fa9f-0449-5b57-a5c2-d3ea65f4040f" MathTeXEngine = "0a4f8689-d25c-4efe-a92b-7142dfc1aa53" Optim = "429524aa-4258-5aef-a3af-852621145aeb" -PlasmaDispersionFunctions = "9207f8dc-3231-463e-84ff-2de753abf806" -moment_kinetics = "b5ff72cc-06fc-4161-ad14-dba1c22ed34e" From 3b807f4514dfa87fb4116198aa60be5900ce826b Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 16:20:30 +0000 Subject: [PATCH 68/71] eftc2023-jto: Use sqrt-spaced z-grid for EFTC examples ...otherwise numerical issues in the first/last elements in z prevent the 'split3' simulations from converging to a state with residuals below 1e-3 (but all input files are changed, not just the 'split3' ones, as the 'split3' simulations need to restart from a case with a sqrt-spaced grid to avoid numerical instability). Adds a note in the README.md that this grid was not used for the plots on the EFTC poster, these were just made accepting slightly higher residuals for the 'split3' case (the difference was in any case not visible on the plots). --- examples/wall-bc/wall-bc_volumerecycle.toml | 3 ++- .../wall-bc/wall-bc_volumerecycle_split1.toml | 3 ++- .../wall-bc/wall-bc_volumerecycle_split2.toml | 3 ++- .../wall-bc/wall-bc_volumerecycle_split3.toml | 1 + .../2023_EFTC_jto-poster/README.md | 17 ++++++++++++++--- .../wall-bc/wall-bc_recyclefraction0.5.toml | 7 ++++--- .../wall-bc_recyclefraction0.5_split1.toml | 7 ++++--- .../wall-bc_recyclefraction0.5_split2.toml | 7 ++++--- .../wall-bc_recyclefraction0.5_split3.toml | 5 +++-- 9 files changed, 36 insertions(+), 17 deletions(-) diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index 6ba978c6b..4f3379532 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -48,7 +48,7 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false nstep = 1000000 -dt = 5.0e-5 +dt = 3.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false @@ -61,6 +61,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split1.toml b/examples/wall-bc/wall-bc_volumerecycle_split1.toml index 26867058c..d1c081218 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split1.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split1.toml @@ -48,7 +48,7 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false nstep = 1000000 -dt = 5.0e-5 +dt = 3.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false @@ -61,6 +61,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split2.toml b/examples/wall-bc/wall-bc_volumerecycle_split2.toml index f6f96b6e2..97e494875 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split2.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split2.toml @@ -48,7 +48,7 @@ charge_exchange_frequency = 0.75 ionization_frequency = 0.5 constant_ionization_rate = false nstep = 1000000 -dt = 5.0e-5 +dt = 3.0e-5 nwrite = 10000 nwrite_dfns = 10000 use_semi_lagrange = false @@ -61,6 +61,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml index fa65cda93..23888eb96 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split3.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -61,6 +61,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 30.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/README.md b/publication_inputs/2023_EFTC_jto-poster/README.md index 72647123f..161696c5c 100644 --- a/publication_inputs/2023_EFTC_jto-poster/README.md +++ b/publication_inputs/2023_EFTC_jto-poster/README.md @@ -69,14 +69,25 @@ documentation.] We run the 'full-f' version from scratch, then restart the moment-kinetic version from that to save time. +Note that the plots shown on the poster used a uniform element spacing, but the +'split3' run does not quite converge to residuals less than 1e-3 with a uniform +grid for the resolutions used here, due to some numerical noise in the elements +next to the sheath edge boundaries (i.e. the first and last element in z). +Using sqrt-scaled element sizes (`z_element_spacing_option = "sqrt"`) resolves +the solution near the sheath entrances better, and in that case the 'split3' +simulation does converge to residuals less than 1e-3, so this option is the one +set now in all the `wall-bc/wall-bc_recyclefraction0.5*.toml` input files (as +the 'split3' simulation needs to be restarted from a simulation that used the +sqrt-spaced grid to avoid numerical instability). + In the top-level `moment_kinetics` directory, run ```julia $ julia --project julia> using moment_kinetics julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml") -julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml"; restart="runs/wall-bc_recyclefraction0.5/") -julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml"; restart="runs/wall-bc_recyclefraction0.5/") -julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml"; restart="runs/wall-bc_recyclefraction0.5/") +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml"; restart="runs/wall-bc_recyclefraction0.5/wall-bc_recyclefraction0.5.dfns.h5") +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml"; restart="runs/wall-bc_recyclefraction0.5/wall-bc_recyclefraction0.5.dfns.h5") +julia> run_moment_kinetics("publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml"; restart="runs/wall-bc_recyclefraction0.5/wall-bc_recyclefraction0.5.dfns.h5") ``` Plots diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml index b96abd526..0a363e4a9 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5.toml @@ -49,9 +49,9 @@ ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 nstep = 1000000 -dt = 2.0e-4 -nwrite = 2500 -nwrite_dfns = 2500 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -62,6 +62,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml index 78e2c9b67..8cae6950d 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split1.toml @@ -49,9 +49,9 @@ ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 nstep = 1000000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -62,6 +62,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml index d06a8502e..986e8a616 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split2.toml @@ -49,9 +49,9 @@ ionization_frequency = 0.5 constant_ionization_rate = false #nstep = 50000 nstep = 1000000 -dt = 1.0e-4 -nwrite = 5000 -nwrite_dfns = 5000 +dt = 3.0e-5 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -62,6 +62,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 18.0 diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml index 63329af0b..28bcc6831 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc_recyclefraction0.5_split3.toml @@ -50,8 +50,8 @@ constant_ionization_rate = false #nstep = 50000 nstep = 1000000 dt = 1.0e-5 -nwrite = 5000 -nwrite_dfns = 5000 +nwrite = 10000 +nwrite_dfns = 10000 use_semi_lagrange = false n_rk_stages = 4 split_operators = false @@ -62,6 +62,7 @@ z_nelement = 32 z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" +z_element_spacing_option = "sqrt" vpa_ngrid = 10 vpa_nelement = 63 vpa_L = 36.0 From 82678ef58fe14a530ea4cf340dca18bdc9a5f538 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Thu, 16 Nov 2023 17:01:17 +0000 Subject: [PATCH 69/71] eftc2023-jto: Work around error when post_processing_input.toml missing If there is no `post_processing_input.toml` file, and a real file name is not passed, then an error is thrown (this will be fixed in makie_post_processing in future). For now, skip the unneeded setup call in get_run_info() to avoid the error. --- .../2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl index b00ddd597..49ed63f63 100644 --- a/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl +++ b/publication_inputs/2023_EFTC_jto-poster/wall-bc/wall-bc-plots.jl @@ -30,8 +30,8 @@ function main() #subtitles = (L"full-f$$", L"evolving-$n$", L"evolving-$n,u_\parallel$", # L"evolving-$n,u_\parallel,p_\parallel$") - run_info = Tuple(get_run_info(d; itime_min=-1) for d ∈ run_dirs) - run_info_dfns = Tuple(get_run_info(d; itime_min=-1, dfns=true) for d ∈ run_dirs) + run_info = Tuple(get_run_info(d; itime_min=-1, do_setup=false) for d ∈ run_dirs) + run_info_dfns = Tuple(get_run_info(d; itime_min=-1, dfns=true, do_setup=false) for d ∈ run_dirs) setup_makie_post_processing_input!( joinpath(output_dir, "post_processing_input_eftc2023.toml"), run_info_moments=run_info, run_info_dfns=run_info_dfns) From fb288e5ce004825ea199ff91e247bd5945c7e536 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Fri, 17 Nov 2023 16:34:50 +0000 Subject: [PATCH 70/71] eftc2023-jto: Add note on version of code where inputs are known to work --- publication_inputs/2023_EFTC_jto-poster/README.md | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/publication_inputs/2023_EFTC_jto-poster/README.md b/publication_inputs/2023_EFTC_jto-poster/README.md index 161696c5c..b31eb28ae 100644 --- a/publication_inputs/2023_EFTC_jto-poster/README.md +++ b/publication_inputs/2023_EFTC_jto-poster/README.md @@ -1,3 +1,15 @@ +Introduction +============ + +The inputs and scripts in this directory were used to produce the figures for +John Omotani's poster at EFTC 2023. This README explains how to reproduce the +runs and plots. Note that the inputs in this directory are not tested +automatically, so they may be broken by future updates to `moment_kinetics`. +They were tested using the branch at +[PR #147](https://github.com/mabarnes/moment_kinetics/pull/147), using +julia-1.9.3 and the Manifest.toml file that was temporarily committed in +344b559c2e79b6586e6fdb8016ee4863c672a3f4. + Sound wave ========== From 7d45e3037fa8338312e85ba0f1ae37c422d4dbc0 Mon Sep 17 00:00:00 2001 From: John Omotani Date: Sat, 18 Nov 2023 22:01:26 +0000 Subject: [PATCH 71/71] Disable distributed MPI parallelism in new example input files The CI test of the examples runs in serial, so fails if `z_nelement_local` is set in a way that requires distributed MPI parallelism. --- examples/wall-bc/wall-bc_no-neutrals_split3.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split1.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split2.toml | 2 +- examples/wall-bc/wall-bc_volumerecycle_split3.toml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/examples/wall-bc/wall-bc_no-neutrals_split3.toml b/examples/wall-bc/wall-bc_no-neutrals_split3.toml index 80177f70d..c966d47b2 100644 --- a/examples/wall-bc/wall-bc_no-neutrals_split3.toml +++ b/examples/wall-bc/wall-bc_no-neutrals_split3.toml @@ -57,7 +57,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -z_nelement_local = 4 +#z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" vpa_ngrid = 10 diff --git a/examples/wall-bc/wall-bc_volumerecycle.toml b/examples/wall-bc/wall-bc_volumerecycle.toml index 4f3379532..843f62ccb 100644 --- a/examples/wall-bc/wall-bc_volumerecycle.toml +++ b/examples/wall-bc/wall-bc_volumerecycle.toml @@ -58,7 +58,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -z_nelement_local = 4 +#z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" z_element_spacing_option = "sqrt" diff --git a/examples/wall-bc/wall-bc_volumerecycle_split1.toml b/examples/wall-bc/wall-bc_volumerecycle_split1.toml index d1c081218..d698c53fd 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split1.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split1.toml @@ -58,7 +58,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -z_nelement_local = 4 +#z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" z_element_spacing_option = "sqrt" diff --git a/examples/wall-bc/wall-bc_volumerecycle_split2.toml b/examples/wall-bc/wall-bc_volumerecycle_split2.toml index 97e494875..aad238c3f 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split2.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split2.toml @@ -58,7 +58,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -z_nelement_local = 4 +#z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" z_element_spacing_option = "sqrt" diff --git a/examples/wall-bc/wall-bc_volumerecycle_split3.toml b/examples/wall-bc/wall-bc_volumerecycle_split3.toml index 23888eb96..864822dd1 100644 --- a/examples/wall-bc/wall-bc_volumerecycle_split3.toml +++ b/examples/wall-bc/wall-bc_volumerecycle_split3.toml @@ -58,7 +58,7 @@ r_ngrid = 1 r_nelement = 1 z_ngrid = 9 z_nelement = 32 -z_nelement_local = 4 +#z_nelement_local = 4 z_bc = "wall" z_discretization = "chebyshev_pseudospectral" z_element_spacing_option = "sqrt"