Simulation Core
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

62 lines
1.9 KiB

  1. subroutine Drawworks_MainSolver
  2. Use Drawworks_VARIABLES
  3. IMPLICIT NONE
  4. Call Drawworks_Inputs
  5. if (Drawworks%Throttle<=0.d0) then
  6. Drawworks%K_Throttle = 1
  7. end if
  8. if((any(Drawworks%AssignmentSwitch==(/1,2,3,4,5,7,8,9,10,11/))) .and. (Drawworks%Switch==-1 .or. Drawworks%Switch==1) .and. (Drawworks%CrownCollision==.false. .and. Drawworks%FloorCollision==.false.) .and. (Drawworks%K_Throttle==1)) then
  9. Drawworks%SoundBlower = .true.
  10. Drawworks%BLWR = 1
  11. Call Drawworks_Solver
  12. if ( Drawworks%motion==+1 ) then
  13. Drawworks%SoundRev = 0 ![rpm or rad/s????????????????] , Integer
  14. Drawworks%SoundFw = INT(Drawworks%w_drum) ![rpm] , Integer
  15. else
  16. Drawworks%SoundFw = 0 ![rpm] , Integer
  17. Drawworks%SoundRev = INT(Drawworks%w_drum) ![rpm] , Integer
  18. end if
  19. else
  20. if((any(Drawworks%AssignmentSwitch==(/1,2,3,4,5,7,8,9,10,11/))) .and. (Drawworks%Switch==-1 .or. Drawworks%Switch==1)) then
  21. Drawworks%SoundBlower = .true.
  22. Drawworks%BLWR = 1
  23. else
  24. Drawworks%SoundBlower = .false.
  25. Drawworks%BLWR = 0
  26. end if
  27. Call Drawworks_Solver_OffMode
  28. if ( Drawworks%motion==+1 ) then
  29. Drawworks%SoundRev = 0 ![rpm] , Integer
  30. Drawworks%SoundFw = INT(Drawworks%w_drum) ![rpm] , Integer
  31. else
  32. Drawworks%SoundFw = 0 ![rpm] , Integer
  33. Drawworks%SoundRev = INT(Drawworks%w_drum) ![rpm] , Integer
  34. end if
  35. Drawworks%K_Throttle = 0
  36. end if
  37. Call Drawworks_Outputs
  38. Drawworks%N_old = Drawworks%Speed
  39. end subroutine Drawworks_MainSolver