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.i90 2.4 KiB

1 year ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. # 1 "/mnt/c/Projects/VSIM/SimulationCore2/Equipments/Drawworks/Drawworks_MainSolver.f90"
  2. subroutine Drawworks_MainSolver
  3. use SimulationVariables !@
  4. IMPLICIT NONE
  5. Call Drawworks_Inputs
  6. if (data%State%Drawworks%Throttle<=0.d0) then
  7. data%State%Drawworks%K_Throttle = 1
  8. end if
  9. 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
  10. data%State%Drawworks%SoundBlower = .true.
  11. data%State%Drawworks%BLWR = 1
  12. Call Drawworks_Solver
  13. if ( data%State%Drawworks%motion==+1 ) then
  14. data%State%Drawworks%SoundRev = 0 ![rpm or rad/s????????????????] , Integer
  15. data%State%Drawworks%SoundFw = INT(data%State%Drawworks%w_drum) ![rpm] , Integer
  16. else
  17. data%State%Drawworks%SoundFw = 0 ![rpm] , Integer
  18. data%State%Drawworks%SoundRev = INT(data%State%Drawworks%w_drum) ![rpm] , Integer
  19. end if
  20. else
  21. 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
  22. data%State%Drawworks%SoundBlower = .true.
  23. data%State%Drawworks%BLWR = 1
  24. else
  25. data%State%Drawworks%SoundBlower = .false.
  26. data%State%Drawworks%BLWR = 0
  27. end if
  28. Call Drawworks_Solver_OffMode
  29. if ( data%State%Drawworks%motion==+1 ) then
  30. data%State%Drawworks%SoundRev = 0 ![rpm] , Integer
  31. data%State%Drawworks%SoundFw = INT(data%State%Drawworks%w_drum) ![rpm] , Integer
  32. else
  33. data%State%Drawworks%SoundFw = 0 ![rpm] , Integer
  34. data%State%Drawworks%SoundRev = INT(data%State%Drawworks%w_drum) ![rpm] , Integer
  35. end if
  36. data%State%Drawworks%K_Throttle = 0
  37. end if
  38. Call Drawworks_Outputs
  39. data%State%Drawworks%N_old = data%State%Drawworks%Speed
  40. end subroutine Drawworks_MainSolver