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.

Drawworks_MainSolver.f90 2.4 KiB

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