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.

DWBrakeSound.f90 2.8 KiB

1 year ago
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. subroutine DWBrakeSound
  2. ! Use Drawworks_VARIABLES
  3. ! Use CSounds
  4. !
  5. !IMPLICIT NONE
  6. !
  7. ! Real :: DW_MainBrakeTorque , DW_DrumRPM
  8. !
  9. !
  10. !
  11. ! DW_MainBrakeTorque = ((Drawworks%Diameter/2.0d0)*Drawworks%BreakLoad)*(Drawworks%ManualBreak/100.0d0) ![N.m]
  12. ! DW_MainBrakeTorque = DW_MainBrakeTorque/800.d0 ! Scaling: 0<=DW_MainBrakeTorque=<100
  13. ! !print*, 'DW_MainBrakeTorque0=' , DW_MainBrakeTorque
  14. ! if ( DW_MainBrakeTorque>100. ) then
  15. ! DW_MainBrakeTorque = 100.d0
  16. ! end if
  17. !
  18. !
  19. !
  20. ! DW_DrumRPM = Drawworks%w_drum
  21. ! DW_DrumRPM = DW_DrumRPM*10.d0+(Drawworks%ManualBreak/100.0d0) ! Scaling: 0<=DW_DrumRPM=<1000
  22. ! !print*, 'DW_DrumRPM0=' , DW_DrumRPM
  23. ! !if ( DW_DrumRPM>=0. .and. DW_DrumRPM<=1. ) then
  24. ! ! DW_DrumRPM = 1.0
  25. ! !end if
  26. ! if ( DW_DrumRPM>1000.d0 ) then
  27. ! DW_DrumRPM = 1000.d0
  28. ! end if
  29. !
  30. !
  31. ! Drawworks%SoundDwBrake = INT((DW_MainBrakeTorque*DW_DrumRPM)) ! 0<=SoundDWBrake=<100000
  32. ! Call SetSoundDwBrake( Drawworks%SoundDwBrake )
  33. !
  34. !
  35. ! !print*, 'Drawworks%SoundDwBrake=' , Drawworks%SoundDwBrake
  36. ! !print*, 'DW_DrumRPM=' , DW_DrumRPM
  37. ! !print*, 'DW_MainBrakeTorque=' , DW_MainBrakeTorque
  38. ! !print*, 'Drawworks%ManualBreak=' , Drawworks%ManualBreak
  39. Use Drawworks_VARIABLES
  40. Use CSounds
  41. Use TD_StringConnectionData
  42. IMPLICIT NONE
  43. Real :: DW_MainBrakeTorque , DW_DrumRPM
  44. !DW_MainBrakeTorque = ((Drawworks%Diameter/2.0d0)*Drawworks%BreakLoad)*(Drawworks%ManualBreak/100.0d0) ![N.m]
  45. !DW_MainBrakeTorque = DW_MainBrakeTorque/800.d0 ! Scaling: 0<=DW_MainBrakeTorque=<100
  46. !print*, 'DW_MainBrakeTorque0=' , DW_MainBrakeTorque
  47. !if ( DW_MainBrakeTorque>100. ) then
  48. ! DW_MainBrakeTorque = 100.d0
  49. !end if
  50. DW_DrumRPM = Drawworks%w_drum
  51. !DW_DrumRPM = DW_DrumRPM*10.d0+(Drawworks%ManualBreak/100.0d0) ! Scaling: 0<=DW_DrumRPM=<1000
  52. !print*, 'DW_DrumRPM0=' , DW_DrumRPM
  53. !!if ( DW_DrumRPM>=0. .and. DW_DrumRPM<=1. ) then
  54. !! DW_DrumRPM = 1.0
  55. !!end if
  56. !if ( DW_DrumRPM>1000.d0 ) then
  57. ! DW_DrumRPM = 1000.d0
  58. !end if
  59. !Drawworks%SoundDwBrake = INT((DW_MainBrakeTorque*DW_DrumRPM)) ! 0<=SoundDWBrake=<100000
  60. Drawworks%SoundDwBrake = INT((TD_DrawworksLoadInput/20000.)*DW_DrumRPM)
  61. if ( Drawworks%ManualBreak==0. ) then
  62. Drawworks%SoundDwBrake = 0
  63. end if
  64. Drawworks%SoundDwBrake = Drawworks%SoundDwBrake*10
  65. Call SetSoundDwBrake( Drawworks%SoundDwBrake )
  66. !print*, 'Drawworks%SoundDwBrake=' , Drawworks%SoundDwBrake
  67. !print*, 'DW_DrumRPM=' , DW_DrumRPM
  68. !print*, 'TD_DrawworksLoadInput=' , TD_DrawworksLoadInput
  69. !print*, 'Drawworks%ManualBreak=' , Drawworks%ManualBreak
  70. END subroutine