From 301a38da80df267fb4c609ceae8ad096be5c0eff Mon Sep 17 00:00:00 2001 From: David Stein Date: Wed, 22 Jul 2026 12:36:07 -0400 Subject: [PATCH] updated version with forward, reverse, and empirical mode --- .DS_Store | Bin 0 -> 10244 bytes .vscode/settings.json | 3 + empirical_wf_dodecanedioic_run.yaml | 10 + empirical_wf_hcl_run.yaml | 10 + empirical_wf_hexanoic_run.yaml | 10 + empirical_wf_octanoic_run.yaml | 10 + empirical_wf_suberic_run.yaml | 10 + empirical_wf_succinic_run.yaml | 10 + experimental_runs.yaml | 109 ++++ tradeoff_data.csv | 101 ++++ tradeoff_plot.png | Bin 0 -> 167967 bytes tsse_engine.py | 536 ++++++++++++++++++++ tsse_parameters.yaml | 24 + water_sources/ICP_calibration_standard.yaml | 50 ++ water_sources/agua_pozo_6.yaml | 44 ++ water_sources/epa_moderately_hard.yaml | 35 ++ water_sources/epa_very_hard.yaml | 35 ++ water_sources/mafa_20_sample3.yaml | 50 ++ water_sources/permian_brine.yaml | 65 +++ water_sources/template.yaml | 28 + 20 files changed, 1140 insertions(+) create mode 100644 .DS_Store create mode 100644 .vscode/settings.json create mode 100644 empirical_wf_dodecanedioic_run.yaml create mode 100644 empirical_wf_hcl_run.yaml create mode 100644 empirical_wf_hexanoic_run.yaml create mode 100644 empirical_wf_octanoic_run.yaml create mode 100644 empirical_wf_suberic_run.yaml create mode 100644 empirical_wf_succinic_run.yaml create mode 100644 experimental_runs.yaml create mode 100644 tradeoff_data.csv create mode 100644 tradeoff_plot.png create mode 100644 water_sources/ICP_calibration_standard.yaml create mode 100644 water_sources/agua_pozo_6.yaml create mode 100644 water_sources/epa_moderately_hard.yaml create mode 100644 water_sources/epa_very_hard.yaml create mode 100644 water_sources/mafa_20_sample3.yaml create mode 100644 water_sources/permian_brine.yaml create mode 100644 water_sources/template.yaml diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..e3ff09d7324ff63865fc665a17e25351472808b5 GIT binary patch literal 10244 zcmeHMYitx%6h3EK=nNw;t>r13Ze4kZ3$(RG5XEh`RVjrw-9jHw>g>+YPMFRtJF{DA zt=3-}swT!n<2(K#CO#7$AwClRsNfGx2q9oJG5+8e8Z}XjB*t^+&NkhaR{p4v%uVK= zd(XM&KE65MoxOJf02{JeH9!~uM0%K1ZlUZNiP_mREeXCxA&KM zm(}EMLm%o>%Hy`>s)nU!JO@M5smb0>!_w@b20LqMj^~@;21yd7K4t01NKI93O*C9L z8V!$B*KDkfhBwvJjgCs{|3hmh z7w32sb>;E+#>YdH=E?H>P*-=)p1r+&ijsBocHLB6Bd0g2uI}_H3mt-ITgtZDGJ1|+ z=}g&XcF-bAX-YLyS!%4;n`Xjzl($Z0Y}0JB9m6$jtGmn954p_7Iw~-A^*DCMjeDJS z8Pq>-RmR3>O*3a_x1MoGO49oamQ>uaW?jua_tihx+?qJIP$?~w%jLzLIm0oMroL;) z(Aaf&7{ao47Wy^0{5eiLho$sY9n=}q)4R=_H zh$0`OG8B=NPduI&*x*T)9<_iKQ5oy6Bp2kk;dHbv)E0DyPML zZ0r`*aa+^6MZ>ezJyaPAbu)dvrs*0jV)@c#WucbPPEk24_BaD-MsFRWaL()7MbUe~ zq-Q-fX@+Z07+q+uAw;YD~8j=^y_0iVHFa2~#eOYjT)3ctbca21Pj9+u+@T#2i34c>`0csJJJ zMvP+%?!cYcgDKQ-KlY=ES6hFr= z@C<&57x4$Yj6dQ}cm@B!Kk=$CS6C=0La7iDqQW|1y-+VS2-}4Yp;t%>2ly(4JYV-s ztja40kCB*-uTIY2k%XhyW?;p`+nTqx?6_eWcyR&a+^yw{7B2~}T)Uxm)BOz-VaWqI zAG?z|;nARgJRS|aIGGy1oSbsSF5-!PXeN#-C5#c`Io7)JcDX{CLrmh;Rja8wmsrHB zcSS2I6oJUgt5ww%vQk9UlswyA}+x&uEHn<`&Numz&BzO1$-N}V*)#{7yD4fB!$0;7N+qaW^e>Y z@d+HmCn@-!!DsO~d^smFC@CQJeO>ma}bBT;)+7|mP<_XI@f)pSSAP^uBAP^vM z(;-mAXB=kt|4lRh|9{i1E0}PAK!CvYBY?$?iAHwaHq$R#fox%V9-)UN)^3bT&xJD9 wgz3HOc&f1L_%*)HKfHVPn6De-(sL(2&zh($ literal 0 HcmV?d00001 diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 0000000..c9ebf2d --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "python-envs.defaultEnvManager": "ms-python.python:system" +} \ No newline at end of file diff --git a/empirical_wf_dodecanedioic_run.yaml b/empirical_wf_dodecanedioic_run.yaml new file mode 100644 index 0000000..545709a --- /dev/null +++ b/empirical_wf_dodecanedioic_run.yaml @@ -0,0 +1,10 @@ +solvent_properties: + name: WF2 + Dodecanedioic + water_solubility: + t_low_mass_fraction: 0.4299 + t_high_mass_fraction: 0.0 + ion_partition_coefficients: + t_low: + default: 0.63511 + t_high: + default: 0.579491 diff --git a/empirical_wf_hcl_run.yaml b/empirical_wf_hcl_run.yaml new file mode 100644 index 0000000..b626790 --- /dev/null +++ b/empirical_wf_hcl_run.yaml @@ -0,0 +1,10 @@ +solvent_properties: + name: WF2 + HCl + water_solubility: + t_low_mass_fraction: 0.04 + t_high_mass_fraction: 0.0 + ion_partition_coefficients: + t_low: + default: 0.0 + t_high: + default: 0.0 diff --git a/empirical_wf_hexanoic_run.yaml b/empirical_wf_hexanoic_run.yaml new file mode 100644 index 0000000..c1da86c --- /dev/null +++ b/empirical_wf_hexanoic_run.yaml @@ -0,0 +1,10 @@ +solvent_properties: + name: WF2 + Hexanoic + water_solubility: + t_low_mass_fraction: 0.5063 + t_high_mass_fraction: 0.138 + ion_partition_coefficients: + t_low: + default: 0.854573 + t_high: + default: 0.682616 diff --git a/empirical_wf_octanoic_run.yaml b/empirical_wf_octanoic_run.yaml new file mode 100644 index 0000000..04417a3 --- /dev/null +++ b/empirical_wf_octanoic_run.yaml @@ -0,0 +1,10 @@ +solvent_properties: + name: WF2 + Octanoic + water_solubility: + t_low_mass_fraction: 0.4556 + t_high_mass_fraction: 0.264 + ion_partition_coefficients: + t_low: + default: 0.640262 + t_high: + default: 0.423737 diff --git a/empirical_wf_suberic_run.yaml b/empirical_wf_suberic_run.yaml new file mode 100644 index 0000000..e546fe3 --- /dev/null +++ b/empirical_wf_suberic_run.yaml @@ -0,0 +1,10 @@ +solvent_properties: + name: WF2 + Suberic + water_solubility: + t_low_mass_fraction: 0.1884 + t_high_mass_fraction: 0.0 + ion_partition_coefficients: + t_low: + default: 0.158771 + t_high: + default: -0.138553 diff --git a/empirical_wf_succinic_run.yaml b/empirical_wf_succinic_run.yaml new file mode 100644 index 0000000..f107d62 --- /dev/null +++ b/empirical_wf_succinic_run.yaml @@ -0,0 +1,10 @@ +solvent_properties: + name: WF2 + Succinic + water_solubility: + t_low_mass_fraction: 0.4446 + t_high_mass_fraction: 0.1484 + ion_partition_coefficients: + t_low: + default: 1.499923 + t_high: + default: 0.77172 diff --git a/experimental_runs.yaml b/experimental_runs.yaml new file mode 100644 index 0000000..9b15a8e --- /dev/null +++ b/experimental_runs.yaml @@ -0,0 +1,109 @@ +# experimental_runs.yaml +# Feed TDS for all runs is approximately 238 mg/kg + +experiments: + hcl_run: + acid_used: "HCl" + inputs: + wf_density_kg_L: 0.80 + feed_water_g: 18.0030 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.1189 + acid_g: 0.1675 + measured_outputs: + hydrated_wf_g: 8.6320 + reject_water_g: null # Not measured/reported + yield_water_g: 0.4645 + dried_wf_g: 8.1675 + reject_tds_mg_kg: null # Not measured/reported + yield_tds_mg_kg: null # Not measured/reported + + hexanoic_run: + acid_used: "Hexanoic" + inputs: + feed_water_g: 18.0531 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.5090 + acid_g: 0.2473 + measured_outputs: + hydrated_wf_g: 17.7369 + reject_water_g: 10.4738 + yield_water_g: 7.5793 + dried_wf_g: 10.1576 + reject_tds_mg_kg: 164.6 + yield_tds_mg_kg: 175.11 + + octanoic_run: + acid_used: "Octanoic" + inputs: + feed_water_g: 18.1049 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.5037 + acid_g: 0.3008 + measured_outputs: + hydrated_wf_g: 16.1714 + reject_water_g: 13.8967 + yield_water_g: 4.2082 + dried_wf_g: 11.9632 + reject_tds_mg_kg: 191.48 + yield_tds_mg_kg: 220.62 + + palmitoyl_ascorbic_run: + acid_used: "6-O-Palmitoyl-L-ascorbic" + inputs: + feed_water_g: 18.0727 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.5056 + acid_g: 0.8617 + measured_outputs: + hydrated_wf_g: null # Did not form a phase barrier + reject_water_g: null + yield_water_g: null + dried_wf_g: null + reject_tds_mg_kg: null + yield_tds_mg_kg: null + + succinic_run: + acid_used: "Succinic" + inputs: + feed_water_g: 18.0481 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.5479 + acid_g: 0.2764 + measured_outputs: + hydrated_wf_g: 15.8887 + reject_water_g: 12.5214 + yield_water_g: 5.5267 + dried_wf_g: 10.3620 + reject_tds_mg_kg: 112.66 + yield_tds_mg_kg: 200.82 + + suberic_run: + acid_used: "Suberic" + inputs: + feed_water_g: 18.2303 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.5123 + acid_g: 0.3638 + measured_outputs: + hydrated_wf_g: 10.9361 + reject_water_g: 14.8307 + yield_water_g: 3.3996 + dried_wf_g: 7.5365 + reject_tds_mg_kg: 237.62 + yield_tds_mg_kg: 242.44 + + dodecanedioic_run: + acid_used: "Dodecanedioic" + inputs: + feed_water_g: 18.0421 + feed_tds_mg_kg: 238.0 + wf2_base_g: 8.5123 + acid_g: 0.4817 + measured_outputs: + hydrated_wf_g: 15.7753 + reject_water_g: 10.4636 + yield_water_g: 7.5785 + dried_wf_g: 8.1968 + reject_tds_mg_kg: 189.08 + yield_tds_mg_kg: 158.80 \ No newline at end of file diff --git a/tradeoff_data.csv b/tradeoff_data.csv new file mode 100644 index 0000000..40f9a08 --- /dev/null +++ b/tradeoff_data.csv @@ -0,0 +1,101 @@ +S_water_low_mass_fraction,S_water_high_mass_fraction +0.5566,0.0050 +0.5593,0.0190 +0.5621,0.0327 +0.5649,0.0463 +0.5677,0.0596 +0.5705,0.0727 +0.5733,0.0856 +0.5761,0.0983 +0.5789,0.1109 +0.5817,0.1232 +0.5845,0.1354 +0.5873,0.1474 +0.5901,0.1592 +0.5929,0.1709 +0.5956,0.1824 +0.5984,0.1937 +0.6012,0.2049 +0.6040,0.2159 +0.6068,0.2268 +0.6096,0.2375 +0.6124,0.2481 +0.6152,0.2586 +0.6180,0.2689 +0.6208,0.2790 +0.6236,0.2890 +0.6264,0.2989 +0.6292,0.3087 +0.6319,0.3183 +0.6347,0.3279 +0.6375,0.3373 +0.6403,0.3465 +0.6431,0.3557 +0.6459,0.3647 +0.6487,0.3737 +0.6515,0.3825 +0.6543,0.3912 +0.6571,0.3998 +0.6599,0.4083 +0.6627,0.4167 +0.6655,0.4250 +0.6683,0.4332 +0.6710,0.4413 +0.6738,0.4493 +0.6766,0.4572 +0.6794,0.4651 +0.6822,0.4728 +0.6850,0.4804 +0.6878,0.4880 +0.6906,0.4954 +0.6934,0.5028 +0.6962,0.5101 +0.6990,0.5173 +0.7018,0.5245 +0.7046,0.5315 +0.7073,0.5385 +0.7101,0.5454 +0.7129,0.5523 +0.7157,0.5590 +0.7185,0.5657 +0.7213,0.5723 +0.7241,0.5789 +0.7269,0.5853 +0.7297,0.5917 +0.7325,0.5981 +0.7353,0.6043 +0.7381,0.6105 +0.7409,0.6167 +0.7436,0.6228 +0.7464,0.6288 +0.7492,0.6347 +0.7520,0.6406 +0.7548,0.6465 +0.7576,0.6522 +0.7604,0.6580 +0.7632,0.6636 +0.7660,0.6692 +0.7688,0.6748 +0.7716,0.6803 +0.7744,0.6857 +0.7772,0.6911 +0.7799,0.6964 +0.7827,0.7017 +0.7855,0.7070 +0.7883,0.7122 +0.7911,0.7173 +0.7939,0.7224 +0.7967,0.7274 +0.7995,0.7324 +0.8023,0.7374 +0.8051,0.7423 +0.8079,0.7471 +0.8107,0.7520 +0.8135,0.7567 +0.8162,0.7615 +0.8190,0.7661 +0.8218,0.7708 +0.8246,0.7754 +0.8274,0.7799 +0.8302,0.7845 +0.8330,0.7889 diff --git a/tradeoff_plot.png b/tradeoff_plot.png new file mode 100644 index 0000000000000000000000000000000000000000..8420125181e062b3bc5634b9fd11266c10efe559 GIT binary patch literal 167967 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 Reject Brine left behind: {sum(reject_aq_masses.values()):.2f} g") + print(f" -> Water/Salts pulled into solvent: {sum(loaded_org_masses.values()):.2f} g") + + # ========================================== + # STAGE 2: RECOVERY + # ========================================== + print("\n⚙️ Running Stage 2 Recovery (T_high)...") + initial_guesses_2 = [10.0 if sp == 'H2O' else 0.0 for sp in species_list] + + solution_2 = root( + stage_2_residuals, + x0=initial_guesses_2, + args=(species_list, loaded_org_masses, solvent_mass_g, params), + method='hybr' + ) + + if not solution_2.success: + print("❌ Stage 2 Solver failed to converge:", solution_2.message) + return + + print("✅ Stage 2 Equilibrium Reached!") + + # Unpack Stage 2 solution + final_org_masses = {species: solution_2.x[i] for i, species in enumerate(species_list)} + yield_aq_masses = {species: loaded_org_masses[species] - solution_2.x[i] for i, species in enumerate(species_list)} + + # Convert masses back to volume and mg/L + reject_vol_L, reject_conc = convert_mass_to_concentration(reject_aq_masses) + yield_vol_L, yield_conc = convert_mass_to_concentration(yield_aq_masses) + yield_tds = sum(yield_conc.values()) + + # Output Results + print("\n==========================================") + print("🏆 FINAL PROCESS OUTPUT") + print("==========================================") + + print("\n--- Reject Brine ---") + print(f" Volume: {reject_vol_L:.3f} L") + print(f" Na: {reject_conc.get('Na', 0):.1f} mg/L") + print(f" Cl: {reject_conc.get('Cl', 0):.1f} mg/L") + + print("\n--- Yield Water (Agricultural Product) ---") + print(f" Volume: {yield_vol_L:.3f} L") + print(f" Total TDS: {yield_tds:.1f} mg/L") + for sp, conc in sorted(yield_conc.items()): + print(f" {sp}: {conc:.2f} mg/L") + + print("\n--- Recycled Working Fluid (Dry) ---") + print(f" Solvent (Base): {solvent_mass_g:.2f} g") + print(f" Residual H2O: {final_org_masses['H2O']:.2f} g") + +def run_reverse_mode(target_yield_g, solvent_mass_g, s_low_max=0.833, steps=100): + """ + Sweeps S_low up to the 400% volumetric expansion limit (0.833 mass fraction) + and calculates the required S_high to hit the target yield. + Exports a .csv and saves a .png plot. + """ + print(f"\n⚙️ Running Reverse Mode Parameter Sweep...") + print(f"Targeting {target_yield_g:.1f} g of water yield from {solvent_mass_g:.1f} g of solvent.") + + target_ratio = target_yield_g / solvent_mass_g + + # Calculate the absolute minimum S_low required to even hold the target yield + # (If S_high was 0, what must S_low be?) + s_low_min = target_ratio / (1.0 + target_ratio) + + if s_low_max <= s_low_min: + print("❌ Error: The target yield requires more water capacity than your maximum limit allows.") + return + + s_low_values = np.linspace(s_low_min + 0.001, s_low_max, steps) + valid_s_low = [] + s_high_values = [] + + for s_low in s_low_values: + # Water held per gram of dry solvent at T_low + water_ratio_low = s_low / (1.0 - s_low) + + # Water that MUST be held at T_high to expel the target amount + water_ratio_high = water_ratio_low - target_ratio + + if water_ratio_high >= 0: + s_high = water_ratio_high / (1.0 + water_ratio_high) + valid_s_low.append(s_low) + s_high_values.append(s_high) + + # 1. Export to CSV + csv_filename = "tradeoff_data.csv" + with open(csv_filename, mode='w', newline='') as file: + writer = csv.writer(file) + writer.writerow(["S_water_low_mass_fraction", "S_water_high_mass_fraction"]) + for low, high in zip(valid_s_low, s_high_values): + writer.writerow([f"{low:.4f}", f"{high:.4f}"]) + print(f"✅ Data exported to {csv_filename}") + + # 2. Generate and Save Plot (Headless mode) + plt.figure(figsize=(8, 6)) + plt.plot(valid_s_low, s_high_values, 'b-', linewidth=2, label="Required Thermodynamic Path") + + # Shade the physically impossible region (below zero) + plt.axhline(0, color='black', linewidth=1) + plt.fill_between(valid_s_low, s_high_values, 0, alpha=0.1, color='blue') + + plt.title(f"Working Fluid Design Space\n(Target: {target_yield_g:.0f}g Yield per {solvent_mass_g:.0f}g Solvent)") + plt.xlabel("Water Uptake at Extraction ($T_{low}$) [Mass Fraction]") + plt.ylabel("Water Uptake at Recovery ($T_{high}$) [Mass Fraction]") + plt.xlim([0.5, 0.85]) + plt.ylim([0, max(s_high_values) * 1.1]) + plt.grid(True, linestyle='--', alpha=0.7) + plt.legend() + + png_filename = "tradeoff_plot.png" + plt.savefig(png_filename, dpi=300, bbox_inches='tight') + print(f"✅ Plot saved to {png_filename}") + plt.close() # Prevents the plot from popping up and halting the script + +def run_empirical_mode(experiment_name, run_data): + """ + Parses lab data from a physical experiment, runs integrity checks, + and calculates empirical water solubilities and volumetric salt partition coefficients. + """ + print(f"\n--------------------------------------------------") + print(f"🔬 Analyzing: {experiment_name}") + print(f"--------------------------------------------------") + + inputs = run_data['inputs'] + outputs = run_data['measured_outputs'] + + if outputs['hydrated_wf_g'] is None: + print(f"❌ Incomplete data for extraction stage. Cannot calculate thermodynamics.") + return + + # ========================================== + # 1. ABSOLUTE WATER UPTAKE + # ========================================== + dry_wf_in = inputs['wf2_base_g'] + inputs['acid_g'] + + water_extracted_g = outputs['hydrated_wf_g'] - dry_wf_in + s_low = water_extracted_g / outputs['hydrated_wf_g'] + + water_trapped_g = outputs['dried_wf_g'] - dry_wf_in + s_high = max(0.0, water_trapped_g / outputs['dried_wf_g']) + + print("\n--- Empirical Water Solubility (Absolute) ---") + print(f" Dry WF Input: {dry_wf_in:.4f} g") + print(f" S_water at T_low: {s_low*100:.1f}% by mass ({water_extracted_g:.4f} g extracted)") + print(f" S_water at T_high: {s_high*100:.1f}% by mass ({max(0.0, water_trapped_g):.4f} g trapped)") + + # ========================================== + # 2. VOLUMETRIC SALT PARTITIONING (mg/L) + # ========================================== + k_low, k_high = 0.0, 0.0 + true_reject_mass_g = inputs['feed_water_g'] - water_extracted_g + + if outputs['reject_tds_mg_kg'] is not None and outputs['yield_tds_mg_kg'] is not None: + # Calculate absolute salt (mg) + feed_salt_mg = inputs['feed_water_g'] * (inputs['feed_tds_mg_kg'] / 1000.0) + reject_salt_mg = true_reject_mass_g * (outputs['reject_tds_mg_kg'] / 1000.0) + yield_salt_mg = outputs['yield_water_g'] * (outputs['yield_tds_mg_kg'] / 1000.0) + + # --- Density & Volume Conversions --- + wf_density_kg_L = inputs.get('wf_density_kg_L', 0.80) + + # Aqueous Volumes (using empirical density approximation) + reject_density = 1.0 + (outputs['reject_tds_mg_kg'] / 1_000_000.0) + v_aq_reject_L = (true_reject_mass_g / 1000.0) / reject_density + + yield_density = 1.0 + (outputs['yield_tds_mg_kg'] / 1_000_000.0) + v_aq_yield_L = (outputs['yield_water_g'] / 1000.0) / yield_density + + # Organic Volumes (Additive assumption: V_total = V_dry_wf + V_water) + v_dry_wf_L = (dry_wf_in / 1000.0) / wf_density_kg_L + v_org_hydrated_L = v_dry_wf_L + (water_extracted_g / 1000.0) / 1.0 # water density ~1.0 kg/L + v_org_dried_L = v_dry_wf_L + (water_trapped_g / 1000.0) / 1.0 + + # --- K_low (Volumetric) --- + salt_transferred_mg = feed_salt_mg - reject_salt_mg + c_org_hydrated_vol = salt_transferred_mg / v_org_hydrated_L if v_org_hydrated_L > 0 else 0 + c_aq_reject_vol = reject_salt_mg / v_aq_reject_L if v_aq_reject_L > 0 else 0 + k_low = c_org_hydrated_vol / c_aq_reject_vol if c_aq_reject_vol > 0 else 0 + + # --- K_high (Volumetric) --- + salt_trapped_mg = salt_transferred_mg - yield_salt_mg + c_org_dried_vol = salt_trapped_mg / v_org_dried_L if v_org_dried_L > 0 else 0 + c_aq_yield_vol = yield_salt_mg / v_aq_yield_L if v_aq_yield_L > 0 else 0 + k_high = c_org_dried_vol / c_aq_yield_vol if c_aq_yield_vol > 0 else 0 + + print("\n--- Empirical Salt Partitioning (Volumetric mg/L) ---") + print(f" Calculated K_salt at T_low: {k_low:.5f}") + print(f" Calculated K_salt at T_high: {k_high:.5f}") + + # ========================================== + # 3. MASS CLOSURE & DATA INTEGRITY REPORT + # ========================================== + print("\n--- Mass Closure & Data Integrity Report ---") + + stage2_input = outputs['hydrated_wf_g'] + stage2_output = outputs['yield_water_g'] + outputs['dried_wf_g'] + stage2_diff = stage2_input - stage2_output + + if abs(stage2_diff) < 0.001: + print(" ✅ Stage 2 Mass Balance: Perfect closure.") + else: + print(f" ❌ Stage 2 Mass Balance Error: {stage2_diff:+.4f} g missing during separation.") + + if water_trapped_g < -0.01: + organic_loss = abs(water_trapped_g) + loss_pct = (organic_loss / dry_wf_in) * 100 + print(f" ⚠️ Organic Phase Loss: {organic_loss:.4f} g ({loss_pct:.1f}%) of the working fluid was lost.") + else: + print(" ✅ Organic Phase Mass: No obvious solvent loss detected.") + + reported_reject = outputs.get('reject_water_g') + if reported_reject is not None: + table_artifact = inputs['feed_water_g'] - outputs['yield_water_g'] + if abs(reported_reject - table_artifact) < 0.001: + print(f" ⚠️ Reject Mass Artifact: The reported Reject water mass appears to be a spreadsheet calculation.") + print(f" -> Script automatically corrected Reject to: {true_reject_mass_g:.4f} g") + + # ========================================== + # 4. EXPORT TO SPECIFIC YAML + # ========================================== + acid_name = run_data.get('acid_used', 'Unknown_Acid') + export_data = { + "solvent_properties": { + "name": f"WF2 + {acid_name}", + "water_solubility": { + "t_low_mass_fraction": float(round(s_low, 4)), + "t_high_mass_fraction": float(round(s_high, 4)) + }, + "ion_partition_coefficients": { + "t_low": {"default": float(round(k_low, 6))}, + "t_high": {"default": float(round(k_high, 6))} + } + } + } + + output_filename = f"empirical_wf_{experiment_name}.yaml" + with open(output_filename, 'w') as file: + yaml.safe_dump(export_data, file, sort_keys=False) + +def stage_1_residuals(x, species_list, feed_masses_g, solvent_mass_g, params): + """ + The physics engine core. Evaluates the mass balances and equilibrium equations. + x = array of guesses for the mass of each species in the organic phase. + """ + k_dict = params['solvent_properties']['ion_partition_coefficients']['t_low'] + default_k = k_dict['default'] + water_solubility = params['solvent_properties']['water_solubility']['t_low_mass_fraction'] + + # 1. Distribute the mass based on Python's current guesses (x) + org_masses = {species: x[i] for i, species in enumerate(species_list)} + aq_masses = {species: feed_masses_g[species] - x[i] for i, species in enumerate(species_list)} + + # 2. Calculate dynamic totals and volumes + total_org_mass = solvent_mass_g + sum(org_masses.values()) + # Convert density from kg/L to g/L for the math + solvent_density_g_L = params['solvent_properties'].get('density_kg_L', 0.8) * 1000.0 + org_vol_L = total_org_mass / solvent_density_g_L + + total_aq_mass = sum(aq_masses.values()) + aq_ion_mass = total_aq_mass - aq_masses['H2O'] + aq_density = calculate_brine_density(aq_ion_mass, total_aq_mass) + aq_vol_L = total_aq_mass / (aq_density * 1000.0) + + # 3. Calculate the residuals (how far off the physics are from perfect equilibrium) + residuals = [] + for species in species_list: + m_org = org_masses[species] + m_aq = aq_masses[species] + + if species == 'H2O': + # Is the solvent saturated with water? + actual_fraction = m_org / total_org_mass + residuals.append(water_solubility - actual_fraction) + else: + # Did the ions partition correctly? + c_org = m_org / org_vol_L + c_aq = m_aq / aq_vol_L if aq_vol_L > 0 else 0 + k_val = k_dict.get(species, default_k) + + residuals.append((k_val * c_aq) - c_org) + + return residuals + +def stage_2_residuals(x, species_list, loaded_org_masses_g, solvent_mass_g, params): + """ + Evaluates the recovery stage at T_high. + x = array of guesses for the mass of each species STAYING in the organic phase. + """ + k_dict = params['solvent_properties']['ion_partition_coefficients']['t_high'] + default_k = k_dict['default'] + water_solubility = params['solvent_properties']['water_solubility']['t_high_mass_fraction'] + + # 1. Distribute the mass based on guesses + # x is what stays in the organic phase. The rest is expelled as our aqueous yield. + org_masses = {species: x[i] for i, species in enumerate(species_list)} + aq_masses = {species: loaded_org_masses_g[species] - x[i] for i, species in enumerate(species_list)} + + # 2. Calculate dynamic totals and volumes + total_org_mass = solvent_mass_g + sum(org_masses.values()) + # Convert density from kg/L to g/L for the math + solvent_density_g_L = params['solvent_properties'].get('density_kg_L', 0.8) * 1000.0 + org_vol_L = total_org_mass / solvent_density_g_L + + total_aq_mass = sum(aq_masses.values()) + + # Prevent division by zero if the solver guesses 0 aqueous mass + if total_aq_mass > 0: + aq_ion_mass = total_aq_mass - aq_masses['H2O'] + aq_density = calculate_brine_density(aq_ion_mass, total_aq_mass) + aq_vol_L = total_aq_mass / (aq_density * 1000.0) + else: + aq_vol_L = 0.0001 # tiny buffer + + # 3. Calculate the residuals + residuals = [] + for species in species_list: + m_org = org_masses[species] + m_aq = aq_masses[species] + + if species == 'H2O': + actual_fraction = m_org / total_org_mass if total_org_mass > 0 else 0 + residuals.append(water_solubility - actual_fraction) + else: + c_org = m_org / org_vol_L if org_vol_L > 0 else 0 + c_aq = m_aq / aq_vol_L if aq_vol_L > 0 else 0 + k_val = k_dict.get(species, default_k) + + residuals.append((k_val * c_aq) - c_org) + + return residuals + +def convert_mass_to_concentration(masses_g): + """ + Converts an array of absolute masses (grams) back into + Total Volume (L) and Concentrations (mg/L). + """ + total_mass_g = sum(masses_g.values()) + + # Safety check: if the phase is virtually empty, return zeros + if total_mass_g < 0.001: + return 0.0, {} + + ion_mass_g = total_mass_g - masses_g.get('H2O', 0.0) + + # Calculate Density and Volume + density_kg_L = calculate_brine_density(ion_mass_g, total_mass_g) + volume_L = (total_mass_g / 1000.0) / density_kg_L + + # Calculate mg/L for each ion + concentrations_mg_L = {} + for species, mass in masses_g.items(): + if species != 'H2O' and mass > 0.0001: + # (grams * 1000) / Liters = mg/L + concentrations_mg_L[species] = (mass * 1000.0) / volume_L + + return volume_L, concentrations_mg_L + +def process_all_empirical_runs(experimental_yaml_path="experimental_runs.yaml"): + """ + Loops through all experiments in the YAML file and processes them. + Structured to easily drop in a hashing/caching mechanism later. + """ + print(f"\n📂 Loading batch experimental data from {experimental_yaml_path}...") + data = load_yaml(experimental_yaml_path) + experiments = data.get('experiments', {}) + + # ========================================== + # FUTURE CACHE SETUP + # ========================================== + # hash_file = ".empirical_cache.yaml" + # previous_hashes = load_yaml(hash_file) if os.path.exists(hash_file) else {} + # current_hashes = {} + + processed_count = 0 + + for experiment_name, run_data in experiments.items(): + # ========================================== + # FUTURE CACHE CHECK + # ========================================== + # run_hash = hashlib.sha256(str(run_data).encode('utf-8')).hexdigest() + # current_hashes[experiment_name] = run_hash + # if previous_hashes.get(experiment_name) == run_hash: + # print(f"⏩ Skipping {experiment_name} (No changes detected).") + # continue + + # Pass the dictionary directly to the math engine + run_empirical_mode(experiment_name, run_data) + processed_count += 1 + + # ========================================== + # FUTURE CACHE SAVE + # ========================================== + # with open(hash_file, 'w') as f: + # yaml.safe_dump(current_hashes, f) + + print(f"\n🎉 Finished processing {processed_count} experimental runs!") + +def main(): + print("🌊 Starting TS-LLE Solver...") + + # 1. Load Files + water_file = "water_sources/permian_brine.yaml" + params_file = "tsse_parameters.yaml" + + feed_water = load_yaml(water_file) + params = load_yaml(params_file) + + # ========================================== + # NEW: EMPIRICAL OVERRIDE LOGIC + # ========================================== + empirical_file = params['process_settings'].get('empirical_solvent_file') + + if empirical_file and os.path.exists(empirical_file): + print(f"🔄 Overwriting default solvent thermodynamics with: {empirical_file}") + emp_data = load_yaml(empirical_file) + emp_props = emp_data.get('solvent_properties', {}) + + # Safely overwrite only the keys generated by the empirical parser + if 'name' in emp_props: + params['solvent_properties']['name'] = emp_props['name'] + if 'water_solubility' in emp_props: + params['solvent_properties']['water_solubility'] = emp_props['water_solubility'] + if 'ion_partition_coefficients' in emp_props: + params['solvent_properties']['ion_partition_coefficients'] = emp_props['ion_partition_coefficients'] + + elif empirical_file: + print(f"⚠️ WARNING: Specified empirical file '{empirical_file}' not found. Using defaults.") + + # 2. Extract Base Variables + mode = params['process_settings'].get('mode', 'forward') + feed_volume = params['process_settings']['feed_volume_L'] + solvent_volume_L = params['process_settings']['solvent_volume_L'] + ions_dict = feed_water.get('ions', {}) + + # Dynamically calculate solvent mass based on YAML density (which is safely preserved!) + density_kg_L = params['solvent_properties'].get('density_kg_L', 0.8) + solvent_mass_g = solvent_volume_L * (density_kg_L * 1000.0) + + # 3. Route to the appropriate engine + if mode == "reverse": + target_reject_L = params['process_settings'].get('target_reject_volume_L', feed_volume / 2.0) + yield_volume_L = feed_volume - target_reject_L + target_yield_g = yield_volume_L * 1000.0 + + s_low_max = params['solvent_properties'].get('max_water_uptake_frac', 0.833) + run_reverse_mode(target_yield_g, solvent_mass_g, s_low_max) + + elif mode == "forward": + run_forward_mode(params, ions_dict, feed_volume, solvent_mass_g) + + elif mode == "empirical": + process_all_empirical_runs("experimental_runs.yaml") + + else: + print(f"❌ Unknown mode selected in config: {mode}") + +if __name__ == "__main__": + main() \ No newline at end of file diff --git a/tsse_parameters.yaml b/tsse_parameters.yaml index e69de29..2b5f65b 100644 --- a/tsse_parameters.yaml +++ b/tsse_parameters.yaml @@ -0,0 +1,24 @@ +# tsse_parameters.yaml + +process_settings: + mode: "forward" # options are forward, reverse, and empirical + empirical_solvent_file: "empirical_wf_hexanoic_run.yaml" # NEW: Point to your empirical data! + feed_volume_L: 2.0 + solvent_volume_L: 1.0 + target_reject_volume_L: 1.0 # NEW: What volume do you want left behind? + t_low_C: 25.0 + t_high_C: 70.0 + +solvent_properties: + name: "Generic DIPA-like Amine" + density_kg_L: 0.80 # NEW: Solvent density + max_water_uptake_frac: 0.833 # NEW: The 400% volumetric expansion limit + water_solubility: + t_low_mass_fraction: 0.35 + t_high_mass_fraction: 0.05 + + ion_partition_coefficients: + t_low: + default: 0.001 + t_high: + default: 0.0001 \ No newline at end of file diff --git a/water_sources/ICP_calibration_standard.yaml b/water_sources/ICP_calibration_standard.yaml new file mode 100644 index 0000000..e273876 --- /dev/null +++ b/water_sources/ICP_calibration_standard.yaml @@ -0,0 +1,50 @@ +metadata: + name: "ICP Calibration Standard" + date_sampled: "Unknown" + source_document: + notes: "Created for Permian Brine at 200:1 or 150:1 dilution" + +properties: + pH: + value: + conductivity: + value: + unit: "dS/m" + +ions: + Cl: + value: 853.49 + unit: "mg/L" + SO4: + value: 149.8 + unit: "mg/L" + NO3: + value: 0 + unit: "mg/L" + F: + value: 0 + unit: "mg/L" + Ca: + value: 50 + unit: "mg/L" + Mg: + value: 0 + unit: "mg/L" + Na: + value: 500 + unit: "mg/L" + K: + value: 50 + unit: "mg/L" + B: + value: 10 + unit: "mg/L" + Si: + value: 0 + unit: "mg/L" + Li: + value: 10 + unit: "mg/L" + Sr: + value: 10 + unit: "mg/L" diff --git a/water_sources/agua_pozo_6.yaml b/water_sources/agua_pozo_6.yaml new file mode 100644 index 0000000..6d19e90 --- /dev/null +++ b/water_sources/agua_pozo_6.yaml @@ -0,0 +1,44 @@ +metadata: + name: "Agua Pozo - 6" + date_sampled: "Unknown" + source_document: "agua pozo.pdf" + notes: "Units for some cations are suspiciously listed as g/100g. Requires conversion/validation." + +properties: + pH: + value: 7.662 + conductivity: + value: 8.829 + unit: "dS/m" + +ions: + Cl: + value: 1740.514 + unit: "mg/L" + SO4: + value: 2002.490 + unit: "mg/L" + NO3: + value: 59.032 + unit: "mg/L" + F: + value: 2.101 + unit: "mg/L" + Ca: + value: 355.913 + unit: "mg/L" + Mg: + value: 310.033 + unit: "mg/L" + Na: + value: 19.637 + unit: "mg/L" + K: + value: 0.521 + unit: "mg/L" + B: + value: 1.362 + unit: "mg/Kg" + Si: + value: 9.491 + unit: "mg/Kg" \ No newline at end of file diff --git a/water_sources/epa_moderately_hard.yaml b/water_sources/epa_moderately_hard.yaml new file mode 100644 index 0000000..8c1d187 --- /dev/null +++ b/water_sources/epa_moderately_hard.yaml @@ -0,0 +1,35 @@ +metadata: + name: "EPA Moderately Hard Reconstituted Water" + date_sampled: "Standard Template" + source_document: "EPA-821-R-02-012" + notes: "Official EPA WET Testing baseline. Target Hardness: 80-100 mg/L. Target pH: 7.4-7.8." + +properties: + pH: + value: 7.6 + alkalinity: + value: 65.0 + unit: "mg/L CaCO3" + +ions: + Ca: + value: 14.0 + unit: "mg/L" + Mg: + value: 12.1 + unit: "mg/L" + Na: + value: 26.3 + unit: "mg/L" + K: + value: 2.1 + unit: "mg/L" + SO4: + value: 81.4 + unit: "mg/L" + Cl: + value: 1.90 + unit: "mg/L" + HCO3: + value: 69.7 + unit: "mg/L" \ No newline at end of file diff --git a/water_sources/epa_very_hard.yaml b/water_sources/epa_very_hard.yaml new file mode 100644 index 0000000..d25b66c --- /dev/null +++ b/water_sources/epa_very_hard.yaml @@ -0,0 +1,35 @@ +metadata: + name: "EPA Very Hard Reconstituted Water" + date_sampled: "Standard Template" + source_document: "EPA-821-R-02-012" + notes: "Official EPA WET Testing baseline. Target Hardness: 280-320 mg/L. Target pH: 8.0-8.4." + +properties: + pH: + value: 8.2 + alkalinity: + value: 235.0 + unit: "mg/L CaCO3" + +ions: + Ca: + value: 56.0 + unit: "mg/L" + Mg: + value: 48.4 + unit: "mg/L" + Na: + value: 105.2 + unit: "mg/L" + K: + value: 8.4 + unit: "mg/L" + SO4: + value: 325.6 + unit: "mg/L" + Cl: + value: 7.6 + unit: "mg/L" + HCO3: + value: 278.8 + unit: "mg/L" \ No newline at end of file diff --git a/water_sources/mafa_20_sample3.yaml b/water_sources/mafa_20_sample3.yaml new file mode 100644 index 0000000..c2dc9c9 --- /dev/null +++ b/water_sources/mafa_20_sample3.yaml @@ -0,0 +1,50 @@ +metadata: + name: "MAFA 20 - Sample 3" + date_sampled: "2025-06-15" + source_document: "MAFA 20.pdf" + notes: "Grapes crop well. Sulfur reported as elemental S, not SO4." + +properties: + pH: + value: 7.40 + TDS: + value: 1569 + unit: "mg/L" + conductivity: + value: 2.60 + unit: "dS/m" + SAR: + value: 6 + unit: "Calculated" + +ions: + Ca: + value: 113 + unit: "mg/L" + Mg: + value: 57 + unit: "mg/L" + K: + value: 7.83 + unit: "mg/L" + Na: + value: 331 + unit: "mg/L" + HCO3: + value: 674 + unit: "mg/L" + Cl: + value: 652 + unit: "mg/L" + NO3: + value: "<10" + unit: "mg/L" + B: + value: 0.19 + unit: "mg/L" + Mo: + value: 0.001 + unit: "mg/L" + S: + value: 60 + unit: "mg/L" \ No newline at end of file diff --git a/water_sources/permian_brine.yaml b/water_sources/permian_brine.yaml new file mode 100644 index 0000000..01a8688 --- /dev/null +++ b/water_sources/permian_brine.yaml @@ -0,0 +1,65 @@ +metadata: + name: "Permian Clean Brine" + date_sampled: "2023-05-16" + source_document: "Representative_Permian_Clean_Brine_Composition-1(1).26Feb26.pdf" + notes: "Extreme salinity. Lab noted a 10.5% charge imbalance." + +properties: + pH: + value: 7.1 + TDS: + value: 101941 + unit: "mg/L" + alkalinity: + value: 482 + unit: "mg/L CaCO3" + +ions: + Na: + value: 35189 + unit: "mg/L" + Cl: + value: 63300 + unit: "mg/L" + Ca: + value: 1106 + unit: "mg/L" + Mg: + value: 190 + unit: "mg/L" + K: + value: 387 + unit: "mg/L" + SO4: + value: 420 + unit: "mg/L" + HCO3: + value: 588 + unit: "mg/L" + Sr: + value: 389 + unit: "mg/L" + Ba: + value: 1.3 + unit: "mg/L" + Fe: + value: 27.6 + unit: "mg/L" + Mn: + value: 0.4 + unit: "mg/L" + Li: + value: 28.2 + unit: "mg/L" + Zn: + value: 4.1 + unit: "mg/L" + PO4: + value: 2.7 + unit: "mg/L" + H3BO3: + value: 147 + unit: "mg/L" + SiO2: + value: 31.9 + unit: "mg/L" \ No newline at end of file diff --git a/water_sources/template.yaml b/water_sources/template.yaml new file mode 100644 index 0000000..c572e2a --- /dev/null +++ b/water_sources/template.yaml @@ -0,0 +1,28 @@ +metadata: + name: "" + date_sampled: "" + source_document: "" + notes: "" + +properties: + pH: + value: + TDS: + value: + unit: "mg/L" + conductivity: + value: + unit: "uS/cm" + alkalinity: + value: + unit: "mg/L CaCO3" + +# List ions exactly as reported. The Python script will translate units to mol/L. +ions: + Na: + value: + unit: "mg/L" + Cl: + value: + unit: "mg/L" + # Add other ions as needed... \ No newline at end of file