Spaces:
Sleeping
Sleeping
Update app.py
Browse files
app.py
CHANGED
@@ -806,9 +806,36 @@ calc.print_report()
|
|
806 |
|
807 |
|
808 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
809 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
810 |
|
|
|
|
|
811 |
|
|
|
812 |
|
813 |
|
814 |
|
|
|
806 |
|
807 |
|
808 |
|
809 |
+
# Как сильно каждый элемент влияет на EC (относительно NaCl)
|
810 |
+
EC_COEFFICIENTS = {
|
811 |
+
'N (NO3-)': 0.6, # Нитраты
|
812 |
+
'N (NH4+)': 0.4, # Аммоний
|
813 |
+
'K': 0.7, # Калий
|
814 |
+
'Ca': 0.75, # Кальций
|
815 |
+
'Mg': 0.6, # Магний
|
816 |
+
'S': 0.3, # Сульфаты
|
817 |
+
'P': 0.1, # Фосфаты (почти не влияют)
|
818 |
+
# Остальные (Fe, Zn, B и т.д.) — можно не учитывать
|
819 |
+
}
|
820 |
+
|
821 |
+
|
822 |
|
823 |
+
def calculate_ec(self):
|
824 |
+
ppm = self.calculate_ppm()
|
825 |
+
ec = 0.0
|
826 |
+
for element, value in ppm.items():
|
827 |
+
if element in EC_COEFFICIENTS:
|
828 |
+
ec += value * EC_COEFFICIENTS[element]
|
829 |
+
return ec / 1000 # Переводим в mS/cm
|
830 |
+
|
831 |
+
calc = HydroCalculator(10)
|
832 |
+
calc.add_fertilizer("Кальциевая селитра", 100)
|
833 |
+
calc.add_fertilizer("Сульфат магния", 50)
|
834 |
|
835 |
+
ppm = calc.calculate_ppm()
|
836 |
+
ec = calc.calculate_ec()
|
837 |
|
838 |
+
print(f"EC раствора: {ec:.2f} mS/cm")
|
839 |
|
840 |
|
841 |
|