|
- subroutine RTable_MainSolver
-
-
- Use RTable_VARIABLES
-
- IMPLICIT NONE
-
-
- Call RTable_Inputs
-
- if (RTable%Throttle<=0.d0) then
- RTable%K_throttle = 1
- end if
-
-
- if ( (any(RTable%AssignmentSwitch==(/1,2,3,4,5,8,9,10,11/))) .and. (RTable%Switch==-1) ) then
-
- RTable%SoundBlower = .true.
- RTable%BLWR = 1
- !======================= Rotary Table Rate_limit =======================
- if (((RTable%N_new-RTable%N_old)/RTable%time_step)>RTable%RateChange) then
- RTable%N_ref = (RTable%RateChange*RTable%time_step)+RTable%N_old
- else if (((RTable%N_old-RTable%N_new)/RTable%time_step)>RTable%RateChange) then
- RTable%N_ref = (-RTable%RateChange*RTable%time_step)+RTable%N_old
- else
- RTable%N_ref = RTable%N_new
- end if
- !=======================================================================
- CALL RTable_OnModeSolver
-
- else if ( (any(RTable%AssignmentSwitch==(/1,2,3,4,5,8,9,10,11/))) .and. (RTable%Switch==1) .and. (RTable%K_throttle==1) ) then
-
- RTable%SoundBlower = .true.
- RTable%BLWR = 1
- !======================= Rotary Table Rate_limit =======================
- if (((RTable%N_new-RTable%N_old)/RTable%time_step)>RTable%RateChange) then
- RTable%N_ref = (RTable%RateChange*RTable%time_step)+RTable%N_old
- else if (((RTable%N_old-RTable%N_new)/RTable%time_step)>RTable%RateChange) then
- RTable%N_ref = (-RTable%RateChange*RTable%time_step)+RTable%N_old
- else
- RTable%N_ref = RTable%N_new
- end if
- !=======================================================================
- CALL RTable_OnModeSolver
-
- else
-
- if((any(RTable%AssignmentSwitch==(/1,2,3,4,5,8,9,10,11/))) .and. (RTable%Switch/=0)) then
- RTable%SoundBlower = .true.
- RTable%BLWR = 1
- else
- RTable%SoundBlower = .false.
- RTable%BLWR = 0
- end if
- Call RTable_OffMode
- RTable%K_throttle = 0
-
- end if
-
-
- Call RTable_Outputs
-
- RTable%N_old = RTable%N_ref
-
-
-
- end subroutine RTable_MainSolver
|