DmitrMakeev commited on
Commit
4bb4662
·
verified ·
1 Parent(s): 92a371c

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +8 -11
app.py CHANGED
@@ -720,8 +720,8 @@ ALL_FERTILIZERS = {
720
  "Сульфат магния": {
721
  "Mg": 0.098, "S": 0.13
722
  },
723
- "Монофосфат калия": {
724
- "P": 0.227, "K": 0.287
725
  }
726
  }
727
 
@@ -743,7 +743,7 @@ class NutrientCalculator:
743
  "Кальциевая селитра": ALL_FERTILIZERS["Кальциевая селитра"],
744
  "Аммоний азотнокислый": ALL_FERTILIZERS["Аммоний азотнокислый"],
745
  "Сульфат магния": ALL_FERTILIZERS["Сульфат магния"],
746
- "Монофосфат калия": ALL_FERTILIZERS["Монофосфат калия"]
747
  }
748
 
749
  if use_k2so4:
@@ -769,7 +769,7 @@ class NutrientCalculator:
769
  # Расчёт удобрений
770
  self._apply_magnesium_sulfate()
771
  self._apply_calcium_nitrate()
772
- self._apply_mkp()
773
  self._apply_potassium_fertilizers()
774
  self._apply_ammonium_nitrate()
775
  return self.results
@@ -801,14 +801,14 @@ class NutrientCalculator:
801
  self._apply_fertilizer("Кальциевая селитра", grams, {'внесет NO3': round(added_n, 1)})
802
  self.final_profile['Ca'] = 0
803
 
804
- def _apply_mkp(self):
805
  p_need = self.final_profile['P']
806
- p_content = self.fertilizers_db["Монофосфат калия"]["P"]
807
  grams = (p_need * self.volume) / (p_content * 1000)
808
- added_k = grams * self.fertilizers_db["Монофосфат калия"]["K"] * 1000 / self.volume
809
 
810
  self.final_profile['K'] -= added_k
811
- self._apply_fertilizer("Монофосфат калия", grams, {'внесет K': round(added_k, 1)})
812
  self.final_profile['P'] = 0
813
 
814
  def _apply_potassium_fertilizers(self):
@@ -910,8 +910,6 @@ class NutrientCalculator:
910
 
911
  # Пример использования
912
  if __name__ == "__main__":
913
-
914
-
915
  # Вариант 2: С калием азотнокислым
916
  calc_with_kno3 = NutrientCalculator(volume_liters=10, use_k2so4=False, use_kno3=True)
917
  calc_with_kno3.calculate(TOTAL_NITROGEN, NO3_RATIO, NH4_RATIO)
@@ -921,6 +919,5 @@ if __name__ == "__main__":
921
 
922
 
923
 
924
-
925
  if __name__ == '__main__':
926
  app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))
 
720
  "Сульфат магния": {
721
  "Mg": 0.098, "S": 0.13
722
  },
723
+ "Калий фосфорнокислый": {
724
+ "P": 0.228, "K": 0.287 # KH2PO4 - почти аналогичен монофосфату калия
725
  }
726
  }
727
 
 
743
  "Кальциевая селитра": ALL_FERTILIZERS["Кальциевая селитра"],
744
  "Аммоний азотнокислый": ALL_FERTILIZERS["Аммоний азотнокислый"],
745
  "Сульфат магния": ALL_FERTILIZERS["Сульфат магния"],
746
+ "Калий фосфорнокислый": ALL_FERTILIZERS["Калий фосфорнокислый"]
747
  }
748
 
749
  if use_k2so4:
 
769
  # Расчёт удобрений
770
  self._apply_magnesium_sulfate()
771
  self._apply_calcium_nitrate()
772
+ self._apply_potassium_phosphate()
773
  self._apply_potassium_fertilizers()
774
  self._apply_ammonium_nitrate()
775
  return self.results
 
801
  self._apply_fertilizer("Кальциевая селитра", grams, {'внесет NO3': round(added_n, 1)})
802
  self.final_profile['Ca'] = 0
803
 
804
+ def _apply_potassium_phosphate(self):
805
  p_need = self.final_profile['P']
806
+ p_content = self.fertilizers_db["Калий фосфорнокислый"]["P"]
807
  grams = (p_need * self.volume) / (p_content * 1000)
808
+ added_k = grams * self.fertilizers_db["Калий фосфорнокислый"]["K"] * 1000 / self.volume
809
 
810
  self.final_profile['K'] -= added_k
811
+ self._apply_fertilizer("Калий фосфорнокислый", grams, {'внесет K': round(added_k, 1)})
812
  self.final_profile['P'] = 0
813
 
814
  def _apply_potassium_fertilizers(self):
 
910
 
911
  # Пример использования
912
  if __name__ == "__main__":
 
 
913
  # Вариант 2: С калием азотнокислым
914
  calc_with_kno3 = NutrientCalculator(volume_liters=10, use_k2so4=False, use_kno3=True)
915
  calc_with_kno3.calculate(TOTAL_NITROGEN, NO3_RATIO, NH4_RATIO)
 
919
 
920
 
921
 
 
922
  if __name__ == '__main__':
923
  app.run(host='0.0.0.0', port=int(os.environ.get('PORT', 7860)))