Simulation Core
Não pode escolher mais do que 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

RTable_diff_eqs.f90 2.8 KiB

há 1 ano
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. subroutine RTable_dia(x1,x2,x3,x5,x6,x7)
  2. use equipments_PowerLimit
  3. use RTable_VARIABLES
  4. IMPLICIT NONE
  5. REAL :: x1,x2,x3,x5,x6,x7
  6. !RTable%Vt = x6+Kpi*(Kpn*((30.*RTable%w_ref/pi)-(30.*x3/pi))-x2)
  7. RTable%ia_ref = x7+Kpn*((30.*RTable%w_ref/pi)-(30.*x3/pi))
  8. call RTTorqueLimit
  9. !if (LimitOveride==1) then
  10. ! goto TorqueLimit_Limitation1
  11. !end if
  12. !IF (RTable%ia_ref>RTable%ia_ref_limit) THEN
  13. ! RTable%ia_ref = RTable%ia_ref_limit
  14. !END IF
  15. !TorqueLimit_Elimination1:
  16. !call PowerLimits
  17. !if (Power_sigma>max_Power_sigma) then
  18. ! RTable%Vt = RTable%Vt
  19. !else
  20. RTable%Vt = x6+(Kpi*(RTable%ia_ref-x2))
  21. !end if
  22. IF (RTable%Vt>810.) THEN
  23. RTable%Vt = 810.0
  24. ELSE IF (RTable%Vt<0.) THEN
  25. RTable%Vt = 0.0
  26. END IF
  27. !IF (x2<=1150.) THEN
  28. x5 = (6.3304d-3)*1150.
  29. !ELSE IF (x2>1150.) THEN
  30. ! x5 = 2.8571d-7*(x2-1150.)+7.28
  31. !END IF
  32. RTable%Ea = x5*x3
  33. RTable%dia = (RTable%Vt-(Ra+Rf)*x2-RTable%Ea)/(La+Lf)
  34. !call PowerLimits
  35. !if (Power_sigma>max_Power_sigma) then
  36. ! RTable%dia = 0.d0
  37. !end if
  38. end subroutine
  39. !-------------------------------------------------------------------------------
  40. subroutine RTable_dw(x1,x2,x3,x4,x5)
  41. use RTable_VARIABLES
  42. IMPLICIT NONE
  43. REAL :: x1,x2,x3,x4,x5
  44. REAL :: const
  45. !IF (x2<=1150.) THEN
  46. x4 = 6.3304d-3*1150.
  47. !ELSE IF (x2>1150.) THEN
  48. ! x4 = 2.8571d-7*(x2-1150.)+7.28
  49. !END IF
  50. RTable%Te = x4*x2
  51. !RTable%dw = (RTable%Te-x5)/RTable%J_coef
  52. const = RTable%J_coef+(RTable%String_JCoef/(RTable%Mech_Efficiency*RTable%Conv_Ratio))
  53. !RTable%dw = (RTable%Te-((RTable%String_Torque)/(RTable%Mech_Efficiency*RTable%Conv_Ratio)))/(const)
  54. RTable%dw = (RTable%Te-RTable%TL)/(const)
  55. end subroutine
  56. !------------------------------------------------------------
  57. subroutine RTable_dx(x1,x2,x3,x4,x5)
  58. use RTable_VARIABLES
  59. IMPLICIT NONE
  60. REAL :: x1,x2,x3,x4,x5
  61. !RTable%dx = Kii*(Kpn*((30.*RTable%w_ref/pi)-(30.*x3/pi))-x2)
  62. RTable%ia_ref = x5+Kpn*((30.*RTable%w_ref/pi)-(30.*x3/pi))
  63. call RTTorqueLimit
  64. !if (LimitOveride==1) then
  65. !goto TorqueLimit_Limitation2
  66. !end if
  67. !IF (RTable%ia_ref>RTable%ia_ref_limit) THEN
  68. !RTable%ia_ref = RTable%ia_ref_limit
  69. !END IF
  70. !TorqueLimit_Elimination2:
  71. RTable%dx = Kii*(RTable%ia_ref-x2)
  72. end subroutine
  73. !------------------------------------------------------------
  74. subroutine RTable_dy(x1,x2,x3,x4,x5)
  75. use RTable_VARIABLES
  76. IMPLICIT NONE
  77. REAL :: x1,x2,x3,x4,x5
  78. RTable%dy = Kin*((30.0d0*RTable%w_ref/pi)-(30.0d0*x3/pi))
  79. end subroutine