diff --git a/discrepancy.py b/discrepancy.py new file mode 100644 index 0000000000000000000000000000000000000000..2fd8c91daf3591a665149348b372626d1069d1f2 --- /dev/null +++ b/discrepancy.py @@ -0,0 +1,47 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Fri May 6 12:42:21 2022 + +@author: xavier +""" +import numpy as np +import scipy as sp +from scipy import linalg +import matplotlib.pyplot as plt +from matplotlib import rc +rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb}') +rc('font',**{'family':'serif','sans-serif':['Times New Roman'],'size':15}) +rc('text', usetex=True) +#Value for 1 width figure +H = 3.; +W = 8.; + +# +# Time domain +# + +""" +path = "extended_marmousi_data/" +prename = "paper2_extended_synthetics_data" +snr_tag = 'snr2' +Nf = 3 +""" + +""" +path = "concrete3_data/" +prename = "paper2_concrete3_synthetics_data" +snr_tag = 'snrm3' +Nf=9 +""" + +path = "cross_data/" +prename = "cross_synthetics_data" +snr_tag = 'snr6' +Nf=7 + +noise = 0. +for f in range(0,Nf): + tmp = np.loadtxt(path+prename+str(f)+".csv",delimiter=";"); + tmp_snr = np.loadtxt(path+prename+'_'+snr_tag+'f'+str(f)+".csv",delimiter=";"); + noise += sp.linalg.norm(tmp-tmp_snr)**2 \ No newline at end of file diff --git a/error.cpp b/error.cpp index 87e0ac4531de50019f93909fc20fea5ce2ea6632..903e8b118a738a08211d557d55a0bac6b41223ca 100644 --- a/error.cpp +++ b/error.cpp @@ -14,7 +14,7 @@ using namespace gmshfem::post; #include "specific/configuration/newConfiguration.h" #include "specific/model/parametrization/newParametrization.h" -enum class Error: unsigned int { Abs=0, Sqd=1, SqdInvRoot=2, Rel=3 }; +enum class Error: unsigned int { Abs=0, Sqd=1, SqdInvRoot=2, Rel=3, ExpRel=4 }; Error to_error(const GmshFem& gmshFem) { std::string error_buffer; @@ -24,6 +24,7 @@ Error to_error(const GmshFem& gmshFem) else if(error_buffer=="root_mean_squared"){return Error::Sqd;} else if(error_buffer=="root_mean_squared_inverse_root"){return Error::SqdInvRoot;} else if(error_buffer=="relative_mean"){return Error::Rel;} + else if(error_buffer=="exp_relative_mean"){return Error::ExpRel;} } return Error::Sqd; } @@ -41,9 +42,6 @@ int error(const GmshFem& gmshFem) ConfigurationInterface* configuration = newConfiguration(name, parametrization, gmshFem); - double area = integrate(1._d_sf, configuration->model_unknown(Support::BLK),"Gauss0"); - msg::print << "Model unknown area = " << area << msg::endl; - unsigned int write_error_field = 0; gmshFem.userDefinedParameter(write_error_field, "write_error_field"); std::string inverted_model_path = ""; @@ -62,6 +60,54 @@ int error(const GmshFem& gmshFem) { throw Exception("An error parameter could not be found"); } + + std::string mask_type = "none"; + if(!gmshFem.userDefinedParameter(mask_type, "error_mask_type")) + { + msg::warning << "Error mask type oculd not be found. No mask is used (default)." << msg::endl; + } + ScalarFunction<std::complex<double>> mask; + if(mask_type == "none") + { + mask = 1.; + } + else if(mask_type == "circle") + { + double r0 = 3.; + + mask = heaviside< std::complex<double> > + ( + r0*r0 - pow(x< std::complex<double> >(),2) - pow(y< std::complex<double> >(),2) + ); + } + else if(mask_type == "horizontal") + { + double y0 = -2.; + + mask = heaviside< std::complex<double> > + ( + y< std::complex<double> >()-y0 + ); + } + else if(mask_type == "vertical-slice") + { + double x0 = 0.008; + double x1 = 0.017; + mask = heaviside< std::complex<double> > + ( + (x< std::complex<double> >()-x0)*(x1-x< std::complex<double> >()) + ); + } + else + { + throw Exception("Mask type "+mask_type+" is unknown."); + } + + double area = std::real(integrate(mask, configuration->model_unknown(Support::BLK),"Gauss0")); + msg::print << "Model mask unknown area = " << area << msg::endl; + + + unsigned int list_buf = 0; if(!gmshFem.userDefinedParameter(list_buf, "inverted_model_list")) { @@ -69,6 +115,12 @@ int error(const GmshFem& gmshFem) } bool list = ((bool)list_buf); + unsigned int skip = 1; + if(!gmshFem.userDefinedParameter(skip, "inverted_model_skip")) + { + msg::warning << "Skip number could not be found. Defautl value (1) is used." << msg::endl; + } + std::vector<std::string> filename(n_it+1); if(list) { @@ -96,7 +148,7 @@ int error(const GmshFem& gmshFem) { for (unsigned int n = 0; n <= n_it; n++) { - filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+std::to_string(n)+inverted_model_suffix; + filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+std::to_string(n*skip)+inverted_model_suffix; } } else @@ -104,7 +156,7 @@ int error(const GmshFem& gmshFem) filename[0] = inverted_model_path+inverted_model_name+"_m_initial"; for (unsigned int n = 1; n <= n_it; n++) { - filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+"m"+std::to_string(n); + filename[n] = inverted_model_path+inverted_model_name+inverted_model_prefix+"m"+std::to_string(n*skip); } } @@ -125,30 +177,41 @@ int error(const GmshFem& gmshFem) gmsh::model::setCurrent(configuration->model_gmodel()); ScalarFunction<std::complex<double>> error_density; - - std::complex<double> error; switch (error_type) { case Error::Abs: error_density = abs(configuration->m0()[c]-m); - error = integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area; break; case Error::Rel: error_density = abs( (configuration->m0()[c]-m) / configuration->m0()[c] ); - error = integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area; + break; + case Error::ExpRel: + error_density = abs( (exp(configuration->m0()[c])-exp(m)) / exp(configuration->m0()[c]) ); break; case Error::Sqd: error_density = pow(abs(configuration->m0()[c]-m),2); - error = std::sqrt(integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area); break; case Error::SqdInvRoot: error_density = pow(abs(sqrt(1./configuration->m0()[c])-sqrt(1./m)),2); - error = std::sqrt(integrate(error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area); + break; + } + + std::complex<double> error; + switch (error_type) + { + case Error::Abs: + case Error::Rel: + case Error::ExpRel: + error = integrate(mask * error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area; + break; + case Error::Sqd: + case Error::SqdInvRoot: + error = std::sqrt(integrate(mask * error_density, configuration->model_unknown(Support::BLK),integration_type+std::to_string(integration_degree)) / area); break; } msg::print << "Inverted model #" << n << " error = " << error << msg::endl; - output << error << csv::endl; + output << error; if(write_error_field) { @@ -157,6 +220,7 @@ int error(const GmshFem& gmshFem) } } + output << csv::endl; } return 0; diff --git a/input/paper2/concrete3/error/ssm_lbfgs_ls_error.txt b/input/paper2/concrete3/error/ssm_lbfgs_ls_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..21e0a64de0eb72cd27b79e74d00d0bfebd40cd78 --- /dev/null +++ b/input/paper2/concrete3/error/ssm_lbfgs_ls_error.txt @@ -0,0 +1,15 @@ +name = ssm_lbfgs_ls_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Paper2/extended/concrete3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm_lbfgs_ls +inverted_model_prefix = g0s0 +inverted_model_number = 88 +#Output +write_error_field = 0 diff --git a/input/paper2/concrete3/error/sst_lbfgs_ls_tik1_error.txt b/input/paper2/concrete3/error/sst_lbfgs_ls_tik1_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..fa47f99186e181a99b63f5304333d7840831f1bc --- /dev/null +++ b/input/paper2/concrete3/error/sst_lbfgs_ls_tik1_error.txt @@ -0,0 +1,15 @@ +name = sst_lbfgs_ls_tik1_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Paper2/extended/concrete3/SST_LBFGS_LS_TIK/ +inverted_model_name = paper2_concrete3_sst_lbfgs_ls_tik1 +inverted_model_prefix = g0s0 +inverted_model_number = 200 +#Output +write_error_field = 0 diff --git a/input/paper2/concrete3/error/us_lbfgs_ls_tik1_error.txt b/input/paper2/concrete3/error/us_lbfgs_ls_tik1_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..57cc7f0105a3033d037b8550df2f6dfddd630a9e --- /dev/null +++ b/input/paper2/concrete3/error/us_lbfgs_ls_tik1_error.txt @@ -0,0 +1,15 @@ +name = us_lbfgs_ls_tik1_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Paper2/extended/concrete3/US_LBFGS_LS_TIK/ +inverted_model_name = paper2_concrete3_us_lbfgs_ls_tik1 +inverted_model_prefix = g0s0 +inverted_model_number = 200 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df/df0_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df0_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..8904b0b1e83548aa7938efb45c8a5d3f24a3315f --- /dev/null +++ b/input/paper3/concrete3/error/df/df0_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = df0_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/ +inverted_model_name = paper2_concrete3_df0_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 200 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df/df1_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df1_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..0e0dc25c227a8496d1aafeb3b69a4a49a7aea94c --- /dev/null +++ b/input/paper3/concrete3/error/df/df1_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = df1_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/ +inverted_model_name = paper2_concrete3_df1_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 193 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df/df2_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df2_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..2be2c4f0b402fd556322e42ff4a87eb3bd1595a4 --- /dev/null +++ b/input/paper3/concrete3/error/df/df2_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = df2_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/ +inverted_model_name = paper2_concrete3_df2_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df/df3_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df3_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..711b9ded8842942c47a096a3ba020a561829e35e --- /dev/null +++ b/input/paper3/concrete3/error/df/df3_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = df3_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/ +inverted_model_name = paper2_concrete3_df3_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df/df4_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df4_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..d9e46c6f3b651ef7a841ad7894b327705c596fe8 --- /dev/null +++ b/input/paper3/concrete3/error/df/df4_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = df4_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/ +inverted_model_name = paper2_concrete3_df4_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df/df5_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/df/df5_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..c4195b5eda3eafece380f4e7409f52d8d71f8737 --- /dev/null +++ b/input/paper3/concrete3/error/df/df5_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = df5_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/ +inverted_model_name = paper2_concrete3_df5_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/df_tv/df_lbfgs_ls_snrm3_tv_error.txt b/input/paper3/concrete3/error/df_tv/df_lbfgs_ls_snrm3_tv_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..608ea4a5e1507af5e867b60b26cada096df360a5 --- /dev/null +++ b/input/paper3/concrete3/error/df_tv/df_lbfgs_ls_snrm3_tv_error.txt @@ -0,0 +1,25 @@ +name = df_lbfgs_ls_snrm3_tv_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS_TV/ +inverted_model_number = 10 +inverted_model_list = 1 +inverted_model_name0 = paper2_concrete3_df_lbfgs_ls_snrm3_tv0_mg0 +inverted_model_name1 = paper2_concrete3_df_lbfgs_ls_snrm3_tv1_mg0 +inverted_model_name2 = paper2_concrete3_df_lbfgs_ls_snrm3_tv2_mg0 +inverted_model_name3 = paper2_concrete3_df_lbfgs_ls_snrm3_tv3_mg0 +inverted_model_name4 = paper2_concrete3_df_lbfgs_ls_snrm3_tv4_mg0 +inverted_model_name5 = paper2_concrete3_df_lbfgs_ls_snrm3_tv5_mg0 +inverted_model_name6 = paper2_concrete3_df_lbfgs_ls_snrm3_tv6_mg0 +inverted_model_name7 = paper2_concrete3_df_lbfgs_ls_snrm3_tv7_mg0 +inverted_model_name8 = paper2_concrete3_df_lbfgs_ls_snrm3_tv8_mg0 +inverted_model_name9 = paper2_concrete3_df_lbfgs_ls_snrm3_tv9_mg0 +inverted_model_name10 = paper2_concrete3_df_lbfgs_ls_snrm3_tv10_mg0 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm/ssm0_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm0_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..098fd2231fe6058107ddee1acecafb449bfd0cdd --- /dev/null +++ b/input/paper3/concrete3/error/ssm/ssm0_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = ssm0_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm0_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 151 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm/ssm1_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm1_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..7550beb3ee5b25217f5dc8007bf249f1e99a50e4 --- /dev/null +++ b/input/paper3/concrete3/error/ssm/ssm1_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = ssm1_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm1_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm/ssm2_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm2_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..2dd8f5d14b5825099b5d87c94e1f11d6325986c8 --- /dev/null +++ b/input/paper3/concrete3/error/ssm/ssm2_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = ssm2_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm2_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm/ssm3_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm3_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..9adbd99ed758a3be4fdb1816c9efffe24a463308 --- /dev/null +++ b/input/paper3/concrete3/error/ssm/ssm3_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = ssm3_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm3_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm/ssm4_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm4_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..149e28a8ea41aa6760febf56f2a5650a2b16abdd --- /dev/null +++ b/input/paper3/concrete3/error/ssm/ssm4_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = ssm4_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm4_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm/ssm5_lbfgs_ls_snrm3_error.txt b/input/paper3/concrete3/error/ssm/ssm5_lbfgs_ls_snrm3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..8ba0a9959c618d87b0c66e760a0520f221169d70 --- /dev/null +++ b/input/paper3/concrete3/error/ssm/ssm5_lbfgs_ls_snrm3_error.txt @@ -0,0 +1,15 @@ +name = ssm5_lbfgs_ls_snrm3_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS/ +inverted_model_name = paper2_concrete3_ssm5_lbfgs_ls_snrm3 +inverted_model_prefix = g0s0 +inverted_model_number = 250 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/ssm_tik/ssm_lbfgs_ls_snrm3_tik_error.txt b/input/paper3/concrete3/error/ssm_tik/ssm_lbfgs_ls_snrm3_tik_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f174af78dbd3cd6f65c187736863ae986f2f4db9 --- /dev/null +++ b/input/paper3/concrete3/error/ssm_tik/ssm_lbfgs_ls_snrm3_tik_error.txt @@ -0,0 +1,25 @@ +name = ssm_lbfgs_ls_snrm3_tik_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SSM_LBFGS_LS_TIK/ +inverted_model_number = 10 +inverted_model_list = 1 +inverted_model_name0 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik0_mg0 +inverted_model_name1 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik1_mg0 +inverted_model_name2 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik2_mg0 +inverted_model_name3 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik3_mg0 +inverted_model_name4 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik4_mg0 +inverted_model_name5 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik5_mg0 +inverted_model_name6 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik6_mg0 +inverted_model_name7 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik7_mg0 +inverted_model_name8 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik8_mg0 +inverted_model_name9 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik9_mg0 +inverted_model_name10 = paper2_concrete3_ssm_lbfgs_ls_snrm3_tik10_mg0 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/tik/sst_lbfgs_ls_snrm3_tik_error.txt b/input/paper3/concrete3/error/tik/sst_lbfgs_ls_snrm3_tik_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..df82d609fcdfb4a89518ecc495b4f22a6c1b37b4 --- /dev/null +++ b/input/paper3/concrete3/error/tik/sst_lbfgs_ls_snrm3_tik_error.txt @@ -0,0 +1,22 @@ +name = sst_lbfgs_ls_snrm3_tik_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SST_LBFGS_LS_TIK/ +inverted_model_number = 7 +inverted_model_list = 1 +inverted_model_name0 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik0_mg0 +inverted_model_name1 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik1_mg0 +inverted_model_name2 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik2_mg0 +inverted_model_name3 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik3_mg0 +inverted_model_name4 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik4_mg0 +inverted_model_name5 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik5_mg0 +inverted_model_name6 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik6_mg0 +inverted_model_name7 = paper2_concrete3_sst_lbfgs_ls_snrm3_tik7_mg0 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/error/tv/sst_lbfgs_ls_snrm3_tv_error.txt b/input/paper3/concrete3/error/tv/sst_lbfgs_ls_snrm3_tv_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1923f7993bdd0db765030dbe514f18e1224da5c --- /dev/null +++ b/input/paper3/concrete3/error/tv/sst_lbfgs_ls_snrm3_tv_error.txt @@ -0,0 +1,22 @@ +name = sst_lbfgs_ls_snrm3_tv_error +#Configuration +unknown = all +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2 +#Error +error_type = exp_relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC2/SNRM3/SST_LBFGS_LS_TV/ +inverted_model_number = 7 +inverted_model_list = 1 +inverted_model_name0 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv0_mg0 +inverted_model_name1 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv1_mg0 +inverted_model_name2 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv2_mg0 +inverted_model_name3 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv3_mg0 +inverted_model_name4 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv4_mg0 +inverted_model_name5 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv5_mg0 +inverted_model_name6 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv6_mg0 +inverted_model_name7 = paper2_concrete3_sst_lbfgs_ls_snrm3_tv7_mg0 +#Output +write_error_field = 0 diff --git a/input/paper3/concrete3/innerproduct_sst.txt b/input/paper3/concrete3/innerproduct_sst.txt new file mode 100644 index 0000000000000000000000000000000000000000..4c8fb01e23887d7102fabf719569821311069943 --- /dev/null +++ b/input/paper3/concrete3/innerproduct_sst.txt @@ -0,0 +1,8 @@ +#Inner product +scale0 = 0.0 +innerproduct = sobolev_l2 +innerproduct_weight_bnd = 0. +innerproduct_diag_preconditioner_smooth = 0 +innerproduct_diag_preconditioner_scale = 0 +innerproduct_preconditioner_ref = 1.2e9 +#ref = precond in at v = 0.3 km/s diff --git a/input/paper3/concrete3/large_concrete_lns2.csv b/input/paper3/concrete3/large_concrete_lns2.csv new file mode 100644 index 0000000000000000000000000000000000000000..44e378ff5675f4c0356ca06e222eda291609ef6a --- /dev/null +++ b/input/paper3/concrete3/large_concrete_lns2.csv @@ -0,0 +1,35 @@ +211 +31 +-0.00015 0 0.00015 0.0003 0.00045 0.0006 0.00075 0.0009 0.00105 0.0012 0.00135 0.0015 0.00165 0.0018 0.00195 0.0021 0.00225 0.0024 0.00255 0.0027 0.00285 0.003 0.00315 0.0033 0.00345 0.0036 0.00375 0.0039 0.00405 0.0042 0.00435 0.0045 0.00465 0.0048 0.00495 0.0051 0.00525 0.0054 0.00555 0.0057 0.00585 0.006 0.00615 0.0063 0.00645 0.0066 0.00675 0.0069 0.00705 0.0072 0.00735 0.0075 0.00765 0.0078 0.00795 0.0081 0.00825 0.0084 0.00855 0.0087 0.00885 0.009 0.00915 0.0093 0.00945 0.0096 0.00975 0.0099 0.01005 0.0102 0.01035 0.0105 0.01065 0.0108 0.01095 0.0111 0.01125 0.0114 0.01155 0.0117 0.01185 0.012 0.01215 0.0123 0.01245 0.0126 0.01275 0.0129 0.01305 0.0132 0.01335 0.0135 0.01365 0.0138 0.01395 0.0141 0.01425 0.0144 0.01455 0.0147 0.01485 0.015 0.01515 0.0153 0.01545 0.0156 0.01575 0.0159 0.01605 0.0162 0.01635 0.0165 0.01665 0.0168 0.01695 0.0171 0.01725 0.0174 0.01755 0.0177 0.01785 0.018 0.01815 0.0183 0.01845 0.0186 0.01875 0.0189 0.01905 0.0192 0.01935 0.0195 0.01965 0.0198 0.01995 0.0201 0.02025 0.0204 0.02055 0.0207 0.02085 0.021 0.02115 0.0213 0.02145 0.0216 0.02175 0.0219 0.02205 0.0222 0.02235 0.0225 0.02265 0.0228 0.02295 0.0231 0.02325 0.0234 0.02355 0.0237 0.02385 0.024 0.02415 0.0243 0.02445 0.0246 0.02475 0.0249 0.02505 0.0252 0.02535 0.0255 0.02565 0.0258 0.02595 0.0261 0.02625 0.0264 0.02655 0.0267 0.02685 0.027 0.02715 0.0273 0.02745 0.0276 0.02775 0.0279 0.02805 0.0282 0.02835 0.0285 0.02865 0.0288 0.02895 0.0291 0.02925 0.0294 0.02955 0.0297 0.02985 0.03 0.03015 0.0303 0.03045 0.0306 0.03075 0.0309 0.03105 0.0312 0.03135 +-0.00015 0 0.00015 0.0003 0.00045 0.0006 0.00075 0.0009 0.00105 0.0012 0.00135 0.0015 0.00165 0.0018 0.00195 0.0021 0.00225 0.0024 0.00255 0.0027 0.00285 0.003 0.00315 0.0033 0.00345 0.0036 0.00375 0.0039 0.00405 0.0042 0.00435 +1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 +1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 +1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 +1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 +1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 1.3863 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 +2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 -2.7726 -2.7726 -2.7726 -2.7726 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 2.4079 diff --git a/input/paper3/concrete3/time/initial.txt b/input/paper3/concrete3/time/initial.txt new file mode 100644 index 0000000000000000000000000000000000000000..7d502229a7d49d02256b407b51a454676a8c9253 --- /dev/null +++ b/input/paper3/concrete3/time/initial.txt @@ -0,0 +1,19 @@ +name = timewave_initial +#Configuration +unknown = none +m0_typec0 = file +m0_pathc0 = ../input/paper2/concrete3/large_concrete_lns2_initial +# +#Wave +wave_FunctionSpaceDegree = 2 +#Equation +equation_integration_degree_blk = 6 +equation_integration_degree_bnd = 7 +newmark_beta = 0.25 +newmark_gamma = 0.5 +newmark_dt = 1e-4 +newmark_T = 0.2 +excitation_fm = 150. +excitation_offset = 0.0075 +#Output +write_model_field = 1 diff --git a/input/paper3/concrete3/time/inverse.txt b/input/paper3/concrete3/time/inverse.txt new file mode 100644 index 0000000000000000000000000000000000000000..09e23b67d4ceaafb3b65c40f1abcc0d76c66e9a6 --- /dev/null +++ b/input/paper3/concrete3/time/inverse.txt @@ -0,0 +1,19 @@ +name = timewave_inverse +#Configuration +unknown = none +m0_typec0 = file.pos +m0_pathc0 = ../../Manuscript/Part3bis/TC2/SNRM3/DF_LBFGS_LS/paper2_concrete3_df4_lbfgs_ls_snrm3g0s0m247 +# +#Wave +wave_FunctionSpaceDegree = 2 +#Equation +equation_integration_degree_blk = 6 +equation_integration_degree_bnd = 7 +newmark_beta = 0.25 +newmark_gamma = 0.5 +newmark_dt = 1e-4 +newmark_T = 0.2 +excitation_fm = 150. +excitation_offset = 0.0075 +#Output +write_model_field = 1 diff --git a/input/paper3/concrete3/synthetics.txt b/input/paper3/concrete3/time/synthetics.txt similarity index 100% rename from input/paper3/concrete3/synthetics.txt rename to input/paper3/concrete3/time/synthetics.txt diff --git a/input/paper3/cross/error/comparison_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/comparison_lbfgs_ls_snr6_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..95fb9c558ad2da901001920c43f63c7ac39f422a --- /dev/null +++ b/input/paper3/cross/error/comparison_lbfgs_ls_snr6_error.txt @@ -0,0 +1,40 @@ +name = comparison_lbfgs_ls_snr6_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +error_mask_type = circle +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/ +inverted_model_number = 3 +inverted_model_list = 1 +inverted_model_name0 = SST_LBFGS_LS_TIK/cross_sst2_lbfgs_ls_snr6_tik22_mg0 +inverted_model_name1 = SST_LBFGS_LS_TV/cross_sst2_lbfgs_ls_snr6_tv24_mg0 +inverted_model_name2 = SSM_LBFGS_LS/cross_ssm1_lbfgs_ls_snr6g0s0m100 +inverted_model_name3 = DF_LBFGS_LS/cross_df2_lbfgs_ls_snr6g0s0m100 +#Output +write_error_field = 1 diff --git a/input/paper3/cross/error/df/df1_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/df/df1_lbfgs_ls_snr6_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..c5b2091409e69d529d3b111eb1f6d23af6696295 --- /dev/null +++ b/input/paper3/cross/error/df/df1_lbfgs_ls_snr6_error.txt @@ -0,0 +1,37 @@ +name = df1_lbfgs_ls_snr6_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/ +inverted_model_name = cross_df1_lbfgs_ls_snr6 +inverted_model_prefix = g0s0 +inverted_model_skip = 10 +inverted_model_number = 20 +#Output +write_error_field = 0 diff --git a/input/paper3/cross/error/df/df2_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/df/df2_lbfgs_ls_snr6_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..2d532970e11cd5d008a56bcdd17a2720e5f46a54 --- /dev/null +++ b/input/paper3/cross/error/df/df2_lbfgs_ls_snr6_error.txt @@ -0,0 +1,37 @@ +name = df2_lbfgs_ls_snr6_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/ +inverted_model_name = cross_df2_lbfgs_ls_snr6 +inverted_model_prefix = g0s0 +inverted_model_skip = 10 +inverted_model_number = 20 +#Output +write_error_field = 1 diff --git a/input/paper3/cross/error/ssm/ssm1_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/ssm/ssm1_lbfgs_ls_snr6_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..c3987aeac3b0fcdcbcbed33ecb57fb5dca71f44c --- /dev/null +++ b/input/paper3/cross/error/ssm/ssm1_lbfgs_ls_snr6_error.txt @@ -0,0 +1,37 @@ +name = ssm1_lbfgs_ls_snr6_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SSM_LBFGS_LS/ +inverted_model_name = cross_ssm1_lbfgs_ls_snr6 +inverted_model_prefix = g0s0 +inverted_model_skip = 10 +inverted_model_number = 20 +#Output +write_error_field = 1 diff --git a/input/paper3/cross/error/ssm/ssm2_lbfgs_ls_snr6_error.txt b/input/paper3/cross/error/ssm/ssm2_lbfgs_ls_snr6_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f569967b7fed656208a932cd8da40271cdb6a0ff --- /dev/null +++ b/input/paper3/cross/error/ssm/ssm2_lbfgs_ls_snr6_error.txt @@ -0,0 +1,37 @@ +name = ssm2_lbfgs_ls_snr6_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SSM_LBFGS_LS/ +inverted_model_name = cross_ssm2_lbfgs_ls_snr6 +inverted_model_prefix = g0s0 +inverted_model_skip = 10 +inverted_model_number = 20 +#Output +write_error_field = 0 diff --git a/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik22_error.txt b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik22_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..c6f28e2c216f5af050e6dfd411f3e045537d0b17 --- /dev/null +++ b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik22_error.txt @@ -0,0 +1,38 @@ +name = sst2_lbfgs_ls_snr6_tik22_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +error_mask_type = circle +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TIK/ +inverted_model_name = cross_sst2_lbfgs_ls_snr6_tik22 +inverted_model_prefix = g0s0 +inverted_model_skip = 10 +inverted_model_number = 20 +#Output +write_error_field = 0 diff --git a/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik_error.txt b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..08782f7de548072a6aba31928e49988bccee1f8c --- /dev/null +++ b/input/paper3/cross/error/tik/sst_lbfgs_ls_snr6_tik_error.txt @@ -0,0 +1,85 @@ +name = sst2_lbfgs_ls_snr6_tik_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +error_mask_type = circle +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TIK/ +inverted_model_number = 48 +inverted_model_list = 1 +inverted_model_name0 = cross_sst2_lbfgs_ls_snr6_tik0_mg0 +inverted_model_name1 = cross_sst2_lbfgs_ls_snr6_tik1_mg0 +inverted_model_name2 = cross_sst2_lbfgs_ls_snr6_tik2_mg0 +inverted_model_name3 = cross_sst2_lbfgs_ls_snr6_tik3_mg0 +inverted_model_name4 = cross_sst2_lbfgs_ls_snr6_tik4_mg0 +inverted_model_name5 = cross_sst2_lbfgs_ls_snr6_tik5_mg0 +inverted_model_name6 = cross_sst2_lbfgs_ls_snr6_tik6_mg0 +inverted_model_name7 = cross_sst2_lbfgs_ls_snr6_tik7_mg0 +inverted_model_name8 = cross_sst2_lbfgs_ls_snr6_tik8_mg0 +inverted_model_name9 = cross_sst2_lbfgs_ls_snr6_tik9_mg0 +inverted_model_name10 = cross_sst2_lbfgs_ls_snr6_tik10_mg0 +inverted_model_name11 = cross_sst2_lbfgs_ls_snr6_tik11_mg0 +inverted_model_name12 = cross_sst2_lbfgs_ls_snr6_tik12_mg0 +inverted_model_name13 = cross_sst2_lbfgs_ls_snr6_tik13_mg0 +inverted_model_name14 = cross_sst2_lbfgs_ls_snr6_tik14_mg0 +inverted_model_name15 = cross_sst2_lbfgs_ls_snr6_tik15_mg0 +inverted_model_name16 = cross_sst2_lbfgs_ls_snr6_tik16_mg0 +inverted_model_name17 = cross_sst2_lbfgs_ls_snr6_tik17_mg0 +inverted_model_name18 = cross_sst2_lbfgs_ls_snr6_tik18_mg0 +inverted_model_name19 = cross_sst2_lbfgs_ls_snr6_tik19_mg0 +inverted_model_name20 = cross_sst2_lbfgs_ls_snr6_tik20_mg0 +inverted_model_name21 = cross_sst2_lbfgs_ls_snr6_tik21_mg0 +inverted_model_name22 = cross_sst2_lbfgs_ls_snr6_tik22_mg0 +inverted_model_name23 = cross_sst2_lbfgs_ls_snr6_tik23_mg0 +inverted_model_name24 = cross_sst2_lbfgs_ls_snr6_tik24_mg0 +inverted_model_name25 = cross_sst2_lbfgs_ls_snr6_tik25_mg0 +inverted_model_name26 = cross_sst2_lbfgs_ls_snr6_tik26_mg0 +inverted_model_name27 = cross_sst2_lbfgs_ls_snr6_tik27_mg0 +inverted_model_name28 = cross_sst2_lbfgs_ls_snr6_tik28_mg0 +inverted_model_name29 = cross_sst2_lbfgs_ls_snr6_tik29_mg0 +inverted_model_name30 = cross_sst2_lbfgs_ls_snr6_tik30_mg0 +inverted_model_name31 = cross_sst2_lbfgs_ls_snr6_tik31_mg0 +inverted_model_name32 = cross_sst2_lbfgs_ls_snr6_tik32_mg0 +inverted_model_name33 = cross_sst2_lbfgs_ls_snr6_tik33_mg0 +inverted_model_name34 = cross_sst2_lbfgs_ls_snr6_tik34_mg0 +inverted_model_name35 = cross_sst2_lbfgs_ls_snr6_tik35_mg0 +inverted_model_name36 = cross_sst2_lbfgs_ls_snr6_tik36_mg0 +inverted_model_name37 = cross_sst2_lbfgs_ls_snr6_tik37_mg0 +inverted_model_name38 = cross_sst2_lbfgs_ls_snr6_tik38_mg0 +inverted_model_name39 = cross_sst2_lbfgs_ls_snr6_tik39_mg0 +inverted_model_name40 = cross_sst2_lbfgs_ls_snr6_tik40_mg0 +inverted_model_name41 = cross_sst2_lbfgs_ls_snr6_tik41_mg0 +inverted_model_name42 = cross_sst2_lbfgs_ls_snr6_tik42_mg0 +inverted_model_name43 = cross_sst2_lbfgs_ls_snr6_tik43_mg0 +inverted_model_name44 = cross_sst2_lbfgs_ls_snr6_tik44_mg0 +inverted_model_name45 = cross_sst2_lbfgs_ls_snr6_tik45_mg0 +inverted_model_name46 = cross_sst2_lbfgs_ls_snr6_tik46_mg0 +inverted_model_name47 = cross_sst2_lbfgs_ls_snr6_tik47_mg0 +inverted_model_name48 = cross_sst2_lbfgs_ls_snr6_tik48_mg0 +#Output +write_error_field = 1 diff --git a/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv24_error.txt b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv24_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..c2499f2dadb3325a27f3b078736a66f443fd14ec --- /dev/null +++ b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv24_error.txt @@ -0,0 +1,38 @@ +name = sst2_lbfgs_ls_snr6_tv24_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +error_mask_type = circle +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TV/ +inverted_model_name = cross_sst2_lbfgs_ls_snr6_tv24 +inverted_model_prefix = g0s0 +inverted_model_skip = 10 +inverted_model_number = 20 +#Output +write_error_field = 0 diff --git a/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv_error.txt b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1ae69aa001eab2d06bb5837ab11cfec3972f8b0 --- /dev/null +++ b/input/paper3/cross/error/tv/sst_lbfgs_ls_snr6_tv_error.txt @@ -0,0 +1,85 @@ +name = sst2_lbfgs_ls_snr6_tv_error +#Configuration +unknown = all +# +inclusion_ni = 2 +inclusion_filled = 1 +#Inclusion 0 +inclusion0 = cross +inclusion_x0i0 = -1. +inclusion_y0i0 = -1. +inclusion_ri0 = 1.0 +Re(mi0c0) = 0. +Im(mi0c0) = 0. +Re(mi0c1) = -4.02 +Im(mi0c1) = 0. +#Inclusion 1 +inclusion1 = cross +inclusion_x0i1 = 1.25 +inclusion_y0i1 = 1.25 +inclusion_ri1 = 1.0 +Re(mi1c0) = 2.08 +Im(mi1c0) = 0. +Re(mi1c1) = 0.59 +Im(mi1c1) = 0. +# +#Error +error_type = exp_relative_mean +error_mask = 1 +error_mask_type = circle +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC3/SNR6/SST_LBFGS_LS_TV/ +inverted_model_number = 48 +inverted_model_list = 1 +inverted_model_name0 = cross_sst2_lbfgs_ls_snr6_tv0_mg0 +inverted_model_name1 = cross_sst2_lbfgs_ls_snr6_tv1_mg0 +inverted_model_name2 = cross_sst2_lbfgs_ls_snr6_tv2_mg0 +inverted_model_name3 = cross_sst2_lbfgs_ls_snr6_tv3_mg0 +inverted_model_name4 = cross_sst2_lbfgs_ls_snr6_tv4_mg0 +inverted_model_name5 = cross_sst2_lbfgs_ls_snr6_tv5_mg0 +inverted_model_name6 = cross_sst2_lbfgs_ls_snr6_tv6_mg0 +inverted_model_name7 = cross_sst2_lbfgs_ls_snr6_tv7_mg0 +inverted_model_name8 = cross_sst2_lbfgs_ls_snr6_tv8_mg0 +inverted_model_name9 = cross_sst2_lbfgs_ls_snr6_tv9_mg0 +inverted_model_name10 = cross_sst2_lbfgs_ls_snr6_tv10_mg0 +inverted_model_name11 = cross_sst2_lbfgs_ls_snr6_tv11_mg0 +inverted_model_name12 = cross_sst2_lbfgs_ls_snr6_tv12_mg0 +inverted_model_name13 = cross_sst2_lbfgs_ls_snr6_tv13_mg0 +inverted_model_name14 = cross_sst2_lbfgs_ls_snr6_tv14_mg0 +inverted_model_name15 = cross_sst2_lbfgs_ls_snr6_tv15_mg0 +inverted_model_name16 = cross_sst2_lbfgs_ls_snr6_tv16_mg0 +inverted_model_name17 = cross_sst2_lbfgs_ls_snr6_tv17_mg0 +inverted_model_name18 = cross_sst2_lbfgs_ls_snr6_tv18_mg0 +inverted_model_name19 = cross_sst2_lbfgs_ls_snr6_tv19_mg0 +inverted_model_name20 = cross_sst2_lbfgs_ls_snr6_tv20_mg0 +inverted_model_name21 = cross_sst2_lbfgs_ls_snr6_tv21_mg0 +inverted_model_name22 = cross_sst2_lbfgs_ls_snr6_tv22_mg0 +inverted_model_name23 = cross_sst2_lbfgs_ls_snr6_tv23_mg0 +inverted_model_name24 = cross_sst2_lbfgs_ls_snr6_tv24_mg0 +inverted_model_name25 = cross_sst2_lbfgs_ls_snr6_tv25_mg0 +inverted_model_name26 = cross_sst2_lbfgs_ls_snr6_tv26_mg0 +inverted_model_name27 = cross_sst2_lbfgs_ls_snr6_tv27_mg0 +inverted_model_name28 = cross_sst2_lbfgs_ls_snr6_tv28_mg0 +inverted_model_name29 = cross_sst2_lbfgs_ls_snr6_tv29_mg0 +inverted_model_name30 = cross_sst2_lbfgs_ls_snr6_tv30_mg0 +inverted_model_name31 = cross_sst2_lbfgs_ls_snr6_tv31_mg0 +inverted_model_name32 = cross_sst2_lbfgs_ls_snr6_tv32_mg0 +inverted_model_name33 = cross_sst2_lbfgs_ls_snr6_tv33_mg0 +inverted_model_name34 = cross_sst2_lbfgs_ls_snr6_tv34_mg0 +inverted_model_name35 = cross_sst2_lbfgs_ls_snr6_tv35_mg0 +inverted_model_name36 = cross_sst2_lbfgs_ls_snr6_tv36_mg0 +inverted_model_name37 = cross_sst2_lbfgs_ls_snr6_tv37_mg0 +inverted_model_name38 = cross_sst2_lbfgs_ls_snr6_tv38_mg0 +inverted_model_name39 = cross_sst2_lbfgs_ls_snr6_tv39_mg0 +inverted_model_name40 = cross_sst2_lbfgs_ls_snr6_tv40_mg0 +inverted_model_name41 = cross_sst2_lbfgs_ls_snr6_tv41_mg0 +inverted_model_name42 = cross_sst2_lbfgs_ls_snr6_tv42_mg0 +inverted_model_name43 = cross_sst2_lbfgs_ls_snr6_tv43_mg0 +inverted_model_name44 = cross_sst2_lbfgs_ls_snr6_tv44_mg0 +inverted_model_name45 = cross_sst2_lbfgs_ls_snr6_tv45_mg0 +inverted_model_name46 = cross_sst2_lbfgs_ls_snr6_tv46_mg0 +inverted_model_name47 = cross_sst2_lbfgs_ls_snr6_tv47_mg0 +inverted_model_name48 = cross_sst2_lbfgs_ls_snr6_tv48_mg0 +#Output +write_error_field = 1 diff --git a/input/paper3/cross/time/initial.txt b/input/paper3/cross/time/initial.txt new file mode 100644 index 0000000000000000000000000000000000000000..1e032246b5f8d50aa2aa338efe735f76bfa6ba1e --- /dev/null +++ b/input/paper3/cross/time/initial.txt @@ -0,0 +1,17 @@ +name = timewave_initial +#Configuration +unknown = none +# +#Wave +wave_FunctionSpaceDegree = 3 +#Equation +equation_integration_degree_blk = 8 +equation_integration_degree_bnd = 9 +newmark_beta = 0.25 +newmark_gamma = 0.5 +newmark_dt = 1e-2 +newmark_T = 100 +excitation_fm = 0.33 +excitation_offset = 3.75 +#Output +write_model_field = 1 diff --git a/input/paper3/cross/time/inverse.txt b/input/paper3/cross/time/inverse.txt new file mode 100644 index 0000000000000000000000000000000000000000..d73c6d8aef5201443e8367a135052b1ee4caf1ea --- /dev/null +++ b/input/paper3/cross/time/inverse.txt @@ -0,0 +1,21 @@ +name = timewave_inverse +#Configuration +unknown = none +m0_typec0 = file.pos +m0_pathc0 = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/cross_df2_lbfgs_ls_snr6g0s0m100 +m0_typec1 = file.pos +m0_pathc1 = ../../Manuscript/Part3bis/TC3/SNR6/DF_LBFGS_LS/cross_df2_lbfgs_ls_snr6g0s0m100 +# +#Wave +wave_FunctionSpaceDegree = 3 +#Equation +equation_integration_degree_blk = 8 +equation_integration_degree_bnd = 9 +newmark_beta = 0.25 +newmark_gamma = 0.5 +newmark_dt = 1e-2 +newmark_T = 100 +excitation_fm = 0.33 +excitation_offset = 3.75 +#Output +write_model_field = 1 diff --git a/input/paper3/cross/synthetics.txt b/input/paper3/cross/time/synthetics.txt similarity index 96% rename from input/paper3/cross/synthetics.txt rename to input/paper3/cross/time/synthetics.txt index ff7adbf4ae9beed53412078fc81bb1ce9471cf11..c28d7dc5e2bd7645533a743bda1ab6733b6dd84c 100644 --- a/input/paper3/cross/synthetics.txt +++ b/input/paper3/cross/time/synthetics.txt @@ -1,4 +1,4 @@ -name = time_synthetics +name = timewave_synthetics #Configuration unknown = none # diff --git a/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh b/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh index fa0a7e894b24c50605580c6df12329a4317e5d2d..c9847096540bad08c69f3c1e6214b8b7272c322f 100644 --- a/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh +++ b/input/paper3/marmousi/cluster/ssm/cluster_inversion_ssm5_lbfgs_ls_snr2.sh @@ -1,4 +1,4 @@ -d#!/bin/bash +#!/bin/bash # #SBATCH --job-name=paper2_extended_inversion_ssm5_lbfgs_ls_snr2 #SBATCH --output=paper2_extended_inversion_ssm5_lbfgs_ls_snr2.log diff --git a/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh b/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh index 649344b7a33fed512801776d2db20aecb48e529f..13229727ce736dfc25e2263c3502792ca33f051e 100644 --- a/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh +++ b/input/paper3/marmousi/cluster/tv/cluster_inversion_sst_lbfgs_ls_snr2_tv.sh @@ -4,7 +4,7 @@ #SBATCH --output=paper2_extended_inversion_sst_lbfgs_ls_snr2_tv.log #SBATCH --ntasks=1 -#SBATCH --time=400:00 +#SBATCH --time=500:00 #SBATCH --mem-per-cpu=16000 # #SBATCH --array=0-14 diff --git a/input/paper3/marmousi/error/df/df1_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df1_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f20b0d363e6a102193c300a12085892f0c7f1895 --- /dev/null +++ b/input/paper3/marmousi/error/df/df1_lbfgs_ls_snr2_error.txt @@ -0,0 +1,15 @@ +name = df1_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df1_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 40 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/df/df2_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df2_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..54317de1e9647fb754ff8f0992ad1a7e2824edef --- /dev/null +++ b/input/paper3/marmousi/error/df/df2_lbfgs_ls_snr2_error.txt @@ -0,0 +1,15 @@ +name = df2_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df2_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 40 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/df/df3_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df3_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..948e44029104100b34c6b5671a6b32cd287481f8 --- /dev/null +++ b/input/paper3/marmousi/error/df/df3_lbfgs_ls_snr2_error.txt @@ -0,0 +1,18 @@ +name = df3_lbfgs_ls_snr2_error +#name = df3_lbfgs_ls_snr2_error_horizontal +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +error_mask_type = none +#error_mask_type = horizontal +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df3_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 60 +#Output +write_error_field = 1 diff --git a/input/paper3/marmousi/error/df/df4_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df4_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..82ba77bb342d67393a5a1a612ba51202d86bad0f --- /dev/null +++ b/input/paper3/marmousi/error/df/df4_lbfgs_ls_snr2_error.txt @@ -0,0 +1,15 @@ +name = df4_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df4_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 80 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/df/df5_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df5_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f1c689e1452ab56cd63868c50465beb7d66bf8db --- /dev/null +++ b/input/paper3/marmousi/error/df/df5_lbfgs_ls_snr2_error.txt @@ -0,0 +1,15 @@ +name = df5_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df5_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 186 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/df6_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df/df6_lbfgs_ls_snr2_error.txt similarity index 53% rename from input/paper3/marmousi/error/df6_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/df/df6_lbfgs_ls_snr2_error.txt index fc316dbb5263a6da76880316db69a0b60e070dcc..494c4db681bd3e753bbb149e2b867483b1a13f67 100644 --- a/input/paper3/marmousi/error/df6_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/df/df6_lbfgs_ls_snr2_error.txt @@ -1,14 +1,14 @@ -name = df6_lbfgs_ls_snr3_error +name = df6_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF6_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df6_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df6_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 200 #Output diff --git a/input/paper3/marmousi/error/df/df_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/df/df_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..f16471f6ee440f2af1ffe9101b4a6ed4a87a9ed8 --- /dev/null +++ b/input/paper3/marmousi/error/df/df_lbfgs_ls_snr2_error.txt @@ -0,0 +1,15 @@ +name = df_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/DF_LBFGS_LS/ +inverted_model_name = paper2_extended_df_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 40 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/df1_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df1_lbfgs_ls_snr3_error.txt deleted file mode 100644 index 1899a926fe30abd0bb8c9bff8fe23a210d2a1ff6..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/df1_lbfgs_ls_snr3_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = df1_lbfgs_ls_snr3_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF1_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df1_lbfgs_ls_snr3 -inverted_model_prefix = g0s0 -inverted_model_number = 26 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/df2_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df2_lbfgs_ls_snr3_error.txt deleted file mode 100644 index 72a82464ba61f96e18116f3519f79f6f155b36bd..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/df2_lbfgs_ls_snr3_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = df2_lbfgs_ls_snr3_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF2_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df2_lbfgs_ls_snr3 -inverted_model_prefix = g0s0 -inverted_model_number = 32 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/df5_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df5_lbfgs_ls_snr3_error.txt deleted file mode 100644 index f4cb6180bd3383b36c28bad92707f66fb76a7cb4..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/df5_lbfgs_ls_snr3_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = df5_lbfgs_ls_snr3_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF5_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df5_lbfgs_ls_snr3 -inverted_model_prefix = g0s0 -inverted_model_number = 200 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/df_lbfgs_ls_snr3_error.txt deleted file mode 100644 index a29bdf40de41b943e6bea05bc301e3345a758782..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = df_lbfgs_ls_snr3_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df_lbfgs_ls_snr3 -inverted_model_prefix = g0s0 -inverted_model_number = 30 -#Output -write_error_field = 1 diff --git a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv11_error.txt b/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv11_error.txt deleted file mode 100644 index 30002dd506197083f4288d0812140fe2c98bce7b..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv11_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = df_lbfgs_ls_snr3_tv11_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF_LBFGS_LS_SNR3_TV11/ -inverted_model_name = paper2_extended_df_lbfgs_ls_snr3_tv11 -inverted_model_prefix = g0s0 -inverted_model_number = 28 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv_error.txt b/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv_error.txt deleted file mode 100644 index ac3f25cbf1ccb620082129c3d84d80bcd644c166..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/df_lbfgs_ls_snr3_tv_error.txt +++ /dev/null @@ -1,18 +0,0 @@ -name = df_lbfgs_ls_snr3_tv_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 14 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF_TV2/ -inverted_model_list = 0 -inverted_model_number = 35 -inverted_model_name = paper2_extended_df_lbfgs_ls_snr3_tv_ -inverted_model_suffix = _mg0 - -# -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/sstm/sstm_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm1_lbfgs_ls_snr3_error.txt similarity index 52% rename from input/paper3/marmousi/error/sstm/sstm_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/ssm/ssm1_lbfgs_ls_snr3_error.txt index 42e6258c450ce05e214b378f6d42e20e2bd7b3e4..07b4c79a60f8bfea29e28a477013f984747e25b8 100644 --- a/input/paper3/marmousi/error/sstm/sstm_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/ssm/ssm1_lbfgs_ls_snr3_error.txt @@ -1,14 +1,14 @@ -name = sstm_lbfgs_ls_snr3_error +name = ssm1_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sstm_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm1_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 50 #Output diff --git a/input/paper3/marmousi/error/sstm/sstm1_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm2_lbfgs_ls_snr3_error.txt similarity index 52% rename from input/paper3/marmousi/error/sstm/sstm1_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/ssm/ssm2_lbfgs_ls_snr3_error.txt index 4d814682d31b6f942d86eedf700b1f31d94ac8a5..356bdc0f72b8c851f7f706327e6fb3d826b5f491 100644 --- a/input/paper3/marmousi/error/sstm/sstm1_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/ssm/ssm2_lbfgs_ls_snr3_error.txt @@ -1,14 +1,14 @@ -name = sstm1_lbfgs_ls_snr3_error +name = ssm2_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM1_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sstm1_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm2_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 50 #Output diff --git a/input/paper3/marmousi/error/sstm/sstm2_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm3_lbfgs_ls_snr3_error.txt similarity index 52% rename from input/paper3/marmousi/error/sstm/sstm2_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/ssm/ssm3_lbfgs_ls_snr3_error.txt index 206310db14b9f6dde27b466a3a7ddafef2d96d33..a9aa415240a075db7675aac26c450e6f41c88706 100644 --- a/input/paper3/marmousi/error/sstm/sstm2_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/ssm/ssm3_lbfgs_ls_snr3_error.txt @@ -1,14 +1,14 @@ -name = sstm2_lbfgs_ls_snr3_error +name = ssm3_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM2_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sstm2_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS/ +inverted_model_name = paper2_extended_ssm3_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 50 #Output diff --git a/input/paper3/marmousi/error/sstm/sstm4_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm4_lbfgs_ls_snr3_error.txt similarity index 52% rename from input/paper3/marmousi/error/sstm/sstm4_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/ssm/ssm4_lbfgs_ls_snr3_error.txt index a085ae225ceedcf017c71e4366406537c38e250e..40b91653f5f4fc7997dac2fd7858e269b09f1e7b 100644 --- a/input/paper3/marmousi/error/sstm/sstm4_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/ssm/ssm4_lbfgs_ls_snr3_error.txt @@ -1,14 +1,14 @@ -name = sstm4_lbfgs_ls_snr3_error +name = ssm4_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM4_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sstm4_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm4_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 75 #Output diff --git a/input/paper3/marmousi/error/df4_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm5_lbfgs_ls_snr3_error.txt similarity index 53% rename from input/paper3/marmousi/error/df4_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/ssm/ssm5_lbfgs_ls_snr3_error.txt index 294d26223bcd27bd56eee76eb62a714bd4d0b189..772472a1bb7d98ecf6c2cc0c0ba92318ff36a700 100644 --- a/input/paper3/marmousi/error/df4_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/ssm/ssm5_lbfgs_ls_snr3_error.txt @@ -1,14 +1,14 @@ -name = df4_lbfgs_ls_snr3_error +name = ssm5_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF4_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df4_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm5_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 100 #Output diff --git a/input/paper3/marmousi/error/ssm/ssm6_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm6_lbfgs_ls_snr3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..86340a74e069076382d19863de0fc1e8494ba507 --- /dev/null +++ b/input/paper3/marmousi/error/ssm/ssm6_lbfgs_ls_snr3_error.txt @@ -0,0 +1,15 @@ +name = ssm6_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm6_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 100 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/ssm/ssm7_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm7_lbfgs_ls_snr3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..5b722bff416e52d78e7730663e201d133acc226e --- /dev/null +++ b/input/paper3/marmousi/error/ssm/ssm7_lbfgs_ls_snr3_error.txt @@ -0,0 +1,15 @@ +name = ssm7_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm7_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 100 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/ssm/ssm8_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm8_lbfgs_ls_snr3_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..83c2e6c42f9d0e3bbb2e134b907772913529d861 --- /dev/null +++ b/input/paper3/marmousi/error/ssm/ssm8_lbfgs_ls_snr3_error.txt @@ -0,0 +1,15 @@ +name = ssm8_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS// +inverted_model_name = paper2_extended_ssm8_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 150 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/sstm/sstm3_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/ssm/ssm_lbfgs_ls_snr3_error.txt similarity index 52% rename from input/paper3/marmousi/error/sstm/sstm3_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/ssm/ssm_lbfgs_ls_snr3_error.txt index 49f695cf60d4259132bcff5fff313363b32c3b0e..5739ed84ed7471dae01ac5288d88023629eadcf2 100644 --- a/input/paper3/marmousi/error/sstm/sstm3_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/ssm/ssm_lbfgs_ls_snr3_error.txt @@ -1,14 +1,14 @@ -name = sstm3_lbfgs_ls_snr3_error +name = ssm_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM/SSTM3_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sstm3_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SSM_LBFGS_LS/ +inverted_model_name = paper2_extended_ssm_lbfgs_ls_snr2 inverted_model_prefix = g0s0 inverted_model_number = 50 #Output diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr2_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr2_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..e6975aef81f830e1718334505f18091166a12649 --- /dev/null +++ b/input/paper3/marmousi/error/sst_lbfgs_ls_snr2_error.txt @@ -0,0 +1,15 @@ +name = sst_lbfgs_ls_snr2_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS/ +inverted_model_name = paper2_extended_sst_lbfgs_ls_snr2 +inverted_model_prefix = g0s0 +inverted_model_number = 50 +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_error.txt deleted file mode 100644 index 0478226454f2558002e84e90b5bbb81f94de2dde..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = sst_lbfgs_ls_snr3_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SST_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sst_lbfgs_ls_snr3 -inverted_model_prefix = g0s0 -inverted_model_number = 27 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik_error.txt deleted file mode 100644 index 93350c68fc0bbf85af4bbc0ec4b3c288ab65ffb2..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik_error.txt +++ /dev/null @@ -1,30 +0,0 @@ -name = sst_lbfgs_ls_snr3_tik_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 14 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/TIK/ -inverted_model_number = 14 -inverted_model_list = 1 -inverted_model_name0 = SST_LBFGS_LS_SNR3_TIK0/paper2_extended_sst_lbfgs_ls_snr3_tik0_mg0 -inverted_model_name1 = SST_LBFGS_LS_SNR3_TIK1/paper2_extended_sst_lbfgs_ls_snr3_tik1_mg0 -inverted_model_name2 = SST_LBFGS_LS_SNR3_TIK2/paper2_extended_sst_lbfgs_ls_snr3_tik2_mg0 -inverted_model_name3 = SST_LBFGS_LS_SNR3_TIK3/paper2_extended_sst_lbfgs_ls_snr3_tik3_mg0 -inverted_model_name4 = SST_LBFGS_LS_SNR3_TIK4/paper2_extended_sst_lbfgs_ls_snr3_tik4_mg0 -inverted_model_name5 = SST_LBFGS_LS_SNR3_TIK5/paper2_extended_sst_lbfgs_ls_snr3_tik5_mg0 -inverted_model_name6 = SST_LBFGS_LS_SNR3_TIK6/paper2_extended_sst_lbfgs_ls_snr3_tik6_mg0 -inverted_model_name7 = SST_LBFGS_LS_SNR3_TIK7/paper2_extended_sst_lbfgs_ls_snr3_tik7_mg0 -inverted_model_name8 = SST_LBFGS_LS_SNR3_TIK8/paper2_extended_sst_lbfgs_ls_snr3_tik8_mg0 -inverted_model_name9 = SST_LBFGS_LS_SNR3_TIK9/paper2_extended_sst_lbfgs_ls_snr3_tik9_mg0 -inverted_model_name10 = SST_LBFGS_LS_SNR3_TIK10/paper2_extended_sst_lbfgs_ls_snr3_tik10_mg0 -inverted_model_name11 = SST_LBFGS_LS_SNR3_TIK11/paper2_extended_sst_lbfgs_ls_snr3_tik11_mg0 -inverted_model_name12 = SST_LBFGS_LS_SNR3_TIK12/paper2_extended_sst_lbfgs_ls_snr3_tik12_mg0 -inverted_model_name13 = SST_LBFGS_LS_SNR3_TIK13/paper2_extended_sst_lbfgs_ls_snr3_tik13_mg0 -inverted_model_name14 = SST_LBFGS_LS_SNR3_TIK14/paper2_extended_sst_lbfgs_ls_snr3_tik14_mg0 -# -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv8_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv8_error.txt deleted file mode 100644 index bb5df1adef95ed7cd78c39c99ae8f00e67543c69..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv8_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = sst_lbfgs_ls_snr3_tv8_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SST_LBFGS_LS_SNR3_TV8/ -inverted_model_name = paper2_extended_sst_lbfgs_ls_snr3_tv8 -inverted_model_prefix = g0s0 -inverted_model_number = 20 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv_error.txt b/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv_error.txt deleted file mode 100644 index f1fac79d4331fc68d8d1ae926641ec4f76ceceb7..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tv_error.txt +++ /dev/null @@ -1,30 +0,0 @@ -name = sst_lbfgs_ls_snr3_tv_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/TV/ -inverted_model_number = 14 -inverted_model_list = 1 -inverted_model_name0 = SST_LBFGS_LS_SNR3_TV0/paper2_extended_sst_lbfgs_ls_snr3_tv0_mg0 -inverted_model_name1 = SST_LBFGS_LS_SNR3_TV1/paper2_extended_sst_lbfgs_ls_snr3_tv1_mg0 -inverted_model_name2 = SST_LBFGS_LS_SNR3_TV2/paper2_extended_sst_lbfgs_ls_snr3_tv2_mg0 -inverted_model_name3 = SST_LBFGS_LS_SNR3_TV3/paper2_extended_sst_lbfgs_ls_snr3_tv3_mg0 -inverted_model_name4 = SST_LBFGS_LS_SNR3_TV4/paper2_extended_sst_lbfgs_ls_snr3_tv4_mg0 -inverted_model_name5 = SST_LBFGS_LS_SNR3_TV5/paper2_extended_sst_lbfgs_ls_snr3_tv5_mg0 -inverted_model_name6 = SST_LBFGS_LS_SNR3_TV6/paper2_extended_sst_lbfgs_ls_snr3_tv6_mg0 -inverted_model_name7 = SST_LBFGS_LS_SNR3_TV7/paper2_extended_sst_lbfgs_ls_snr3_tv7_mg0 -inverted_model_name8 = SST_LBFGS_LS_SNR3_TV8/paper2_extended_sst_lbfgs_ls_snr3_tv8_mg0 -inverted_model_name9 = SST_LBFGS_LS_SNR3_TV9/paper2_extended_sst_lbfgs_ls_snr3_tv9_mg0 -inverted_model_name10 = SST_LBFGS_LS_SNR3_TV10/paper2_extended_sst_lbfgs_ls_snr3_tv10_mg0 -inverted_model_name11 = SST_LBFGS_LS_SNR3_TV11/paper2_extended_sst_lbfgs_ls_snr3_tv11_mg0 -inverted_model_name12 = SST_LBFGS_LS_SNR3_TV12/paper2_extended_sst_lbfgs_ls_snr3_tv12_mg0 -inverted_model_name13 = SST_LBFGS_LS_SNR3_TV13/paper2_extended_sst_lbfgs_ls_snr3_tv13_mg0 -inverted_model_name14 = SST_LBFGS_LS_SNR3_TV14/paper2_extended_sst_lbfgs_ls_snr3_tv14_mg0 -# -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/sstm_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/sstm_lbfgs_ls_snr3_error.txt deleted file mode 100644 index aa3c977b4da8b7894f0613f5dc5f392ea7c0d170..0000000000000000000000000000000000000000 --- a/input/paper3/marmousi/error/sstm_lbfgs_ls_snr3_error.txt +++ /dev/null @@ -1,15 +0,0 @@ -name = sstm_lbfgs_ls_snr3_error -#Configuration -unknown = subsurface -m0_typec0 = file -m0_pathc0 = ../input/paper2/marmousi_slowness2 -#Error -error_type = root_mean_squared -integration_degree = 8 -#Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/SSTM_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_sstm_lbfgs_ls_snr3 -inverted_model_prefix = g0s0 -inverted_model_number = 30 -#Output -write_error_field = 0 diff --git a/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr2_tik_error.txt b/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr2_tik_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..ac5c6f8c2a144eef967e9d0861943486b3779708 --- /dev/null +++ b/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr2_tik_error.txt @@ -0,0 +1,30 @@ +name = sst_lbfgs_ls_snr2_tik_error +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/TIK/ +inverted_model_number = 14 +inverted_model_list = 1 +inverted_model_name0 = paper2_extended_sst_lbfgs_ls_snr2_tik0_mg0 +inverted_model_name1 = paper2_extended_sst_lbfgs_ls_snr2_tik1_mg0 +inverted_model_name2 = paper2_extended_sst_lbfgs_ls_snr2_tik2_mg0 +inverted_model_name3 = paper2_extended_sst_lbfgs_ls_snr2_tik3_mg0 +inverted_model_name4 = paper2_extended_sst_lbfgs_ls_snr2_tik4_mg0 +inverted_model_name5 = paper2_extended_sst_lbfgs_ls_snr2_tik5_mg0 +inverted_model_name6 = paper2_extended_sst_lbfgs_ls_snr2_tik6_mg0 +inverted_model_name7 = paper2_extended_sst_lbfgs_ls_snr2_tik7_mg0 +inverted_model_name8 = paper2_extended_sst_lbfgs_ls_snr2_tik8_mg0 +inverted_model_name9 = paper2_extended_sst_lbfgs_ls_snr2_tik9_mg0 +inverted_model_name10 = paper2_extended_sst_lbfgs_ls_snr2_tik10_mg0 +inverted_model_name11 = paper2_extended_sst_lbfgs_ls_snr2_tik11_mg0 +inverted_model_name12 = paper2_extended_sst_lbfgs_ls_snr2_tik12_mg0 +inverted_model_name13 = paper2_extended_sst_lbfgs_ls_snr2_tik13_mg0 +inverted_model_name14 = paper2_extended_sst_lbfgs_ls_snr2_tik14_mg0 +# +#Output +write_error_field = 0 diff --git a/input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik11_error.txt b/input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr3_tik11_error.txt similarity index 100% rename from input/paper3/marmousi/error/sst_lbfgs_ls_snr3_tik11_error.txt rename to input/paper3/marmousi/error/tik/sst_lbfgs_ls_snr3_tik11_error.txt diff --git a/input/paper3/marmousi/error/df3_lbfgs_ls_snr3_error.txt b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv11_error.txt similarity index 53% rename from input/paper3/marmousi/error/df3_lbfgs_ls_snr3_error.txt rename to input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv11_error.txt index e1913893dcf29ca1178ac3594445a4dc2498d23e..ead0ce5940a7ee5dd6a193309ca26daa0874e1dc 100644 --- a/input/paper3/marmousi/error/df3_lbfgs_ls_snr3_error.txt +++ b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv11_error.txt @@ -1,14 +1,14 @@ -name = df3_lbfgs_ls_snr3_error +name = sst_lbfgs_ls_snr2_error #Configuration unknown = subsurface m0_typec0 = file m0_pathc0 = ../input/paper2/marmousi_slowness2 #Error -error_type = root_mean_squared +error_type = relative_mean integration_degree = 8 #Input -inverted_model_path = ../../Manuscript/Part3/TC1/SNR3/DF3_LBFGS_LS_SNR3/ -inverted_model_name = paper2_extended_df3_lbfgs_ls_snr3 +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/ +inverted_model_name = paper2_extended_sst_lbfgs_ls_snr2_tv11 inverted_model_prefix = g0s0 inverted_model_number = 60 #Output diff --git a/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv_error.txt b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv_error.txt new file mode 100644 index 0000000000000000000000000000000000000000..785a7cecd5b5c6d9c768168d26db070f5cf4c5c0 --- /dev/null +++ b/input/paper3/marmousi/error/tv/sst_lbfgs_ls_snr2_tv_error.txt @@ -0,0 +1,33 @@ +name = sst_lbfgs_ls_snr2_tv_error +#name = sst_lbfgs_ls_snr2_tv_error_horizontal +#Configuration +unknown = subsurface +m0_typec0 = file +m0_pathc0 = ../input/paper2/marmousi_slowness2 +#Error +error_type = relative_mean +error_mask_type = none +#error_mask_type = horizontal +integration_degree = 8 +#Input +inverted_model_path = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/ +inverted_model_number = 14 +inverted_model_list = 1 +inverted_model_name0 = paper2_extended_sst_lbfgs_ls_snr2_tv0_mg0 +inverted_model_name1 = paper2_extended_sst_lbfgs_ls_snr2_tv1_mg0 +inverted_model_name2 = paper2_extended_sst_lbfgs_ls_snr2_tv2_mg0 +inverted_model_name3 = paper2_extended_sst_lbfgs_ls_snr2_tv3_mg0 +inverted_model_name4 = paper2_extended_sst_lbfgs_ls_snr2_tv4_mg0 +inverted_model_name5 = paper2_extended_sst_lbfgs_ls_snr2_tv5_mg0 +inverted_model_name6 = paper2_extended_sst_lbfgs_ls_snr2_tv6_mg0 +inverted_model_name7 = paper2_extended_sst_lbfgs_ls_snr2_tv7_mg0 +inverted_model_name8 = paper2_extended_sst_lbfgs_ls_snr2_tv8_mg0 +inverted_model_name9 = paper2_extended_sst_lbfgs_ls_snr2_tv9_mg0 +inverted_model_name10 = paper2_extended_sst_lbfgs_ls_snr2_tv10_mg0 +inverted_model_name11 = paper2_extended_sst_lbfgs_ls_snr2_tv11_mg0 +inverted_model_name12 = paper2_extended_sst_lbfgs_ls_snr2_tv12_mg0 +inverted_model_name13 = paper2_extended_sst_lbfgs_ls_snr2_tv13_mg0 +inverted_model_name14 = paper2_extended_sst_lbfgs_ls_snr2_tv14_mg0 +# +#Output +write_error_field = 1 diff --git a/input/paper3/marmousi/time/initial.txt b/input/paper3/marmousi/time/initial.txt index 17777a4178810783519077551963c4e8e99ff241..705068b0d1d9b842f96ed46f7fe2b3a2a57b4894 100644 --- a/input/paper3/marmousi/time/initial.txt +++ b/input/paper3/marmousi/time/initial.txt @@ -2,8 +2,8 @@ name = initial #Configuration unknown = none m0_typec0 = file.pos -#m0_pathc0 = ../../Manuscript/Part3/TC1/paper2_extended_m_initial -m0_pathc0 = paper2_extended_m_initial +m0_pathc0 = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/paper2_extended_sst_lbfgs_ls_snr2_tv10_m_initial +#m0_pathc0 = paper2_extended_m_initial # #Wave wave_FunctionSpaceDegree = 2 diff --git a/input/paper3/marmousi/time/inverse.txt b/input/paper3/marmousi/time/inverse.txt index ea4f2708b6fa087d48ce6f9d1c3733392082cd9f..3e1c514711e802a46351b04030c5b5e248a0a72e 100644 --- a/input/paper3/marmousi/time/inverse.txt +++ b/input/paper3/marmousi/time/inverse.txt @@ -2,8 +2,8 @@ name = inverse #Configuration unknown = none m0_typec0 = file.pos -#m0_pathc0 = ../../Manuscript/Part3/TC1/paper2_extended_df_lbfgs_ls_snr3_tv11_mg0c0 -m0_pathc0 = paper2_extended_df_lbfgs_ls_snr3_tv11_mg0 +m0_pathc0 = ../../Manuscript/Part3bis/TC1/SNR2/SST_LBFGS_LS_TV/paper2_extended_sst_lbfgs_ls_snr2_tv10_mg0 +#m0_pathc0 = paper2_extended_sst_lbfgs_ls_snr2_tv10_mg0 # #Wave wave_FunctionSpaceDegree = 2 diff --git a/inversion_plot_comp_paper2.py b/inversion_plot_comp_paper2.py index cbae7df914888cc0327e42fe348014482e3dfa50..a6d6b32f97f1277bc22e1c8cf005914534fcc929 100644 --- a/inversion_plot_comp_paper2.py +++ b/inversion_plot_comp_paper2.py @@ -185,7 +185,8 @@ glob = ['linesearch','trust-region','trust-region-retro'] * 2 order = [2.] * 6 col = ['k','C1','C4']*2 mrk = ['o']*6 -lin = ['-']*6 +lin = ['-']*6 +offset = [1]*3 + [0]*3 max_forward = 600 Δmax_forward = 60 n_freq = 1 @@ -225,8 +226,8 @@ for i in range(0,n_comp): line=line+2 jfs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,0] / j0; if glob[i] == 'trust-region' or glob[i] == 'trust-region-retro': - p_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,6]; - r_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,7]; + p_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,5+offset[i]]; + r_ratiofs[f][s] = np.loadtxt(path[i]+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,6+offset[i]]; r_ratiofs[f][s][p_ratiofs[f][s] < 0] = np.nan; line=line+n_itfs[f][s]+1+1 jcfs.append(jfs) diff --git a/inversion_plot_comp_paper3.py b/inversion_plot_comp_paper3.py new file mode 100644 index 0000000000000000000000000000000000000000..15dab72cad54f2cd1917fe531af2374cd19c7db7 --- /dev/null +++ b/inversion_plot_comp_paper3.py @@ -0,0 +1,409 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Wed May 11 15:49:20 2022 + +@author: xavier +""" + +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import rc +plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False +plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True +rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}') +rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10}) +rc('text', usetex=True) +lw = 1.5 +ms=5 +H = 2.0; +L = 3.0; + +""" +#Mamrousi early stop regularization +j0 = 1 +jmrzv = 21.06701972868763 +n_comp = 3 +prepath = [''] * 3 +best = [17,26,43] +mrz = [11,14,22] +path = ['SST_LBFGS_LS/','SSM_LBFGS_LS/','DF_LBFGS_LS/',] +filename = ['paper2_extended_sst_lbfgs_ls_snr2','paper2_extended_ssm_lbfgs_ls_snr2','paper2_extended_df3_lbfgs_ls_snr2'] +lab = ['SST','SSM','DF'] +glob = ['linesearch'] * 3 +order = [1.5] * 3 +col = ['C0','C1','C2'] +mrk = [''] * 3 +lin = ['-'] * 3 +n_freq = 1 +""" + +""" +#Mamrousi additive regularization +j0 = 1. #35.6633 +jmrzv = 17.303269765664275 +n_comp = 3 +prepath = [''] * 3 +best = [0] * 3 +mrz = [ 0 ] * 3 +ms=0 +path = ['SST_LBFGS_LS_SNR3/','TIK/SST_LBFGS_LS_SNR3_TIK10/','TV/SST_LBFGS_LS_SNR3_TV11/'] +filename = ['paper2_extended_sst_lbfgs_ls_snr3','paper2_extended_sst_lbfgs_ls_snr3_tik10','paper2_extended_sst_lbfgs_ls_snr3_tv11'] +lab = ['SST','TIK','TV'] +glob = ['linesearch'] * 3 +order = [1.5] * 3 +col = ['C0','C1','C2'] +mrk = [''] * 3 +lin = ['-'] * 3 +n_freq = 1 +""" + +""" +#Mamrousi df +j0 = 1. #35.6633 +jmrzv = 21.06701972868763 +n_comp = 7 +best = [ 22, 21, 30, 43, 61, 119, 69 ] +mrz = [ 12, 12, 15, 22, 34, 62, 110 ] +prepath = [''] * 7 +path = ['DF_LBFGS_LS/'] * 7 +filename = ['paper2_extended_df1_lbfgs_ls_snr2','paper2_extended_df_lbfgs_ls_snr2','paper2_extended_df2_lbfgs_ls_snr2','paper2_extended_df3_lbfgs_ls_snr2','paper2_extended_df4_lbfgs_ls_snr2','paper2_extended_df5_lbfgs_ls_snr2','paper2_extended_df6_lbfgs_ls_snr2'] +lab = ['DF1','DF','DF2','DF3','DF4','DF5','DF6'] +glob = ['linesearch'] * 7 +order = [1.5] * 7 +col = ['#061606','#124212','#1C661C','#2ca02c','#78C278','#BAE0BA','#E3F2E3'] +mrk = [''] * 7 +lin = ['-'] * 7 +n_freq = 1 +β = 1. +A = 25.994976 +""" + +""" +#Mamrousi ssm +j0 = 1. #35.6633 +jmrzv = 21.06701972868763 +n_comp = 7 +best = [21, 26, 36, 59, 48, 82, 0] +mrz = [12, 14, 20, 33, 57, np.nan, np.nan] +prepath = [''] * n_comp +path = ['SSM_LBFGS_LS/'] * n_comp +filename = ['paper2_extended_ssm1_lbfgs_ls_snr2','paper2_extended_ssm_lbfgs_ls_snr2','paper2_extended_ssm2_lbfgs_ls_snr2','paper2_extended_ssm5_lbfgs_ls_snr2','paper2_extended_ssm6_lbfgs_ls_snr2','paper2_extended_ssm7_lbfgs_ls_snr2','paper2_extended_ssm8_lbfgs_ls_snr2'] +lab = ['ssm1','ssm','ssm2','ssm5','ssm6','ssm7','ssm8'] +glob = ['linesearch'] * n_comp +order = [1.5] * n_comp +col = ['#492200','#974700','#d26300','#ff8922','#ff9e49','#ffbe84','#ffd2ab'] +mrk = [''] * n_comp +lin = ['-'] * n_comp +n_freq = 1 +β = 0.075 +A = 25.994976 +""" + +""" +#Concrete 3 additive regularization +j0 = 1. +jmrzv = 5608.4871201510405 +n_comp = 5 +prepath = [''] * 5 +best = [0] * 5 +mrz = [ 0 ] * 5 +ms=0 +path = [ 'snrm3/SST_LBFGS_LS_TV_snrm3/' ] * 5 +filename = ['paper2_concrete3_sst_lbfgs_ls_snrm3_tv0','paper2_concrete3_sst_lbfgs_ls_snrm3_tv1','paper2_concrete3_sst_lbfgs_ls_snrm3_tv2','paper2_concrete3_sst_lbfgs_ls_snrm3_tv3','paper2_concrete3_sst_lbfgs_ls_snrm3_tv4'] +lab = ['TV0','TV1','TV2','TV3','TV4'] +glob = ['linesearch'] * 5 +order = [1.5] * 5 +col = ['C0','C1','C2','C3','C4'] +mrk = [''] * 5 +lin = ['-'] * 5 +n_freq = 1 +""" + +""" +#Concrete 3 early stop regularization +j0 = 1. +jmrzv = 11177.374443381555 + +n_comp = 2; +best = [226,247] +mrz = [40,51] +col = ['C1','C2'] + +prepath = [''] * n_comp +path = [ 'SSM_LBFGS_LS/' , 'DF_LBFGS_LS/' ] * 2 +filename = [ 'paper2_concrete3_ssm2_lbfgs_ls_snrm3', 'paper2_concrete3_df4_lbfgs_ls_snrm3' ] +lab = [ 'SSM2','DF4' ] +glob = ['linesearch'] * n_comp +order = [1.5] * n_comp + +mrk = [''] * n_comp +lin = ['-'] * n_comp +n_freq = 1 +""" + + +#Concrete 3 df or ssm +j0 = 1. +jmrzv = 11177.374443381555 + +""" +n_comp = 6; β = 1.; A = 0.00013104; substr = 'df' +best = [200,141,193,234,247,250] +mrz = [25,26,34,42,51,56] +col = ['#061606','#124212','#1C661C','#2ca02c','#78C278','#BAE0BA','#E3F2E3'] +""" + +n_comp = 6; β = 300.; A = 0.00013104; substr = 'ssm' +best = [150,193,226,250,250,250] +mrz = [28,33,40,50,59,70] +col = ['#492200','#974700','#d26300','#ff8922','#ff9e49','#ffbe84','#ffd2ab'] + +prepath = [''] * n_comp +path = [ substr.upper()+'_LBFGS_LS/' ] * n_comp +filename = ['paper2_concrete3_'+substr.lower()+'0_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'1_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'2_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'3_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'4_lbfgs_ls_snrm3','paper2_concrete3_'+substr.lower()+'5_lbfgs_ls_snrm3'] +lab = ['DF0','DF1','DF2','DF3','DF4','DF5'] +glob = ['linesearch'] * n_comp +order = [1.5] * n_comp + +mrk = [''] * n_comp +lin = ['-'] * n_comp +n_freq = 1 + + +""" +#Cross +j0 = 1. +jmrzv = 0.6931585837012904 + +n_comp = 4; β = 1.; A = 1.; +best = [0] * n_comp +mrz = [0] * n_comp +ms = 0 +col = ['C1','C2','C1','C2'] + +prepath = [''] * n_comp +path = [ 'SST_LBFGS_LS_TIK/', 'SST_LBFGS_LS_TV/', 'SSM_LBFGS_LS/', 'DF_LBFGS_LS/' ] +filename = [ 'cross_sst2_lbfgs_ls_snr6_tik22', 'cross_sst2_lbfgs_ls_snr6_tv24', 'cross_ssm1_lbfgs_ls_snr6', 'cross_df2_lbfgs_ls_snr6' ] +lab = [ 'TIK','TV','SSM','DF' ] +glob = ['linesearch'] * n_comp +order = [1.5] * n_comp + +mrk = [''] * n_comp +lin = [ '--','--','-','-' ] +n_freq = 1 +""" + +""" +LOAD +""" +jcfs = [] +mcfs = [] +p_ratiocfs = [] +r_ratiocfs = [] +n_itcf = [] +n_scalecf = [] +n_itcfs = [] + +for i in range(0,n_comp): + path_tmp = prepath[i]+path[i] + n_scalef = [[]]*n_freq; + jfs = [[]]*n_freq; + mfs = [[]]*n_freq; + p_ratiofs = [[]]*n_freq; + r_ratiofs = [[]]*n_freq; + n_itfs = [[]]*n_freq; + n_itf = [0]*n_freq + scalefs = [[]]*n_freq; + for f in range(0,n_freq): + n_scalef[f] = np.loadtxt(path_tmp+filename[i]+'_globalminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=1,skiprows=3,dtype=np.integer)[1]; + scalefs[f] = np.loadtxt(path_tmp+filename[i]+'_globalminimum_historyg'+str(f)+'.csv',delimiter=';',usecols=2,max_rows=np.int(n_scalef[f]),skiprows=6,dtype=np.float); + jfs[f] = [[]]*n_scalef[f]; + mfs[f] = [[]]*n_scalef[f]; + p_ratiofs[f] = [[]]*n_scalef[f]; + r_ratiofs[f] = [[]]*n_scalef[f]; + n_itfs[f] = np.zeros(n_scalef[f],np.integer); + line = 3 + for s in range(0,n_scalef[f]): + n_itfs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',usecols = 1, max_rows=1,skiprows=line,dtype=np.integer); + n_itf[f] = n_itf[f]+n_itfs[f][s] + line=line+2 + jfs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,0] / j0; + mfs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,4]; + if glob[i] == 'trust-region' or glob[i] == 'trust-region-retro': + p_ratiofs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,6]; + r_ratiofs[f][s] = np.loadtxt(path_tmp+filename[i]+'_localminimum_historyg'+str(f)+'.csv',delimiter=';',max_rows=np.int(n_itfs[f][s]+1),skiprows=line,dtype=np.float)[:,7]; + r_ratiofs[f][s][p_ratiofs[f][s] < 0] = np.nan; + line=line+n_itfs[f][s]+1+1 + jcfs.append(jfs) + mcfs.append(mfs) + p_ratiocfs.append(p_ratiofs) + r_ratiocfs.append(r_ratiofs) + n_itcf.append(n_itf) + n_itcfs.append(n_itfs) + n_scalecf.append(n_scalef) + +it_linecf = [[]*n_freq]*n_comp; +it_descentcf = [[]*n_freq]*n_comp; +bnd_descentcf = [[]*n_freq]*n_comp; +n_forwardcf = [[]*n_freq]*n_comp; +successcf = [[]*n_freq]*n_comp; +negativecf = [[]*n_freq]*n_comp; +etacf = [[]*n_freq]*n_comp; +for i in range(0,n_comp): + path_tmp = prepath[i]+path[i] + it_linef = [[]]*n_freq + it_descentf = [[]]*n_freq + bnd_descentf = [[]]*n_freq + n_forwardf = [[]]*n_freq + successf = [[]]*n_freq + negativef = [[]]*n_freq + etaf = [[]]*n_freq + for f in range(0,n_freq): + n_forwardf[f] = np.zeros(n_itcf[i][f],np.integer) + + if glob[i] == 'linesearch': + it_linef[f] = np.loadtxt(path_tmp+filename[i]+'_linesearch_historyg'+str(f)+'.csv',delimiter=';',usecols = 5, skiprows=1,dtype=np.integer) + n_forwardf[f] += it_linef[f] + + if order[i] == 1.5 and (glob[i] == 'trust-region' or glob[i] == 'trust-region-retro') : + successf[f] = np.zeros(n_itcf[i][f],np.integer) + bnd_descentf[f] = np.zeros(n_itcf[i][f],np.integer) + line = 2 + for n in range(0,n_itcf[i][f]): + bnd_descentf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=4,max_rows=1,skiprows=line,dtype=np.integer); + successf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=0,max_rows=1,skiprows=line,dtype=np.integer); + line=line+2 + if order[i] == 2: + it_descentf[f] = np.zeros(n_itcf[i][f],np.integer) + successf[f] = np.zeros(n_itcf[i][f],np.integer) + etaf[f] = np.zeros(n_itcf[i][f],np.float) + negativef[f] = np.zeros(n_itcf[i][f],np.integer) + bnd_descentf[f] = np.zeros(n_itcf[i][f],np.integer) + line = 3 + for n in range(0,n_itcf[i][f]): + it_descentf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=3,max_rows=1,skiprows=line,dtype=np.integer); + if glob[i] == 'trust-region' or glob[i] == 'trust-region-retro': + bnd_descentf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=6,max_rows=1,skiprows=line,dtype=np.integer); + etaf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=1,max_rows=1,skiprows=line,dtype=np.float); + successf[f][n] = np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=0,max_rows=1,skiprows=line,dtype=np.integer); + line=line+it_descentf[f][n]+1 + negativef[f][n] = (np.loadtxt(path_tmp+filename[i]+'_descent_historyg'+str(f)+'.csv',delimiter=';',usecols=1,max_rows=1,skiprows=line,dtype=np.float)<0); + line=line+2 + n_forwardf[f] += 2*it_descentf[f] + if glob[i] == 'trust-region-retro': + n_forwardf[f] += 2 #retrospective Hessian-vector product + n_forwardf[f] += 2 + n_forwardf[f] = np.cumsum(n_forwardf[f]) + n_forwardf[f] = np.insert(n_forwardf[f],0,0) + n_forwardcf[i] = n_forwardf + it_descentcf[i] = it_descentf + bnd_descentcf[i] = bnd_descentf + it_linecf[i] = it_linef + successcf[i] = successf + etacf[i] = etaf + negativecf[i] = negativef + +""" +DATA CONVERGENCE PLOT +""" +fig = [[]]*n_freq +for f in range(0,n_freq): + plt.figure(figsize=(2*L,H),tight_layout=False); + plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08) + plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) + plt.grid(zorder=0) + + plt.xlim([0,250]) + plt.xticks(np.arange(0,251,50)) + """ + plt.xlim([0,200]) + plt.xticks(np.arange(0,201,40)) + """ + """ + plt.xlim([5,50]) + plt.xticks(np.arange(0,51,10)) + """ + #plt.ylim([0.95,1.1]) + plt.ylim([0.99,1.02]) + """ + plt.xlim([0,30]) + plt.xticks(np.arange(0,31,10)) + plt.ylim([0.95,1.5]) + """ + + for i in range(0,n_comp,1): + plt.plot(jcfs[i][f][0]/jmrzv,color=col[i],marker=mrk[i],linestyle=lin[i],zorder=3,markersize=3, linewidth=lw,label=lab[i]) + plt.plot(best[i],jcfs[i][f][0][best[i]]/jmrzv,color=col[i],marker='o',zorder=3,markersize=ms) + if ~np.isnan(mrz[i]): + plt.plot(mrz[i],jcfs[i][f][0][mrz[i]]/jmrzv,color=col[i],marker='d',zorder=3,markersize=ms) + #plt.legend() + plt.hlines(1.0, 0, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.) + #plt.savefig('convergence_comp'+str(f)+'.eps') + +""" +MODEL CONVERGENCE PLOT +""" +errorc = [] +for i in range(0,n_comp): + error = np.loadtxt(prepath[i]+path[i]+filename[i]+'_error.csv',delimiter=';')[:,0]; + #error = error + np.loadtxt(prepath[i]+path[i]+filename[i]+'_error.csv',delimiter=';')[:,2]; + #error = error / 2 + errorc.append(error) + +#error +plt.figure(figsize=(2*L,H),tight_layout=False); +plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08) +#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) +plt.grid(zorder=0) + + + +#plt.ylim([0.1,0.25]) +plt.ylim([0.,6.]) +#plt.ylim([0.5,1.4]) +#plt.yticks(np.arange(0.5,1.4,0.25)) + +""" +plt.xlim([5,50]) +plt.xticks(np.arange(0,51,10)) +""" +""" +plt.xlim([0,200]) +plt.xticks(np.arange(0,201,40)) +skip=1 +""" +plt.xlim([0,250]) +plt.xticks(np.arange(0,251,50)) + +plt.grid(zorder=0) +for i in range(0,n_comp): + #np.arange(0,251,skip), + plt.plot(errorc[i],color=col[i],linestyle=lin[i],zorder=2,label=lab[i],marker=mrk[i]) + plt.plot(best[i],errorc[i][best[i]],color=col[i],marker='o',zorder=3,markersize=ms) + if ~np.isnan(mrz[i]): + plt.plot(mrz[i],errorc[i][mrz[i]],color=col[i],marker='d',zorder=3,markersize=ms) +""" + plt.plot(jcfs[i][0][0],errorc,color=col[i],linestyle=lin[i],zorder=2,label=lab[i]) +plt.xscale('log') +plt.gca().invert_xaxis() +""" +#plt.legend() + +#L-curve +plt.figure(figsize=(2*L,H),tight_layout=False); +plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08) +for i in range(0,n_comp): + plt.plot( (mcfs[i][0][0])/A/β**2, jcfs[i][0][0]/jmrzv, color=col[i],linestyle=lin[i],zorder=2) + plt.plot( (mcfs[i][0][0][best[i]])/A/β**2, (jcfs[i][0][0][best[i]]/jmrzv), linestyle=lin[i],color=col[i],marker='o',zorder=3,markersize=ms) + if ~np.isnan(mrz[i]): + plt.plot( (mcfs[i][0][0][mrz[i]])/A/β**2,(jcfs[i][0][0][mrz[i]]/jmrzv), color=col[i],marker='d',zorder=3,markersize=ms) + plt.hlines(1.0, 0, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.) + +plt.ylim([0.95,1.1]) +#plt.xlim([0.,10.]) +plt.xlim([0.,100.]) +#plt.xlim([0.,30.]) +#plt.xlim([15.,120.]) +#plt.ylim([0.99,1.02]) +plt.grid() \ No newline at end of file diff --git a/lcurve.py b/lcurve.py new file mode 100644 index 0000000000000000000000000000000000000000..a1ed925ca9927d07b808c955434b898ed9bf0aec --- /dev/null +++ b/lcurve.py @@ -0,0 +1,157 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Thu Jul 14 18:02:59 2022 + +@author: xavier +""" +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import rc +plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False +plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True +rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}') +rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10}) +rc('text', usetex=True) +lw = 1.5 +ms=5 +H = 2.0; +L = 3.0; + +""" +#Marmousi +jmrzv = 21.06701972868763 +n_comp = 2 +reg = [np.array([1.0, 0.25, 0.23, 0.21, 0.19, 0.17, 0.15, 0.13, 0.11, 0.09, 0.07, 0.05, 0.03, 0.01, 0.001])] * 2 +mrz = [1,1] +best = [8,10] +path = ['SST_LBFGS_LS_TIK/','SST_LBFGS_LS_TV/'] +filename = ['paper2_extended_sst_lbfgs_ls_snr2_tik','paper2_extended_sst_lbfgs_ls_snr2_tv'] +lab = ['TIK','TV'] +col = ['C1','C2'] +mrk = [''] * 2 +lin = ['-'] * 2 +""" + +#Concrete 3 +jmrzv = 11177.374443381555 +n_comp = 4 +ms=0 +reg = [ np.array([1e-4, 1e-3, 0.005, 0.025, 0.05, 0.1, 0.25, 0.5]), np.array([1e2, 1.5e2, 2.5e2, 3.75e2, 5e2, 1e3, 1e4, 10.]), np.array([1e-4, 1e-3, 0.005, 0.025, 0.05, 0.1, 0.25, 0.5, 1e-5, 1e-6, 1e-7]), np.array([1e2, 1.5e2, 2.5e2, 3.75e2, 5e2, 1., 10., 1e3, 1e4, 0.1, 0.01]) ] +mrz = [0,0,0,0] +best = [0,0,0,0] +path = ['SST_LBFGS_LS_TIK/','SST_LBFGS_LS_TV/','SSM_LBFGS_LS_TIK/','DF_LBFGS_LS_TV/'] +filename = ['paper2_concrete3_sst_lbfgs_ls_snrm3_tik','paper2_concrete3_sst_lbfgs_ls_snrm3_tv','paper2_concrete3_ssm_lbfgs_ls_snrm3_tik','paper2_concrete3_df_lbfgs_ls_snrm3_tv'] +lab = ['TIK','TV','SSM-TIK','DF-TV'] +col = ['C1','C2'] * 2 +mrk = [''] * 2 +lin = ['-'] * 2 + ['-.'] * 2 + +performance = [[]] * n_comp +objective = [[]] * n_comp +regularization = [[]] * n_comp +error = [[]] * n_comp + +for i in range(0,n_comp): + n_reg = np.size(reg[i]) + performance[i] = np.zeros(n_reg) + objective[i] = np.zeros(n_reg) + regularization[i] = np.zeros(n_reg) + for r in range(0,n_reg): + tmp = np.loadtxt(path[i]+filename[i]+str(r)+'_globalminimum_historyg0.csv',delimiter=';',max_rows=1,skiprows=6,dtype=np.float); + performance[i][r] = tmp[0] + objective[i][r] = tmp[3] + regularization[i][r] = tmp[4] + tmp = np.loadtxt(path[i]+filename[i]+"_error.csv",delimiter=';',dtype=np.float); + error[i] = tmp[:,0] + +# +# OBJECTIVE +# +plt.figure(figsize=(2*L,H),tight_layout=False); +plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08) +#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) +plt.grid(zorder=0) + +#plt.xlim([1.,0.001]) +#plt.ylim([0.95,1.10]) +plt.xlim([1e4,1e-7]) +plt.ylim([0.99,1.02]) + +plt.xscale('log') +#plt.xlabel(r'$\lambda$') +#plt.ylabel(r'$J(\lambda)$') +for i in range(0,n_comp,1): + idx=np.argsort(reg[i]) + plt.plot(reg[i][idx],objective[i][idx]/jmrzv,color=col[i],marker='o',zorder=3,markersize=0,linewidth=lw,linestyle=lin[i],label=lab[i]) + plt.plot(reg[i][best[i]],objective[i][best[i]]/jmrzv,color=col[i],marker='o',zorder=3,markersize=ms) + plt.plot(reg[i][mrz[i]],objective[i][mrz[i]]/jmrzv,color=col[i],marker='d',zorder=3,markersize=ms) +#plt.legend() +plt.hlines(1., 1e-7, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.) + +# +# PERFORMANCE +# +plt.figure(figsize=(2*L,H),tight_layout=False); +plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08) +#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) +plt.grid(zorder=0) + +#plt.xlim([1.,0.001]) +#plt.ylim([0.95,1.10]) +plt.xlim([1e4,1e-7]) +plt.ylim([0.99,1.02]) + +plt.xscale('log') +#plt.xlabel(r'$\lambda$') +#plt.ylabel(r'$J(\lambda)$') +for i in range(0,n_comp,1): + idx=np.argsort(reg[i]) + plt.plot(reg[i][idx],performance[i][idx]/jmrzv,color=col[i],marker='o',zorder=3,markersize=0,linewidth=lw,linestyle=lin[i],label=lab[i]) + plt.plot(reg[i][best[i]],performance[i][best[i]]/jmrzv,color=col[i],marker='o',zorder=3,markersize=ms) + plt.plot(reg[i][mrz[i]],performance[i][mrz[i]]/jmrzv,color=col[i],marker='d',zorder=3,markersize=ms) +#plt.legend() +plt.hlines(1., 1e-7, 1e4, colors='k', linestyles='dashed', zorder=2, linewidth=lw/2.) + +# +# ERROR +# +plt.figure(figsize=(2*L,H),tight_layout=False); +plt.subplots_adjust(top=0.92,right=0.92,bottom=0.13,left=0.08) +#plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) +plt.grid(zorder=0) + +#plt.ylim([0.10,0.25]) +#plt.xlim([1.,0.001]) +plt.ylim([0.,6.]) +plt.xlim([1e4,1e-7]) + +plt.xscale('log') +#plt.xlabel(r'$\lambda$') +#plt.ylabel(r'$J(\lambda)$') +for i in range(0,n_comp,1): + idx=np.argsort(reg[i]) + plt.plot(reg[i][idx],error[i][idx],color=col[i],marker='o',zorder=3,markersize=0,linewidth=lw,linestyle=lin[i],label=lab[i]) + plt.plot(reg[i][mrz[i]],error[i][mrz[i]],color=col[i],marker='d',zorder=3,markersize=ms) + plt.plot(reg[i][best[i]],error[i][best[i]],color=col[i],marker='o',zorder=3,markersize=ms) +#plt.legend() + +# +# L-CURVE +# +plt.figure(figsize=(2*L,H),tight_layout=False); +plt.subplots_adjust(top=0.95,right=0.98,bottom=0.20,left=0.15) +plt.ticklabel_format(style='sci', axis='y', scilimits=(0,0)) +plt.grid(zorder=0) +#plt.xlim([0,max_forward]) +#plt.xticks(np.arange(0,max_forward+1,Δmax_forward)) +#plt.ylim([0.425,1.5]) +plt.yscale('log') +plt.xscale('log') +plt.xlabel(r'$J(m)$') +plt.ylabel(r'$R(m)$') +for i in range(0,n_comp,1): + idx=np.argsort(reg[i]) + plt.plot(objective[i][idx]/jmrzv,np.divide(regularization[i][idx],reg[i][idx]),color=col[i],marker='o',linewidth=lw,linestyle=lin[i],zorder=3,markersize=3) +plt.vlines(1., 0, 1e4, colors='k', linestyles='dashed', zorder=1, linewidth=lw/2.) +#plt.legend() \ No newline at end of file diff --git a/lcurve2.py b/lcurve2.py new file mode 100644 index 0000000000000000000000000000000000000000..6212f8789366cb6c4b55058c51b1e1680ccce38f --- /dev/null +++ b/lcurve2.py @@ -0,0 +1,95 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Tue Nov 1 16:56:40 2022 + +@author: xavier +""" + +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import rc +plt.rcParams['ytick.right'] = plt.rcParams['ytick.labelright'] = False +plt.rcParams['ytick.left'] = plt.rcParams['ytick.labelleft'] = True +rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}') +rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10}) +rc('text', usetex=True) +lw = 1.5 +ms=5 +H = 2.0; +L = 3.0; + +# Cross: TIK +jmrzv = 0.6931585837012904 +reg0 = np.array([1.75e-5, 3e-5, 5.25e-5, 1e-4, 1.75e-4, 3e-4, 5.25e-4]) +reg1 = np.array([3e-6, 1e-6, 3e-6, 1e-5, 3e-5, 1e-4, 3e-4]) +N0 = np.size(reg0) +N1 = np.size(reg1) + +path = 'SST_LBFGS_LS_TIK/' +filename = 'cross_sst2_lbfgs_ls_snr6_tik' + +""" +# Cross: TV +jmrzv = 0.6931585837012904 +reg0 = np.array([3e-5, 5.25e-5, 1e-4, 1.75e-4, 3e-4, 5.25e-4, 1e-3]) +reg1 = np.array([5.25e-6, 1e-5, 1.75e-5, 3e-5, 5.25e-5, 1e-4, 1.75e-4]) +N0 = np.size(reg0) +N1 = np.size(reg1) + +path = 'SST_LBFGS_LS_TV/' +filename = 'cross_sst2_lbfgs_ls_snr6_tv' +""" + +performance = np.zeros([N0,N1]) +objective = np.zeros([N0,N1]) +regularization = np.zeros([N0,N1]) +error = np.zeros([N0,N1,2]) + +tmp_error = np.loadtxt(path+filename+"_error.csv",delimiter=';',dtype=np.float); +for n1 in range(0,N1): + for n0 in range(0,N0): + tmp = np.loadtxt(path+filename+str(n1*N1+n0)+'_globalminimum_historyg0.csv',delimiter=';',max_rows=1,skiprows=6,dtype=np.float); + performance[n0,n1] = tmp[0] + objective[n0,n1] = tmp[3] + regularization[n0,n1] = tmp[4] + error[n0,n1,0] = tmp_error[n1+N0*n0,0] + error[n0,n1,1] = tmp_error[n1+N0*n0,2] + +# +# ERROR +# +border0 = np.zeros(N0+1) +for n0 in range(0,N0-1): + border0[n0+1] = (np.log10(reg0[n0])+np.log10(reg0[n0+1]))/2. + border0[n0+1] = 10**border0[n0+1] +border0[0] = np.log10(border0[1]) - (np.log10(border0[2])-np.log10(border0[1])) +border0[0] = 10**border0[0] +border0[N0] = np.log10(border0[N0-1]) + (np.log10(border0[N0-1])-np.log10(border0[N0-2])) +border0[N0] = 10**border0[N0] + +border1 = np.zeros(N1+1) +for n1 in range(0,N1-1): + border1[n1+1] = (np.log10(reg1[n1])+np.log10(reg1[n1+1]))/2. + border1[n1+1] = 10**border1[n1+1] +border1[0] = np.log10(border1[1]) - (np.log10(border1[2])-np.log10(border1[1])) +border1[0] = 10**border1[0] +border1[N1] = np.log10(border1[N1-1]) + (np.log10(border1[N1-1])-np.log10(border1[N1-2])) +border1[N1] = 10**border1[N1] + +figure=plt.figure(figsize=(L,H),tight_layout=False) +plt.subplots_adjust(top=0.90,right=0.95,bottom=0.13,left=0.13) +ax=plt.subplot() +ax.yaxis.set_label_position("right") +ax.set_ylabel('Y', rotation=-90, labelpad=15) +ax.xaxis.set_label_position("top") +ax.set_xlabel('Y', rotation=0, labelpad=5) +#vmax=1.5 +plt.pcolor(border0,border1,(1.*error[:,:,0]+1.*error[:,:,1])/2,vmin=0.5,vmax=1.0) +plt.xlabel(r'$\lambda_{\epsilon}$') +plt.ylabel(r'$\lambda_{\sigma}$') +plt.xscale('log') +plt.yscale('log') +plt.colorbar(pad=0.15,ticks=[0.5, 0.75, 1.0]) + + diff --git a/plot_timewave.py b/plot_timewave.py new file mode 100644 index 0000000000000000000000000000000000000000..52e944e4cf7fe2eba17b75f71bb6d811d4befe5b --- /dev/null +++ b/plot_timewave.py @@ -0,0 +1,118 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Thu Aug 25 14:43:28 2022 + +@author: xavier +""" +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import rc +plt.rcParams['xtick.bottom'] = plt.rcParams['xtick.labelbottom'] = False +plt.rcParams['xtick.top'] = plt.rcParams['xtick.labeltop'] = True +rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb} \renewcommand{\familydefault}{\sfdefault} \usepackage{sansmathfonts}') +rc('font',**{'family':'serif','sans-serif':['Helvetica'],'size':10}) +rc('text', usetex=True) +lw = 1.5 +H = 2.0; +L = 3.0; + +""" +# Marmousi +path = "extended_marmousi_data/" + +prename = "timewave_synthetics_data"; s = 61 +#prename = "timewave_synthetics_data_snr2"; s = 61 +#prename = "paper2_extended_timewave_initial_data"; s = 0 +prename = "paper2_extended_timewave_inverse_data"; s = 0 + +T=8.0 +Δt=0.004 +Nr=242 + + +amplitude = 0.02 +Te=4.0 +time_samp = 4 +ΔNr = 60 +ΔT = 1. +""" + +# Concrete 3 +""" +path = "concrete3_data/" + +prename = "timewave_synthetics_data"; s = 134 +#prename = "timewave_synthetics_data_snrm3"; s = 134 +#prename = "paper2_concrete3_timewave_initial_data"; s = 0 +#prename = "paper2_concrete3_timewave_inverse_data"; s = 0 + +T=200 #[ms] +Δt=0.1 #[ms] +Nr=226 + + +amplitude = 0.1 +Te=100 #[ms] +time_samp = 4 +ΔNr = 50 +ΔT = 25 #[ms] +""" + +# Cross +path = "cross_data/" + +prename = "cross_time_synthetics_data"; s = 20 +#prename = "cross_time_synthetics_data_snr6"; s = 20 +#prename = "cross_timewave_initial_data"; s = 0 +#prename = "cross_timewave_inverse_data"; s = 0 + +T=100. +Δt=1e-2 +Nr=119 + + +amplitude = 0.01 +#amplitude = 0.0005 +Te=50 +time_samp = 20 +ΔNr = 20 +ΔT = 10 + + +""" +# S-Cube +path = "win_data/" + +prename = "scube_winsynthetics_data"; s = 0 + +T=20.0 +Δt=0.02 +Nr=1818 + + +amplitude = 0.002 +Te=6.98 +time_samp = 1 +ΔNr = 80 +ΔT = 4. +""" + +# +# Time domain +# + +N=np.int(Te/Δt) +data = np.zeros([np.int(N/time_samp)+1,Nr]); + +for n in range(0,N+1,time_samp): + tmp = np.loadtxt(path+prename+"f"+str(n)+".csv",delimiter=";",ndmin=2); + data[np.int(n/time_samp),:] = tmp[s,0:2*Nr:2] + +figure=plt.figure(figsize=(L,2*H),tight_layout=False) +plt.subplots_adjust(top=0.92,right=0.9,bottom=0.03,left=0.1) +plt.gca().invert_yaxis() +time = np.arange(0,N+time_samp+1,time_samp)*Δt #[s] +plt.pcolormesh(np.arange(0,Nr+1,1)-0.5,time-Δt*time_samp/2,data[:,:],vmin=-amplitude,vmax=amplitude,cmap='binary') +plt.xticks(np.arange(0,Nr,ΔNr)); +plt.yticks(np.arange(0,Te*1.1,ΔT)); \ No newline at end of file diff --git a/specific/configuration/circular_acquisition.cpp b/specific/configuration/circular_acquisition.cpp index 9cc7caefeed85bf474b965d83dfc0cf9152c4fcf..beb2b8aac2268a94740df0c854c1e23f6df4cf47 100644 --- a/specific/configuration/circular_acquisition.cpp +++ b/specific/configuration/circular_acquisition.cpp @@ -191,16 +191,17 @@ namespace circular_acquisition _mi.resize(model_size()); for (unsigned int c = 0; c < model_size(); c++) { + std::string suffix = "c"+std::to_string(c); double Remb, Immb; if (! ( - gmshFem.userDefinedParameter(Remb, "Re(mbc"+std::to_string(c)+")") && - gmshFem.userDefinedParameter(Immb, "Im(mbc"+std::to_string(c)+")") + gmshFem.userDefinedParameter(Remb, "Re(mb"+suffix+")") && + gmshFem.userDefinedParameter(Immb, "Im(mb"+suffix+")") ) ) { - throw common::Exception("Background (reference) model parameter (component"+std::to_string(c)+") could not be found."); + throw common::Exception("Background (reference) model parameter (component "+suffix+" ) could not be found."); } else { @@ -208,14 +209,40 @@ namespace circular_acquisition _mc[c] = _mb[c]; } ScalarPiecewiseFunction< std::complex< double > > m0; - std::string path; - if(gmshFem.userDefinedParameter(path, "mb_path")) + std::string m0_type = "constant"; + if(!gmshFem.userDefinedParameter(m0_type, "m0_type"+suffix)) { - m0.addFunction(bilinearInterpolation(path,true),_background[Support::BLK] | _background[Support::BND] | _points); + msg::warning << "Reference model type could not be found. Constant background is used (default)." << msg::endl; + } + if(m0_type=="file") + { + std::string path = ""; + if(!gmshFem.userDefinedParameter(path, "m0_path"+suffix)) + { + throw common::Exception("Path to circular data could not be found."); + } + m0.addFunction(bilinearInterpolation(path),_background[Support::BLK] | _background[Support::BND] ); + } + else if(m0_type=="file.pos") + { + std::string path = ""; + if(!gmshFem.userDefinedParameter(path, "m0_path"+suffix)) + { + throw common::Exception("Path to model file could not be found."); + } + + gmsh::merge(path+suffix+".pos"); + ScalarFunction<std::complex<double>> mpos = probeScalarView<std::complex<double>>(c); + + m0.addFunction(mpos,_background[Support::BLK] | _background[Support::BND]); + } + else if(m0_type=="constant") + { + m0.addFunction(_mb[c],_background[Support::BLK] | _background[Support::BND]); } else { - m0.addFunction(_mb[c],_background[Support::BLK] | _background[Support::BND] | _points); + throw common::Exception("Initial model type ("+ suffix + ") " + m0_type +" is unknown."); } _mi[c].resize(_ni); @@ -224,8 +251,8 @@ namespace circular_acquisition double Remi=0., Immi=0.; if ( - !(gmshFem.userDefinedParameter(Remi, "Re(mi"+std::to_string(i)+"c"+std::to_string(c)+")") && - gmshFem.userDefinedParameter(Immi, "Im(mi"+std::to_string(i)+"c"+std::to_string(c)+")")) + !(gmshFem.userDefinedParameter(Remi, "Re(mi"+std::to_string(i)+suffix+")") && + gmshFem.userDefinedParameter(Immi, "Im(mi"+std::to_string(i)+suffix+")")) ) { throw Exception("Inclusion model parameter could not be found."); diff --git a/specific/configuration/rectangular_acquisition.cpp b/specific/configuration/rectangular_acquisition.cpp index 18f9ab5a48998329db83e12eb2d930aa063c9672..cb94c07d9da08e53d056d91af56e57482fd8f98c 100644 --- a/specific/configuration/rectangular_acquisition.cpp +++ b/specific/configuration/rectangular_acquisition.cpp @@ -251,7 +251,7 @@ namespace rectangular_acquisition } gmsh::merge(path+suffix+".pos"); - ScalarFunction<std::complex<double>> mpos = probeScalarView<std::complex<double>>(0); + ScalarFunction<std::complex<double>> mpos = probeScalarView<std::complex<double>>(c); m0.addFunction(mpos,_background[Support::BLK] | _background[Support::BND]); } diff --git a/time_synthetics_wave.cpp b/time_synthetics_wave.cpp index b34639273140c27dc6dbdd3e123acb9856912c13..c4f095728ee697dd3c5923658e50548c6d6b389b 100644 --- a/time_synthetics_wave.cpp +++ b/time_synthetics_wave.cpp @@ -306,6 +306,12 @@ int main(int argc, char **argv) { data.value(n,s,r, integrate(p,config->receiver(s,r),"Gauss0")); } + /* + if(n % 100 == 0) + { + save(p, config->model_known(Support::BLK), "p"+std::to_string(n), "pos", ""); + } + */ } VecZeroEntries(vRhs); VecZeroEntries(vx_prev); diff --git a/timewave.py b/timewave.py new file mode 100644 index 0000000000000000000000000000000000000000..10ea54b131fff3249eda8da68880fd7655b7cb53 --- /dev/null +++ b/timewave.py @@ -0,0 +1,141 @@ +#!/usr/bin/env python3 +# -*- coding: utf-8 -*- +""" +Created on Wed Oct 5 12:32:05 2022 + +@author: xavier +""" +import numpy as np +import matplotlib.pyplot as plt +from matplotlib import rc +rc('text.latex', preamble=r'\usepackage{amsmath} \usepackage{amssymb}') +rc('font',**{'family':'serif','sans-serif':['Times New Roman'],'size':15}) +rc('text', usetex=True) +#Value for 1 width figure +H = 3.; +W = 8.; + +""" +# Marmousi +path = "extended_marmousi_data/" +prename = "timewave_synthetics_data" +T=8.0 +Δt=0.004 +Nr=242 +Ns = 122 + +snr = 2.**2 +noise_tag = "snr2" + +#source +offset = 0.3 +fm = 6. + +prename2 = "paper2_extended_synthetics_data" +Nf=3 +freqf = np.array([4.,6.,8.]) #[Hz] +""" + +""" +# Concrete 3 +path = "concrete3_data/" +prename = "timewave_synthetics_data" +T=0.2 +Δt=1e-4 +Nr=226 +Ns=227 + +snr = 2.**(-3) +noise_tag = "snrm3" + +#source +offset = 0.0075 +fm = 150. + +prename2 = "paper2_concrete3_synthetics_data" +Nf=9 +freqf = np.linspace(100,300,9) #[Hz] +""" + +# Cross +path = "cross_data/" +prename = "cross_time_synthetics_data" +T=100. +Δt=1e-2 +Nr=119 +Ns=40 +amplitude = 0.01 + +snr = 2.**(6) +noise_tag = "snr6" + +#source +offset = 3.75 +fm = 0.33 + +prename2 = "cross_synthetics_data" +Nf=7 +freqf = np.array( [ 0.17, 0.2, 0.23, 0.27, 0.33, 0.5, 0.67 ] ) # [Hz] ? + +# +# Load +# +N=np.int(T/Δt) +time = np.arange(0,N,1)*Δt #[s] +freq = np.fft.rfftfreq(time.shape[-1],d=Δt) #[Hz] +data = np.zeros([Ns,Nr,N]); + +for n in range(0,N): + tmp = np.loadtxt(path+prename+"f"+str(n)+".csv",delimiter=";"); + data[:,:,n] = tmp[0:Ns,0:2*Nr:2] +signal_nrm = np.linalg.norm(np.linalg.norm(data,axis=2))**2 / Ns / Nr * Δt + +# +# Noise +# +B=2.5*fm +σ = np.sqrt(signal_nrm/(2*B*Δt*T*snr)) +white_noise = np.random.normal(0.0,σ,[Ns,Nr,N]) + +freq_noise = np.zeros([Ns,Nr,np.int(N/2)+1])*1j; +noise = np.zeros([Ns,Nr,N]) +freq_cut_idx = np.int(np.ceil(B*T)) +for s in range(0,Ns): + for r in range(0,Nr): + freq_noise[s,r,0:(freq_cut_idx+1)] = np.fft.rfft(white_noise[s,r,:])[0:(freq_cut_idx+1)] + noise[s,r,:] = np.fft.irfft(freq_noise[s,r,:]) +noise_nrm = np.linalg.norm(np.linalg.norm(noise,axis=2))**2 / Ns / Nr * Δt + +noisy_data = data + noise + +for n in range(0,N): + np.savetxt(path+prename+"_"+noise_tag+"f"+str(n)+".csv",(noisy_data[:,:,n]+0j).view(float),delimiter=";",fmt='%.18e'); + +# +# Fourier transform +# +freq = np.fft.rfftfreq(time.shape[-1],d=Δt) #[Hz] + +excitation = 2. / np.sqrt(np.pi) * freq**2 / fm**3 * np.exp(-freq**2/fm**2) * np.exp(-2j * np.pi * freq * offset) + +freq_noisy_data = np.zeros([Ns,Nr,np.int(N/2)+1])*1j; +freq_data = np.zeros([Ns,Nr,np.int(N/2)+1])*1j; +for s in range(0,Ns): + for r in range(0,Nr): + freq_noisy_data[s,r,:] = np.fft.rfft(noisy_data[s,r,:]) * Δt + freq_data[s,r,:] = np.fft.rfft(data[s,r,:]) * Δt + +# +# Frequency domain +# +freq_dataf = np.zeros([Ns,Nr,Nf])*1j; + +for f in range(0,Nf): + tmp = np.loadtxt(path+prename2+str(f)+".csv",delimiter=";"); + freq_dataf[:,:,f] = tmp[0:Ns,0:2*Nr:2] + tmp[0:Ns,1:2*Nr:2]*1j + + +#write +for f in range(0,np.size(freqf)): + idx = np.where(freq == freqf[f])[0][0] + np.savetxt(path+prename2+"_"+noise_tag+"f"+str(f)+".csv",freq_noisy_data[:,:,idx]/excitation[idx],fmt=['%.18e;%.18e']*Nr, delimiter=";");