subroutine Pump2_MainSolver use Pump_VARIABLES use CPumpsVariables use CDrillingConsoleVariables use CDataDisplayConsoleVariables use CSimulationVariables use CDrillWatchVariables use equipments_PowerLimit use CSounds use CWarningsVariables IMPLICIT NONE if (MP2Throttle<=0.e0) then PUMP(2)%K_throttle = 1 end if if (IsPortable) then PUMP(2)%AssignmentSwitchh = 1 else PUMP(2)%AssignmentSwitchh = AssignmentSwitch end if if((any(PUMP(2)%AssignmentSwitchh==(/1,2,3,4,5,7,8,11/))) .and. (MP2Switch==1) .and. (PUMP(2)%K_throttle==1) .and. (PUMP(2)%PowerFailMalf==0) .and. (Pump2Failure==0) .and. (IsStopped == .false.)) then PUMP(2)%SoundBlower = .true. Call SetSoundBlowerMP2(PUMP(2)%SoundBlower) MP2BLWR = 1 PUMP(2)%N_new = MP2Throttle if (((PUMP(2)%N_new-PUMP(2)%N_old)/PUMP(2)%time_step)>193.) then PUMP(2)%N_ref = (193.*PUMP(2)%time_step)+PUMP(2)%N_old else if (((PUMP(2)%N_old-PUMP(2)%N_new)/PUMP(2)%time_step)>193.) then PUMP(2)%N_ref = (-193.*PUMP(2)%time_step)+PUMP(2)%N_old else PUMP(2)%N_ref = PUMP(2)%N_new end if Call Pump2_OnMode_Solver(2) !IF (PUMP(2)%Flow_Rate>0.) Then ! Call OpenPump2() !Else ! Call ClosePump2() !End if PUMP(2)%N_old=PUMP(2)%N_ref else if((any(PUMP(2)%AssignmentSwitchh==(/1,2,3,4,5,7,8,11/))) .and. (MP2Switch==1) .and. (IsStopped == .false.)) then PUMP(2)%SoundBlower = .true. Call SetSoundBlowerMP2(PUMP(2)%SoundBlower) MP2BLWR = 1 else PUMP(2)%SoundBlower = .false. Call SetSoundBlowerMP2(PUMP(2)%SoundBlower) MP2BLWR = 0 end if !PUMP(2)%N_ref = MP2Throttle Call Pump2_OffMode_Solver(2) Call ClosePump2() PUMP(2)%K_throttle = 0 end if end subroutine Pump2_MainSolver