subroutine Drawworks_MainSolver use SimulationVariables !@ IMPLICIT NONE Call Drawworks_Inputs if (data%State%Drawworks%Throttle==0.d0) then data%State%Drawworks%K_Throttle = 1 end if 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 data%State%Drawworks%SoundBlower = .true. data%State%Drawworks%BLWR = 1 Call Drawworks_Solver if ( data%State%Drawworks%motion==+1 ) then data%State%Drawworks%SoundRev = 0 ![rpm or rad/s????????????????] , Integer data%State%Drawworks%SoundFw = INT(data%State%Drawworks%w_drum) ![rpm] , Integer else data%State%Drawworks%SoundFw = 0 ![rpm] , Integer data%State%Drawworks%SoundRev = INT(data%State%Drawworks%w_drum) ![rpm] , Integer end if else 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 data%State%Drawworks%SoundBlower = .true. data%State%Drawworks%BLWR = 1 else data%State%Drawworks%SoundBlower = .false. data%State%Drawworks%BLWR = 0 end if Call Drawworks_Solver_OffMode if ( data%State%Drawworks%motion==+1 ) then data%State%Drawworks%SoundRev = 0 ![rpm] , Integer data%State%Drawworks%SoundFw = INT(data%State%Drawworks%w_drum) ![rpm] , Integer else data%State%Drawworks%SoundFw = 0 ![rpm] , Integer data%State%Drawworks%SoundRev = INT(data%State%Drawworks%w_drum) ![rpm] , Integer end if data%State%Drawworks%K_Throttle = 0 end if Call Drawworks_Outputs data%State%Drawworks%N_old = data%State%Drawworks%Speed end subroutine Drawworks_MainSolver