From 4dc8fde11bf9af50bf9e95a89f4daed377819df3 Mon Sep 17 00:00:00 2001 From: Daniel Peter Date: Thu, 18 Nov 2021 16:23:51 +0300 Subject: [PATCH] adds parameter APPROXIMATE_HESS_KL to Par_file --- DATA/Par_file | 3 +++ EXAMPLES/BENCHIE_water_PVC/DATA/Par_file | 3 +++ .../ACOUSTIC/DATA/Par_file | 3 +++ .../ACOUSTIC_ELASTIC/DATA/Par_file | 3 +++ .../ELASTIC/DATA/Par_file | 3 +++ EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file | 3 +++ .../DATA/Par_file.serial | 3 +++ EXAMPLES/Industrial_Format_SEP/DATA/Par_file | 3 +++ .../REF_SEIS/Par_file.step_1 | 3 +++ .../REF_SEIS/Par_file.step_2 | 3 +++ .../LuoYang_fluid_solid_kernel/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ EXAMPLES/Rayleigh_wave_no_crack/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ EXAMPLES/Rayleigh_wave_with_crack/DATA/Par_file | 3 +++ .../DATA/Par_file_Tape2007_132rec_checker | 3 +++ EXAMPLES/Tape2007/DATA/Par_file_Tape2007_onerec | 3 +++ EXAMPLES/Tape2007/REF_SEIS/Par_file | 3 +++ EXAMPLES/Tape2007_kernel/DATA/Par_file | 3 +++ EXAMPLES/Tromp2005/DATA/Par_file | 3 +++ EXAMPLES/Tromp2005/DATA/Par_file_Tromp2005_s100 | 3 +++ EXAMPLES/Tromp2005_kernel/DATA/Par_file | 3 +++ .../anisotropic_isotropic_model/DATA/Par_file | 3 +++ .../DATA/Par_file_homogeneous_with_attenuation | 3 +++ EXAMPLES/anisotropic_zinc_crystal/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ ...nuation_2D_source_in_point_inside_an_element | 3 +++ ...n_2D_source_in_point_shared_by_four_elements | 3 +++ .../DATA/Par_file | 3 +++ .../REF_SEIS/Par_file | 3 +++ EXAMPLES/canyon/DATA/Par_file | 3 +++ ...the_corner_between_several_spectral_elements | 3 +++ ...tenuation_2D_inside_a_given_spectral_element | 3 +++ .../REF_SEIS/Par_file | 3 +++ ...the_corner_between_several_spectral_elements | 3 +++ .../REF_SEIS/Par_file | 3 +++ ...the_corner_between_several_spectral_elements | 3 +++ ...tenuation_2D_inside_a_given_spectral_element | 3 +++ .../REF_SEIS/Par_file | 3 +++ .../fluid_solid_external_mesh/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ EXAMPLES/global_Earth_ak135f/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ EXAMPLES/initial_mode_LDDRK/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ EXAMPLES/moving_sources_acoustic/DATA/Par_file | 3 +++ EXAMPLES/noise_uniform/DATA/Par_file | 3 +++ EXAMPLES/noise_uniform/REF_SEIS/Par_file | 3 +++ EXAMPLES/paper_axisymmetry_example/Par_file | 3 +++ .../Pekeris_waveguide/DATA/Par_file | 3 +++ .../with_free_bottom_surface/DATA/Par_file | 3 +++ .../with_rigid_bottom_surface/DATA/Par_file | 3 +++ EXAMPLES/poroelastic_acoustic/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ .../CPML_homogeneous/DATA/Par_file | 3 +++ .../CPML_normal_fluid_solid/DATA/Par_file | 3 +++ .../CPML_normal_solid_only/DATA/Par_file | 3 +++ .../Stacey_homogeneous/DATA/Par_file | 3 +++ .../Stacey_normal_fluid_solid/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ .../DATA/Par_file_adj | 3 +++ .../DATA/Par_file_fwd | 3 +++ .../DATA/Par_file_kernel | 3 +++ .../DATA/Par_file_save_forward | 3 +++ .../semi_infinite_homogeneous/DATA/Par_file | 3 +++ .../DATA/Par_file | 3 +++ .../REF_KERNEL/Par_file | 3 +++ .../REF_SEIS/Par_file | 3 +++ EXAMPLES/thermocline/DATA/Par_file | 3 +++ EXAMPLES/tomographic_ocean_model/DATA/Par_file | 3 +++ .../tomographic_ocean_model/REF_SEIS/Par_file | 3 +++ .../Par_file_fluid_solid | 3 +++ .../Par_file_fluid_solid | 3 +++ .../DATA/Par_file | 3 +++ setup/constants.h.in | 6 +++--- src/meshfem2D/save_databases.f90 | 3 +++ src/shared/read_parameter_file.F90 | 11 +++++++++-- src/shared/shared_par.F90 | 3 +-- src/specfem2D/compute_kernels.f90 | 10 +++++----- src/specfem2D/finalize_simulation.F90 | 2 +- src/specfem2D/iterate_time_undoatt.F90 | 2 +- src/specfem2D/prepare_gpu.f90 | 2 +- src/specfem2D/prepare_timerun.F90 | 2 +- src/specfem2D/prepare_wavefields.f90 | 2 +- src/specfem2D/read_forward_arrays.f90 | 5 +++-- src/specfem2D/read_mesh_databases.F90 | 2 ++ src/specfem2D/save_adjoint_kernels.f90 | 17 +++++++---------- src/specfem2D/save_read_array_for_undoatt.f90 | 5 +++-- 91 files changed, 272 insertions(+), 31 deletions(-) diff --git a/DATA/Par_file b/DATA/Par_file index 68b31e2c8..0746c2422 100644 --- a/DATA/Par_file +++ b/DATA/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/BENCHIE_water_PVC/DATA/Par_file b/EXAMPLES/BENCHIE_water_PVC/DATA/Par_file index 6f56dc426..21b460821 100644 --- a/EXAMPLES/BENCHIE_water_PVC/DATA/Par_file +++ b/EXAMPLES/BENCHIE_water_PVC/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/DATA/Par_file b/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/DATA/Par_file index 1cf78a7de..b359f209e 100644 --- a/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/DATA/Par_file +++ b/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC/DATA/Par_file @@ -189,6 +189,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC_ELASTIC/DATA/Par_file b/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC_ELASTIC/DATA/Par_file index b31f51c9b..152995868 100644 --- a/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC_ELASTIC/DATA/Par_file +++ b/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ACOUSTIC_ELASTIC/DATA/Par_file @@ -189,6 +189,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/DATA/Par_file b/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/DATA/Par_file index 6971b23f1..d8680e287 100644 --- a/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/DATA/Par_file +++ b/EXAMPLES/BENCHMARK_CLAERBOUT_ADJOINT/ELASTIC/DATA/Par_file @@ -189,6 +189,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file b/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file index e0abee22e..faeb32da7 100644 --- a/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file +++ b/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file.serial b/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file.serial index a5b30e679..89d2ae7c2 100644 --- a/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file.serial +++ b/EXAMPLES/Gmsh_example_Stacey_MPI/DATA/Par_file.serial @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Industrial_Format_SEP/DATA/Par_file b/EXAMPLES/Industrial_Format_SEP/DATA/Par_file index b13274390..0889970bd 100644 --- a/EXAMPLES/Industrial_Format_SEP/DATA/Par_file +++ b/EXAMPLES/Industrial_Format_SEP/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_1 b/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_1 index 37ff151ae..96805af58 100644 --- a/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_1 +++ b/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_1 @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_2 b/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_2 index 2e5c587e1..bf0dfb6ba 100644 --- a/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_2 +++ b/EXAMPLES/Industrial_Format_SEP/REF_SEIS/Par_file.step_2 @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/LuoYang_fluid_solid_kernel/DATA/Par_file b/EXAMPLES/LuoYang_fluid_solid_kernel/DATA/Par_file index e0cbfb2a8..716a7d386 100644 --- a/EXAMPLES/LuoYang_fluid_solid_kernel/DATA/Par_file +++ b/EXAMPLES/LuoYang_fluid_solid_kernel/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Marmousi2_to_be_done_one_day_not_ready_yet/DATA/Par_file b/EXAMPLES/Marmousi2_to_be_done_one_day_not_ready_yet/DATA/Par_file index e9869f7ce..cd6c60b2a 100644 --- a/EXAMPLES/Marmousi2_to_be_done_one_day_not_ready_yet/DATA/Par_file +++ b/EXAMPLES/Marmousi2_to_be_done_one_day_not_ready_yet/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Rayleigh_wave_no_crack/DATA/Par_file b/EXAMPLES/Rayleigh_wave_no_crack/DATA/Par_file index 98b1e0185..d9032a529 100644 --- a/EXAMPLES/Rayleigh_wave_no_crack/DATA/Par_file +++ b/EXAMPLES/Rayleigh_wave_no_crack/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Rayleigh_wave_no_crack_simpler_way_to_generate_the_wave/DATA/Par_file b/EXAMPLES/Rayleigh_wave_no_crack_simpler_way_to_generate_the_wave/DATA/Par_file index 20b62b2ef..dc6c391ec 100644 --- a/EXAMPLES/Rayleigh_wave_no_crack_simpler_way_to_generate_the_wave/DATA/Par_file +++ b/EXAMPLES/Rayleigh_wave_no_crack_simpler_way_to_generate_the_wave/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Rayleigh_wave_with_crack/DATA/Par_file b/EXAMPLES/Rayleigh_wave_with_crack/DATA/Par_file index f99cb0689..5b13ee071 100644 --- a/EXAMPLES/Rayleigh_wave_with_crack/DATA/Par_file +++ b/EXAMPLES/Rayleigh_wave_with_crack/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_132rec_checker b/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_132rec_checker index 9b71115a5..7f9199998 100644 --- a/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_132rec_checker +++ b/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_132rec_checker @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_onerec b/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_onerec index 20fabdc32..4d9b24b33 100644 --- a/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_onerec +++ b/EXAMPLES/Tape2007/DATA/Par_file_Tape2007_onerec @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tape2007/REF_SEIS/Par_file b/EXAMPLES/Tape2007/REF_SEIS/Par_file index 9b71115a5..7f9199998 100644 --- a/EXAMPLES/Tape2007/REF_SEIS/Par_file +++ b/EXAMPLES/Tape2007/REF_SEIS/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tape2007_kernel/DATA/Par_file b/EXAMPLES/Tape2007_kernel/DATA/Par_file index 0afd0081d..93e1a421e 100644 --- a/EXAMPLES/Tape2007_kernel/DATA/Par_file +++ b/EXAMPLES/Tape2007_kernel/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tromp2005/DATA/Par_file b/EXAMPLES/Tromp2005/DATA/Par_file index cbb45533d..873113d1d 100644 --- a/EXAMPLES/Tromp2005/DATA/Par_file +++ b/EXAMPLES/Tromp2005/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tromp2005/DATA/Par_file_Tromp2005_s100 b/EXAMPLES/Tromp2005/DATA/Par_file_Tromp2005_s100 index ecdad65dd..2cd7be06a 100644 --- a/EXAMPLES/Tromp2005/DATA/Par_file_Tromp2005_s100 +++ b/EXAMPLES/Tromp2005/DATA/Par_file_Tromp2005_s100 @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/Tromp2005_kernel/DATA/Par_file b/EXAMPLES/Tromp2005_kernel/DATA/Par_file index 1dc0364dd..9b3717dbe 100644 --- a/EXAMPLES/Tromp2005_kernel/DATA/Par_file +++ b/EXAMPLES/Tromp2005_kernel/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file b/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file index 05da52ed1..9f149b294 100644 --- a/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file +++ b/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file_homogeneous_with_attenuation b/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file_homogeneous_with_attenuation index 00714ce02..7c5914ada 100644 --- a/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file_homogeneous_with_attenuation +++ b/EXAMPLES/anisotropic_isotropic_model/DATA/Par_file_homogeneous_with_attenuation @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/anisotropic_zinc_crystal/DATA/Par_file b/EXAMPLES/anisotropic_zinc_crystal/DATA/Par_file index deab270a3..39017db40 100644 --- a/EXAMPLES/anisotropic_zinc_crystal/DATA/Par_file +++ b/EXAMPLES/anisotropic_zinc_crystal/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/attenuation/viscoacoustic_attenuation_off_versus_analytical/DATA/Par_file b/EXAMPLES/attenuation/viscoacoustic_attenuation_off_versus_analytical/DATA/Par_file index c83b87f4f..89297850d 100644 --- a/EXAMPLES/attenuation/viscoacoustic_attenuation_off_versus_analytical/DATA/Par_file +++ b/EXAMPLES/attenuation/viscoacoustic_attenuation_off_versus_analytical/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/attenuation/viscoacoustic_attenuation_on_versus_analytical/DATA/Par_file b/EXAMPLES/attenuation/viscoacoustic_attenuation_on_versus_analytical/DATA/Par_file index 932fc80f3..b918a1bc1 100644 --- a/EXAMPLES/attenuation/viscoacoustic_attenuation_on_versus_analytical/DATA/Par_file +++ b/EXAMPLES/attenuation/viscoacoustic_attenuation_on_versus_analytical/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_inside_an_element b/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_inside_an_element index baffc81cf..701648efa 100644 --- a/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_inside_an_element +++ b/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_inside_an_element @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_shared_by_four_elements b/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_shared_by_four_elements index 779d16528..a758010a1 100644 --- a/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_shared_by_four_elements +++ b/EXAMPLES/attenuation/viscoelastic/DATA/Par_file_attenuation_2D_source_in_point_shared_by_four_elements @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/axisymmetric_case_AXISYM_option/DATA/Par_file b/EXAMPLES/axisymmetric_case_AXISYM_option/DATA/Par_file index c375faac1..6ea25b5ba 100644 --- a/EXAMPLES/axisymmetric_case_AXISYM_option/DATA/Par_file +++ b/EXAMPLES/axisymmetric_case_AXISYM_option/DATA/Par_file @@ -213,6 +213,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/axisymmetric_case_AXISYM_option/REF_SEIS/Par_file b/EXAMPLES/axisymmetric_case_AXISYM_option/REF_SEIS/Par_file index c375faac1..6ea25b5ba 100644 --- a/EXAMPLES/axisymmetric_case_AXISYM_option/REF_SEIS/Par_file +++ b/EXAMPLES/axisymmetric_case_AXISYM_option/REF_SEIS/Par_file @@ -213,6 +213,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/canyon/DATA/Par_file b/EXAMPLES/canyon/DATA/Par_file index f2d63ef78..4d8790b95 100644 --- a/EXAMPLES/canyon/DATA/Par_file +++ b/EXAMPLES/canyon/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements index 0c86abef3..6a673b42b 100644 --- a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements +++ b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element index 60d86b0ef..76f2354cd 100644 --- a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element +++ b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/REF_SEIS/Par_file b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/REF_SEIS/Par_file index 0c86abef3..6a673b42b 100644 --- a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/REF_SEIS/Par_file +++ b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_elastic/REF_SEIS/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements index 24465cf89..499d1d45b 100644 --- a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements +++ b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/REF_SEIS/Par_file b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/REF_SEIS/Par_file index 24465cf89..499d1d45b 100644 --- a/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/REF_SEIS/Par_file +++ b/EXAMPLES/check_absolute_amplitude_of_force_source_seismograms_viscoelastic/REF_SEIS/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements b/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements index 66ac49f99..160050066 100644 --- a/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements +++ b/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_at_the_corner_between_several_spectral_elements @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element b/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element index 4e1555f9b..6a63a7157 100644 --- a/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element +++ b/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/DATA/Par_file_no_attenuation_2D_inside_a_given_spectral_element @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/REF_SEIS/Par_file b/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/REF_SEIS/Par_file index 66ac49f99..160050066 100644 --- a/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/REF_SEIS/Par_file +++ b/EXAMPLES/check_absolute_amplitude_of_pressure_source_seismograms_acoustic/REF_SEIS/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/fluid_solid/fluid_solid_external_mesh/DATA/Par_file b/EXAMPLES/fluid_solid/fluid_solid_external_mesh/DATA/Par_file index e118e3117..bf2ebee7e 100644 --- a/EXAMPLES/fluid_solid/fluid_solid_external_mesh/DATA/Par_file +++ b/EXAMPLES/fluid_solid/fluid_solid_external_mesh/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_flat_ocean_bottom/DATA/Par_file b/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_flat_ocean_bottom/DATA/Par_file index 8123a3b37..47a6d4945 100644 --- a/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_flat_ocean_bottom/DATA/Par_file +++ b/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_flat_ocean_bottom/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_sinusoidal_ocean_bottom/DATA/Par_file b/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_sinusoidal_ocean_bottom/DATA/Par_file index 81a53bd0a..2de82f19b 100644 --- a/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_sinusoidal_ocean_bottom/DATA/Par_file +++ b/EXAMPLES/fluid_solid/from_2000_Geophysics_paper_sinusoidal_ocean_bottom/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/global_Earth_ak135f/DATA/Par_file b/EXAMPLES/global_Earth_ak135f/DATA/Par_file index ff8039850..412e67e25 100644 --- a/EXAMPLES/global_Earth_ak135f/DATA/Par_file +++ b/EXAMPLES/global_Earth_ak135f/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/infinite_homogeneous_moment_tensor_vertical_dip_slip/DATA/Par_file b/EXAMPLES/infinite_homogeneous_moment_tensor_vertical_dip_slip/DATA/Par_file index f5891aa7a..5e5e86f6c 100644 --- a/EXAMPLES/infinite_homogeneous_moment_tensor_vertical_dip_slip/DATA/Par_file +++ b/EXAMPLES/infinite_homogeneous_moment_tensor_vertical_dip_slip/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/infinite_homogeneous_plane_wave/DATA/Par_file b/EXAMPLES/infinite_homogeneous_plane_wave/DATA/Par_file index 16cb4dbdf..2f6c95fd0 100644 --- a/EXAMPLES/infinite_homogeneous_plane_wave/DATA/Par_file +++ b/EXAMPLES/infinite_homogeneous_plane_wave/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/initial_mode_LDDRK/DATA/Par_file b/EXAMPLES/initial_mode_LDDRK/DATA/Par_file index 79cd5d247..16eec6d90 100644 --- a/EXAMPLES/initial_mode_LDDRK/DATA/Par_file +++ b/EXAMPLES/initial_mode_LDDRK/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/initial_plane_wave_with_free_surface/DATA/Par_file b/EXAMPLES/initial_plane_wave_with_free_surface/DATA/Par_file index c46804b53..c52307f7f 100644 --- a/EXAMPLES/initial_plane_wave_with_free_surface/DATA/Par_file +++ b/EXAMPLES/initial_plane_wave_with_free_surface/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/moving_sources_acoustic/DATA/Par_file b/EXAMPLES/moving_sources_acoustic/DATA/Par_file index ce1d18cb1..fb9057bdb 100644 --- a/EXAMPLES/moving_sources_acoustic/DATA/Par_file +++ b/EXAMPLES/moving_sources_acoustic/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/noise_uniform/DATA/Par_file b/EXAMPLES/noise_uniform/DATA/Par_file index 6b4eec796..dd0cd2ebd 100644 --- a/EXAMPLES/noise_uniform/DATA/Par_file +++ b/EXAMPLES/noise_uniform/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/noise_uniform/REF_SEIS/Par_file b/EXAMPLES/noise_uniform/REF_SEIS/Par_file index 6b4eec796..dd0cd2ebd 100644 --- a/EXAMPLES/noise_uniform/REF_SEIS/Par_file +++ b/EXAMPLES/noise_uniform/REF_SEIS/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/paper_axisymmetry_example/Par_file b/EXAMPLES/paper_axisymmetry_example/Par_file index 993ce946b..2cf8d0767 100644 --- a/EXAMPLES/paper_axisymmetry_example/Par_file +++ b/EXAMPLES/paper_axisymmetry_example/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/Pekeris_waveguide/DATA/Par_file b/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/Pekeris_waveguide/DATA/Par_file index ccf3eb35b..b1346dc4e 100644 --- a/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/Pekeris_waveguide/DATA/Par_file +++ b/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/Pekeris_waveguide/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_free_bottom_surface/DATA/Par_file b/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_free_bottom_surface/DATA/Par_file index c811262d3..d7ca4dcb3 100644 --- a/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_free_bottom_surface/DATA/Par_file +++ b/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_free_bottom_surface/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_rigid_bottom_surface/DATA/Par_file b/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_rigid_bottom_surface/DATA/Par_file index 958a0ad14..a55c55390 100644 --- a/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_rigid_bottom_surface/DATA/Par_file +++ b/EXAMPLES/perfect_idealized_oceanic_guide_in_underwater_acoustics/with_rigid_bottom_surface/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/poroelastic_acoustic/DATA/Par_file b/EXAMPLES/poroelastic_acoustic/DATA/Par_file index 558bcf49d..8ce7c8cc6 100644 --- a/EXAMPLES/poroelastic_acoustic/DATA/Par_file +++ b/EXAMPLES/poroelastic_acoustic/DATA/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/poroelastic_semi_infinite_homogeneous/DATA/Par_file b/EXAMPLES/poroelastic_semi_infinite_homogeneous/DATA/Par_file index f4fad95d1..1e9b6e584 100644 --- a/EXAMPLES/poroelastic_semi_infinite_homogeneous/DATA/Par_file +++ b/EXAMPLES/poroelastic_semi_infinite_homogeneous/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_homogeneous/DATA/Par_file b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_homogeneous/DATA/Par_file index 324bdb0c6..6b8c5f26c 100644 --- a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_homogeneous/DATA/Par_file +++ b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_homogeneous/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_fluid_solid/DATA/Par_file b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_fluid_solid/DATA/Par_file index 2f3b9a1fc..3313ad1d0 100644 --- a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_fluid_solid/DATA/Par_file +++ b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_fluid_solid/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_solid_only/DATA/Par_file b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_solid_only/DATA/Par_file index 2e2ff3788..bd98c7d35 100644 --- a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_solid_only/DATA/Par_file +++ b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/CPML_normal_solid_only/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_homogeneous/DATA/Par_file b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_homogeneous/DATA/Par_file index 536a6dc4c..36f350183 100644 --- a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_homogeneous/DATA/Par_file +++ b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_homogeneous/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_normal_fluid_solid/DATA/Par_file b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_normal_fluid_solid/DATA/Par_file index 4a8823684..fd334a922 100644 --- a/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_normal_fluid_solid/DATA/Par_file +++ b/EXAMPLES/salt_dome_CUBIT_mesh_from_Ronan_Madec/Stacey_normal_fluid_solid/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file index f382e7883..153d3b105 100644 --- a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file +++ b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_adj b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_adj index ee3049309..592e31074 100644 --- a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_adj +++ b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_adj @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_fwd b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_fwd index 6988c97cc..19e01e626 100644 --- a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_fwd +++ b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_fwd @@ -197,6 +197,9 @@ save_ASCII_kernels = .false. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_kernel b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_kernel index 104af6c47..213b2faf0 100644 --- a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_kernel +++ b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_kernel @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_save_forward b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_save_forward index 18765ea62..4bce5db76 100644 --- a/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_save_forward +++ b/EXAMPLES/salt_dome_Vadim/specfem2d_run_input_files_and_scripts/DATA/Par_file_save_forward @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/semi_infinite_homogeneous/DATA/Par_file b/EXAMPLES/semi_infinite_homogeneous/DATA/Par_file index 99ee58779..5d2ff87c9 100644 --- a/EXAMPLES/semi_infinite_homogeneous/DATA/Par_file +++ b/EXAMPLES/semi_infinite_homogeneous/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/DATA/Par_file b/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/DATA/Par_file index 5c1fc2fc5..deb79853e 100644 --- a/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/DATA/Par_file +++ b/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/DATA/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_KERNEL/Par_file b/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_KERNEL/Par_file index a8cca8422..8288ce7a6 100644 --- a/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_KERNEL/Par_file +++ b/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_KERNEL/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_SEIS/Par_file b/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_SEIS/Par_file index 5c1fc2fc5..deb79853e 100644 --- a/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_SEIS/Par_file +++ b/EXAMPLES/simple_topography_and_also_a_simple_fluid_layer/REF_SEIS/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/thermocline/DATA/Par_file b/EXAMPLES/thermocline/DATA/Par_file index bb94eba78..1210a821b 100644 --- a/EXAMPLES/thermocline/DATA/Par_file +++ b/EXAMPLES/thermocline/DATA/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/tomographic_ocean_model/DATA/Par_file b/EXAMPLES/tomographic_ocean_model/DATA/Par_file index ce45b0622..d1d62a44f 100644 --- a/EXAMPLES/tomographic_ocean_model/DATA/Par_file +++ b/EXAMPLES/tomographic_ocean_model/DATA/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/tomographic_ocean_model/REF_SEIS/Par_file b/EXAMPLES/tomographic_ocean_model/REF_SEIS/Par_file index ce45b0622..d1d62a44f 100644 --- a/EXAMPLES/tomographic_ocean_model/REF_SEIS/Par_file +++ b/EXAMPLES/tomographic_ocean_model/REF_SEIS/Par_file @@ -205,6 +205,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/Par_file_fluid_solid b/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/Par_file_fluid_solid index 75f86c1db..1293e9d0a 100644 --- a/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/Par_file_fluid_solid +++ b/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/Par_file_fluid_solid @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/the_same_bug_appears_from_the_right_PML/Par_file_fluid_solid b/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/the_same_bug_appears_from_the_right_PML/Par_file_fluid_solid index 75f86c1db..1293e9d0a 100644 --- a/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/the_same_bug_appears_from_the_right_PML/Par_file_fluid_solid +++ b/EXAMPLES/unresolved_bugs/bugPMLs_1_extra_phase_coming_back_from_the_left_PML/the_same_bug_appears_from_the_right_PML/Par_file_fluid_solid @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/EXAMPLES/unresolved_bugs/bugPMLs_2_weak_instability_in_long_times/DATA/Par_file b/EXAMPLES/unresolved_bugs/bugPMLs_2_weak_instability_in_long_times/DATA/Par_file index 524b25ab5..ffbd1a324 100644 --- a/EXAMPLES/unresolved_bugs/bugPMLs_2_weak_instability_in_long_times/DATA/Par_file +++ b/EXAMPLES/unresolved_bugs/bugPMLs_2_weak_instability_in_long_times/DATA/Par_file @@ -197,6 +197,9 @@ save_ASCII_kernels = .true. # since the accuracy of kernel integration may not need to respect the CFL, this option permits to save computing time, and memory with UNDO_ATTENUATION_AND_OR_PML mode NTSTEP_BETWEEN_COMPUTE_KERNELS = 1 +# outputs approximate Hessian for preconditioning +APPROXIMATE_HESS_KL = .false. + #----------------------------------------------------------- # # Boundary conditions diff --git a/setup/constants.h.in b/setup/constants.h.in index 5d529fd27..66f9f5777 100644 --- a/setup/constants.h.in +++ b/setup/constants.h.in @@ -141,9 +141,9 @@ !! !!----------------------------------------------------------- -! outputs diagonal Hessian for preconditioning - logical, parameter :: APPROXIMATE_HESS_KL = .false. - +! kernel debugging +! flag to save GLL weights for kernel benchmark examples + logical,parameter :: SAVE_WEIGHTS = .true. !!----------------------------------------------------------- !! diff --git a/src/meshfem2D/save_databases.f90 b/src/meshfem2D/save_databases.f90 index 797f146f0..c1efc305a 100644 --- a/src/meshfem2D/save_databases.f90 +++ b/src/meshfem2D/save_databases.f90 @@ -253,6 +253,9 @@ subroutine save_databases_init() ! 'NTSTEP_BETWEEN_COMPUTE_KERNELS' write(IOUT) NTSTEP_BETWEEN_COMPUTE_KERNELS + ! 'APPROXIMATE_HESS_KL' + write(IOUT) APPROXIMATE_HESS_KL + ! 'NO_BACKWARD_RECONSTRUCTION' write(IOUT) NO_BACKWARD_RECONSTRUCTION diff --git a/src/shared/read_parameter_file.F90 b/src/shared/read_parameter_file.F90 index 72e00907c..f837da894 100644 --- a/src/shared/read_parameter_file.F90 +++ b/src/shared/read_parameter_file.F90 @@ -188,6 +188,7 @@ subroutine read_parameter_file(imesher,BROADCAST_AFTER_READ) ! adjoint kernel call bcast_all_singlel(save_ASCII_kernels) call bcast_all_singlei(NTSTEP_BETWEEN_COMPUTE_KERNELS) + call bcast_all_singlel(APPROXIMATE_HESS_KL) call bcast_all_singlel(NO_BACKWARD_RECONSTRUCTION) ! boundary conditions @@ -794,7 +795,7 @@ subroutine read_parameter_file_only() call read_value_logical_p(save_ASCII_kernels, 'save_ASCII_kernels') if (err_occurred() /= 0) then some_parameters_missing_from_Par_file = .true. - write(*,'(a)') 'save_ASCII_kernels = .true.' + write(*,'(a)') 'save_ASCII_kernels = .true.' write(*,*) endif @@ -814,6 +815,13 @@ subroutine read_parameter_file_only() endif endif + call read_value_logical_p(APPROXIMATE_HESS_KL, 'APPROXIMATE_HESS_KL') + if (err_occurred() /= 0) then + some_parameters_missing_from_Par_file = .true. + write(*,'(a)') 'APPROXIMATE_HESS_KL = .true.' + write(*,*) + endif + call read_value_logical_p(NO_BACKWARD_RECONSTRUCTION,'NO_BACKWARD_RECONSTRUCTION') if (err_occurred() /= 0) then some_parameters_missing_from_Par_file = .true. @@ -821,7 +829,6 @@ subroutine read_parameter_file_only() write(*,*) endif - !-------------------------------------------------------------------- ! ! boundary conditions diff --git a/src/shared/shared_par.F90 b/src/shared/shared_par.F90 index 01aeb5d19..aa2e6286a 100644 --- a/src/shared/shared_par.F90 +++ b/src/shared/shared_par.F90 @@ -226,9 +226,8 @@ module shared_input_parameters !#----------------------------------------------------------------------------- ! kernel output in case of adjoint simulation logical :: save_ASCII_kernels - integer :: NTSTEP_BETWEEN_COMPUTE_KERNELS - + logical :: APPROXIMATE_HESS_KL logical :: NO_BACKWARD_RECONSTRUCTION !#----------------------------------------------------------------------------- diff --git a/src/specfem2D/compute_kernels.f90 b/src/specfem2D/compute_kernels.f90 index 4a48c50aa..0dffb8219 100644 --- a/src/specfem2D/compute_kernels.f90 +++ b/src/specfem2D/compute_kernels.f90 @@ -38,9 +38,8 @@ subroutine compute_kernels() ! see e.g. Tromp et al. (2005) for elastic calculation ! and Morency et al. (2009) for poroelastic calculation - use constants, only: APPROXIMATE_HESS_KL - - use specfem_par, only: any_acoustic,any_elastic,any_poroelastic,it,NTSTEP_BETWEEN_COMPUTE_KERNELS + use specfem_par, only: any_acoustic,any_elastic,any_poroelastic,it,NTSTEP_BETWEEN_COMPUTE_KERNELS, & + APPROXIMATE_HESS_KL implicit none @@ -683,7 +682,7 @@ end subroutine compute_kernels_po subroutine compute_kernels_Hessian() - use constants, only: CUSTOM_REAL,NGLLX,NGLLZ,ZERO,APPROXIMATE_HESS_KL + use constants, only: CUSTOM_REAL,NGLLX,NGLLZ,ZERO use specfem_par, only: nglob,nspec,ibool,ispec_is_acoustic,ispec_is_elastic, & rhostore, & @@ -693,7 +692,8 @@ subroutine compute_kernels_Hessian() potential_acoustic,b_potential_acoustic, & rhorho_el_Hessian_final1,rhorho_el_Hessian_final2, & rhorho_ac_Hessian_final1,rhorho_ac_Hessian_final2, & - deltat,GPU_MODE,NTSTEP_BETWEEN_COMPUTE_KERNELS + deltat,GPU_MODE,NTSTEP_BETWEEN_COMPUTE_KERNELS, & + APPROXIMATE_HESS_KL use specfem_par_gpu, only: Mesh_pointer diff --git a/src/specfem2D/finalize_simulation.F90 b/src/specfem2D/finalize_simulation.F90 index 16d1f9c0e..560972bb9 100644 --- a/src/specfem2D/finalize_simulation.F90 +++ b/src/specfem2D/finalize_simulation.F90 @@ -33,7 +33,7 @@ subroutine finalize_simulation() - use constants, only: IMAIN,APPROXIMATE_HESS_KL,IOUT_ENERGY,ISTANDARD_OUTPUT + use constants, only: IMAIN,IOUT_ENERGY,ISTANDARD_OUTPUT use specfem_par use specfem_par_noise diff --git a/src/specfem2D/iterate_time_undoatt.F90 b/src/specfem2D/iterate_time_undoatt.F90 index 9c91e6e3c..5db7343c6 100644 --- a/src/specfem2D/iterate_time_undoatt.F90 +++ b/src/specfem2D/iterate_time_undoatt.F90 @@ -34,7 +34,7 @@ subroutine iterate_time_undoatt() - use constants, only: IMAIN, APPROXIMATE_HESS_KL,USE_A_STRONG_FORMULATION_FOR_E1 + use constants, only: IMAIN, USE_A_STRONG_FORMULATION_FOR_E1 use specfem_par use specfem_par_gpu, only: Mesh_pointer use specfem_par_movie, only: MOVIE_SIMULATION diff --git a/src/specfem2D/prepare_gpu.f90 b/src/specfem2D/prepare_gpu.f90 index db905a02e..c245b3082 100644 --- a/src/specfem2D/prepare_gpu.f90 +++ b/src/specfem2D/prepare_gpu.f90 @@ -33,7 +33,7 @@ subroutine prepare_GPU() - use constants, only: IMAIN,APPROXIMATE_HESS_KL,USE_A_STRONG_FORMULATION_FOR_E1 + use constants, only: IMAIN,USE_A_STRONG_FORMULATION_FOR_E1 use specfem_par use specfem_par_gpu use moving_sources_par, only: init_moving_sources_GPU diff --git a/src/specfem2D/prepare_timerun.F90 b/src/specfem2D/prepare_timerun.F90 index 9cf248326..d496c9cd7 100644 --- a/src/specfem2D/prepare_timerun.F90 +++ b/src/specfem2D/prepare_timerun.F90 @@ -927,7 +927,7 @@ end subroutine prepare_timerun_adjoint subroutine prepare_timerun_kernels() - use constants, only: IMAIN,APPROXIMATE_HESS_KL + use constants, only: IMAIN use specfem_par implicit none diff --git a/src/specfem2D/prepare_wavefields.f90 b/src/specfem2D/prepare_wavefields.f90 index 8f9a9163f..b18fdb121 100644 --- a/src/specfem2D/prepare_wavefields.f90 +++ b/src/specfem2D/prepare_wavefields.f90 @@ -33,7 +33,7 @@ subroutine prepare_wavefields() - use constants, only: IMAIN,APPROXIMATE_HESS_KL,USE_ENFORCE_FIELDS + use constants, only: IMAIN,USE_ENFORCE_FIELDS use specfem_par implicit none diff --git a/src/specfem2D/read_forward_arrays.f90 b/src/specfem2D/read_forward_arrays.f90 index c6b27804e..2ccaea0a0 100644 --- a/src/specfem2D/read_forward_arrays.f90 +++ b/src/specfem2D/read_forward_arrays.f90 @@ -207,12 +207,13 @@ end subroutine read_forward_arrays_undoatt subroutine read_forward_arrays_no_backward() - use constants, only: IIN_UNDO_ATT,MAX_STRING_LEN,OUTPUT_FILES,APPROXIMATE_HESS_KL,NDIM,CUSTOM_REAL + use constants, only: IIN_UNDO_ATT,MAX_STRING_LEN,OUTPUT_FILES,NDIM,CUSTOM_REAL use specfem_par, only: myrank,it,any_acoustic,any_elastic, & b_potential_acoustic,b_displ_elastic,b_accel_elastic, & nglob,no_backward_acoustic_buffer,no_backward_displ_buffer,no_backward_accel_buffer, & - no_backward_iframe,no_backward_Nframes,GPU_MODE,NSTEP + no_backward_iframe,no_backward_Nframes,GPU_MODE,NSTEP, & + APPROXIMATE_HESS_KL use specfem_par_gpu, only: Mesh_pointer diff --git a/src/specfem2D/read_mesh_databases.F90 b/src/specfem2D/read_mesh_databases.F90 index 5624d058d..2af6b6c65 100644 --- a/src/specfem2D/read_mesh_databases.F90 +++ b/src/specfem2D/read_mesh_databases.F90 @@ -231,6 +231,8 @@ subroutine read_mesh_for_init() read(IIN) local_i ! NTSTEP_BETWEEN_COMPUTE_KERNELS + read(IIN) local_l ! APPROXIMATE_HESS_KL + read(IIN) local_l ! NO_BACKWARD_RECONSTRUCTION read(IIN) local_l ! DRAW_SOURCES_AND_RECEIVERS diff --git a/src/specfem2D/save_adjoint_kernels.f90 b/src/specfem2D/save_adjoint_kernels.f90 index 947af6b3d..bde5197e7 100644 --- a/src/specfem2D/save_adjoint_kernels.f90 +++ b/src/specfem2D/save_adjoint_kernels.f90 @@ -35,17 +35,12 @@ subroutine save_adjoint_kernels() ! saves adjoint sensitivity kernels to file - use constants, only: IMAIN + use constants, only: IMAIN,SAVE_WEIGHTS use specfem_par, only: myrank, any_acoustic, any_elastic, any_poroelastic implicit none - ! local parameters - ! kernel debugging - ! flag to save GLL weights for kernel benchmark examples - logical,parameter :: SAVE_WEIGHTS = .true. - ! user output if (myrank == 0) then write(IMAIN,*) @@ -76,7 +71,7 @@ end subroutine save_adjoint_kernels subroutine save_kernels_elastic() use constants, only: NGLLX,NGLLZ,IMAIN,CUSTOM_REAL,FOUR_THIRDS,TWO_THIRDS,TWO,MAX_STRING_LEN, & - APPROXIMATE_HESS_KL,OUTPUT_FILES + OUTPUT_FILES use specfem_par, only: myrank, nspec, ibool, coord, save_ASCII_kernels, & rho_kl, kappa_kl, mu_kl, rhop_kl, alpha_kl, beta_kl, & @@ -84,7 +79,8 @@ subroutine save_kernels_elastic() rhorho_el_Hessian_final1, rhorho_el_Hessian_final2, & rhostore,mustore,kappastore, & ispec_is_elastic, & - deltat,NTSTEP_BETWEEN_COMPUTE_KERNELS + deltat,NTSTEP_BETWEEN_COMPUTE_KERNELS, & + APPROXIMATE_HESS_KL use specfem_par, only: ispec_is_anisotropic, c11_kl, c13_kl, c15_kl, c33_kl, c35_kl, c55_kl @@ -414,11 +410,12 @@ end subroutine save_kernels_elastic subroutine save_kernels_acoustic() - use constants, only: NGLLX,NGLLZ,IMAIN,CUSTOM_REAL,MAX_STRING_LEN,APPROXIMATE_HESS_KL,OUTPUT_FILES + use constants, only: NGLLX,NGLLZ,IMAIN,CUSTOM_REAL,MAX_STRING_LEN,OUTPUT_FILES use specfem_par, only: myrank, nspec, ibool, coord, save_ASCII_kernels, & rho_ac_kl, kappa_ac_kl, alpha_ac_kl, rhop_ac_kl, & - rhorho_ac_Hessian_final1, rhorho_ac_Hessian_final2 + rhorho_ac_Hessian_final1, rhorho_ac_Hessian_final2, & + APPROXIMATE_HESS_KL implicit none diff --git a/src/specfem2D/save_read_array_for_undoatt.f90 b/src/specfem2D/save_read_array_for_undoatt.f90 index facf43505..88c55153c 100644 --- a/src/specfem2D/save_read_array_for_undoatt.f90 +++ b/src/specfem2D/save_read_array_for_undoatt.f90 @@ -106,12 +106,13 @@ end subroutine save_forward_arrays_undoatt subroutine save_forward_arrays_no_backward() - use constants, only: IOUT_UNDO_ATT,MAX_STRING_LEN,OUTPUT_FILES,APPROXIMATE_HESS_KL,NDIM,CUSTOM_REAL + use constants, only: IOUT_UNDO_ATT,MAX_STRING_LEN,OUTPUT_FILES,NDIM,CUSTOM_REAL use specfem_par, only: myrank,it,NSTEP, & any_acoustic,any_elastic,potential_acoustic,displ_elastic,accel_elastic,GPU_MODE, & no_backward_acoustic_buffer,no_backward_displ_buffer,no_backward_accel_buffer, & - no_backward_iframe,no_backward_Nframes,nglob + no_backward_iframe,no_backward_Nframes,nglob, & + APPROXIMATE_HESS_KL use specfem_par_gpu, only: Mesh_pointer