From ab5f754b2af16d316417b804f921ebb8d1ba2a7e Mon Sep 17 00:00:00 2001 From: jens Date: Wed, 14 Jun 2023 18:56:21 +0200 Subject: [PATCH] - refactored --- brew/water_optimizer.m | 16 ++++++---------- 1 file changed, 6 insertions(+), 10 deletions(-) diff --git a/brew/water_optimizer.m b/brew/water_optimizer.m index 34db898..4dd2e85 100644 --- a/brew/water_optimizer.m +++ b/brew/water_optimizer.m @@ -43,8 +43,8 @@ k_Cl_0_mg = 5; % mg/l k_SO4_0_mg = 50; % mg/l # Target Profile -k_Ca_1_mg = 50; % mg/l -k_Mg_1_mg = 2; % mg/l +k_Ca_1_mg = 100; % mg/l +k_Mg_1_mg = 40; % mg/l k_Na_1_mg = 40; % mg/l k_Cl_1_mg = 100; % mg/l k_SO4_1_mg = 50; % mg/l @@ -64,7 +64,7 @@ n_Cl_1 = k_Cl_1_mg/sum(M_EL_Cl); n_SO4_1 = k_SO4_1_mg/sum(M_EL_SO4); # Initial profile -m_A0 = k_ve*create_mol([EL_Ca EL_Mg EL_Na EL_Cl EL_SO4], [n_Ca_0 n_Mg_0 n_Na_0 n_Cl_0 n_SO4_0], mol_masses); +m_A0 = k_ve*create_mol([EL_Ca EL_Mg EL_Na EL_Cl EL_SO4], [n_Ca_0 n_Mg_0 n_Na_0 n_Cl_0 n_SO4_0], mol_masses) # Target profile m_T = create_mol([EL_Ca EL_Mg EL_Na EL_Cl EL_SO4], [n_Ca_1 n_Mg_1 n_Na_1 n_Cl_1 n_SO4_1], mol_masses); @@ -77,10 +77,6 @@ end if TEST_SUITE == 2, # Create molar masses of allowed substances, difficult Mp = [M_CaSO4+2*M_H2O; M_CaCl2+2*M_H2O; M_MgSO4+7*M_H2O; M_NaCl; M_HCl]; -Mp = [M_CaCl2+2*M_H2O; M_MgSO4+7*M_H2O; M_NaCl; M_HCl]; -Mp = [M_CaCl2+2*M_H2O; M_MgSO4+7*M_H2O; M_NaCl]; -Mp = [M_CaSO4+2*M_H2O; M_CaCl2+2*M_H2O; M_NaCl]; -#Mp = [M_MgSO4+7*M_H2O; M_CaCl2+2*M_H2O; M_NaCl]; end # Init vecfit vars @@ -89,14 +85,14 @@ end na = zeros(N_subst, 1); # ignore oxygen -mask = m_T > 0; +ignore_mask = m_T > 0; _dn = []; CONV_COUNTER_RELOAD = 20; Dn0 = 1; conv_counter = CONV_COUNTER_RELOAD; while true, - [m_A1, na, Dn1] = vecfit(Mp, mask, m_T, m_A0, na, learning_rate.*(1-exp(-Dn0))); + [m_A1, na, Dn1] = vecfit(Mp, ignore_mask, m_T, m_A0, na, learning_rate.*(1-exp(-Dn0))); Dc = round_n(Dn1,2); if Dn0 == Dc, if conv_counter == 0, @@ -113,7 +109,7 @@ end plot(1:length(_dn), _dn); grid(); title("Distance"); xlabel("Iteration"); ylabel("Dn") Dn1 -m_elem=sum(Mp.*na) +m_elem=sum(Mp.*na); m_subst_add_g_per_hl = na.*sum(Mp,2)/1000*100 m_T m_A1