CalSeedy

Untitled

Dec 3rd, 2020
737
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. #double f_int(double t, int n)
  2. #       {
  3. #           return (pow(t,n))/(exp(t)-1)*(1-exp(-t))
  4. #       }
  5. #void _nlsfBlochGruenseimD(#double P1, double P2, double P3, double P4, double x,double& y)
  6. #{
  7. #       int n;
  8. #       double y0;
  9. #       n=2;
  10. #       double t;
  11. #       t=1e-6;
  12. #       y0=36.6465;
  13. #       y=y0;
  14. #       double c;
  15. #       double d;
  16. #       double e;
  17. #       double dIntegral;
  18. #      
  19. #       do // loop over n
  20. #       {
  21. #           do //loop over t+dStep
  22. #       {
  23. #           // Initialization
  24. #           double dIntegral = 0.0;
  25. #           double dTrapezia = 0.0;        
  26. #           // Steps, or Precision.
  27. #           double dStep = 1e-12;
  28. #           // Trapezia area.
  29. #           dTrapezia = 0.5 * (f_int(t, n)+ f_int((t+dStep),n)) * dStep;
  30. #           // Accumulate area.
  31. #           dIntegral += dTrapezia;     // intregral calculation.
  32. #           t += dStep;
  33. #           }while(t<=P1/x);
  34. #       // Perform integrate by trapezoidal rule.
  35. #      
  36. #           if(n=2)
  37. #               c=P2;
  38. #           else if(n=3)
  39. #           d=P3;
  40. #           else
  41. #           e=P4;   //n=5  
  42. #           n=n+1;
  43. #                  
  44. #       }while (n<=5);
  45. #          
  46. #           y = y + c * pow(x,2) * dIntegral+ d * pow(x,3) * dIntegral+e * pow(x,5) * dIntegral;
  47. #   // End of editable part
  48. #}
  49. #
  50. def f_int(t, n):
  51.     return (t**n)/((math.exp(t)-1)*(1-math.exp(-t)))
  52.  
  53. def BD_Func(P1, P2, P3, P4, x, y):
  54.     c, d, e =  None, None, None
  55.     n = 2
  56.     t = 1e-6
  57.     y0 = 36.6465
  58.     y = y0
  59.     while n <= 5:
  60.         while t <= (P1/x):
  61.             dInt, dTrap = 0, 0
  62.             dStep = 1e-5
  63.  
  64.             #Trap. Area
  65.             dTrap = 0.5 * ((f_int(t, n)+ f_int((t+dStep),n)) * dStep)
  66.             dInt += dTrap
  67.             t += dStep
  68.         if n == 2:
  69.             c = P2
  70.         elif n == 3:
  71.             d = P3
  72.         else:
  73.             e = P4
  74.         n += 1
  75.     y = y + c * (x**2) * dIntegral + d * (x**3) * dIntegral+e * (x**5) * dIntegral
  76.     return y
RAW Paste Data