- refactored
This commit is contained in:
+6
-10
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user