coefficients.py 1.3 KB

123456789101112131415161718192021222324252627282930313233
  1. class coefficients:
  2. def __init__(self, diff, conv, reaction, pOrder, numEle, tauPlus, tauMinus):
  3. if diff == 0:
  4. # set the diffusion constant to a small number
  5. # to avoid division by zero error
  6. diff = 1e-16
  7. self.DIFFUSION = diff
  8. self.CONVECTION = conv
  9. self.REACTION = reaction
  10. self.pOrder = pOrder
  11. self.numEle = numEle
  12. self.TAUPLUS = tauPlus
  13. self.TAUMINUS = tauMinus
  14. @classmethod
  15. def fromInput(cls):
  16. while True:
  17. try:
  18. print("Please provide the following coefficients.")
  19. diff = float(input("Diffusion constant (float): "))
  20. conv = float(input("Covection constant (float): "))
  21. reaction = float(input("Reaction constant (float): "))
  22. pOrder = int(input("Order of polynomials (int): "))
  23. numEle = int(input("Number of elements (int): "))
  24. tauPlus = float(input("Stablization parameter plus (float): "))
  25. tauMinus = float(
  26. input("Stablization parameter minus (float): "))
  27. except ValueError:
  28. print("Sorry, wrong data type.")
  29. continue
  30. else:
  31. break
  32. return cls(diff, conv, reaction, pOrder, numEle, tauPlus, tauMinus)