module CTanks use CTanksVariables use CSimulationVariables use CManifolds implicit none public contains ! Input routines subroutine SetWaterRate(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetWaterRate !DEC$ ATTRIBUTES ALIAS: 'SetWaterRate' :: SetWaterRate implicit none real*8, intent(in) :: v WaterRate = v #ifdef deb print*, 'WaterRate=', WaterRate #endif end subroutine subroutine SetCementTankVolume(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetCementTankVolume !DEC$ ATTRIBUTES ALIAS: 'SetCementTankVolume' :: SetCementTankVolume implicit none real*8, intent(in) :: v CementTankVolume = v #ifdef deb print*, 'CementTankVolume=', CementTankVolume #endif end subroutine subroutine SetCementTankDensity(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetCementTankDensity !DEC$ ATTRIBUTES ALIAS: 'SetCementTankDensity' :: SetCementTankDensity implicit none real*8, intent(in) :: v CementTankDensity = v #ifdef deb print*, 'CementTankDensity=', CementTankDensity #endif end subroutine subroutine SetTripTankVolume(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetTripTankVolume !DEC$ ATTRIBUTES ALIAS: 'SetTripTankVolume' :: SetTripTankVolume implicit none real*8, intent(in) :: v TripTankVolume = v #ifdef deb print*, 'TripTankVolume=', TripTankVolume #endif end subroutine subroutine SetTripTankDensity(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetTripTankDensity !DEC$ ATTRIBUTES ALIAS: 'SetTripTankDensity' :: SetTripTankDensity implicit none real*8, intent(in) :: v TripTankDensity = v #ifdef deb print*, 'TripTankDensity=', TripTankDensity #endif end subroutine ! subroutine SetManualPumpPowerT(v) ! !DEC$ ATTRIBUTES DLLEXPORT :: SetManualPumpPowerT ! !DEC$ ATTRIBUTES ALIAS: 'SetManualPumpPowerT' :: SetManualPumpPowerT ! implicit none ! logical, intent(in) :: v ! ManualPumpPower = v ! call ChangeValve(43, v) !#ifdef deb ! print*, 'ManualPumpPowerT=', ManualPumpPower !#endif ! end subroutine subroutine SetValve1T(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve1T !DEC$ ATTRIBUTES ALIAS: 'SetValve1T' :: SetValve1T implicit none logical, intent(in) :: v Valve1 = v call ChangeValve(40, v) #ifdef deb print*, 'Valve1T=', Valve1 #endif end subroutine subroutine SetValve2T(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve2T !DEC$ ATTRIBUTES ALIAS: 'SetValve2T' :: SetValve2T implicit none logical, intent(in) :: v Valve2 = v call ChangeValve(41, v) #ifdef deb print*, 'Valve2T=', Valve2 #endif end subroutine subroutine SetValve3T(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve3T !DEC$ ATTRIBUTES ALIAS: 'SetValve3T' :: SetValve3T implicit none logical, intent(in) :: v Valve3 = v call ChangeValve(45, v) #ifdef deb print*, 'Valve3T=', Valve3 #endif end subroutine subroutine SetValve4T(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve4T !DEC$ ATTRIBUTES ALIAS: 'SetValve4T' :: SetValve4T implicit none logical, intent(in) :: v Valve4 = v call ChangeValve(58, v) #ifdef deb print*, 'Valve4T=', Valve4 #endif end subroutine subroutine SetValve5T(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve5T !DEC$ ATTRIBUTES ALIAS: 'SetValve5T' :: SetValve5T implicit none logical, intent(in) :: v Valve5 = v call ChangeValve(42, v) #ifdef deb print*, 'Valve5T=', Valve5 #endif end subroutine subroutine SetValve6(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve6 !DEC$ ATTRIBUTES ALIAS: 'SetValve6' :: SetValve6 implicit none logical, intent(in) :: v Valve6 = v call ChangeValve(38, v) !WRITE (*,*) ' valve 38 ', v #ifdef deb print*, 'Valve6=', Valve6 #endif end subroutine subroutine SetValve7(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve7 !DEC$ ATTRIBUTES ALIAS: 'SetValve7' :: SetValve7 implicit none logical, intent(in) :: v Valve7 = v call ChangeValve(59, v) #ifdef deb print*, 'Valve7=', Valve7 #endif end subroutine subroutine SetValve8(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve8 !DEC$ ATTRIBUTES ALIAS: 'SetValve8' :: SetValve8 implicit none logical, intent(in) :: v Valve8 = v call ChangeValve(39, v) #ifdef deb print*, 'Valve8=', Valve8 #endif end subroutine subroutine SetValve9(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve9 !DEC$ ATTRIBUTES ALIAS: 'SetValve9' :: SetValve9 implicit none logical, intent(in) :: v Valve9 = v call ChangeValve(36, v) !WRITE (*,*) ' valve 36 ', v #ifdef deb print*, 'Valve9=', Valve9 #endif end subroutine subroutine SetValve10(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve10 !DEC$ ATTRIBUTES ALIAS: 'SetValve10' :: SetValve10 implicit none logical, intent(in) :: v Valve10 = v call ChangeValve(37, v) #ifdef deb print*, 'Valve10=', Valve10 #endif end subroutine subroutine SetValve11(v) !DEC$ ATTRIBUTES DLLEXPORT :: SetValve11 !DEC$ ATTRIBUTES ALIAS: 'SetValve11' :: SetValve11 implicit none logical, intent(in) :: v Valve11 = v call ChangeValve(44, v) #ifdef deb print*, 'Valve11=', Valve11 #endif end subroutine ! Output routines real(8) function GetTripTankVolumeT() !DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankVolumeT !DEC$ ATTRIBUTES ALIAS: 'GetTripTankVolumeT' :: GetTripTankVolumeT implicit none GetTripTankVolumeT = TripTankVolume !GetTripTankVolumeT = 50.0 + SimulationTime end function real(8) function GetTripTankDensity() !DEC$ ATTRIBUTES DLLEXPORT :: GetTripTankDensity !DEC$ ATTRIBUTES ALIAS: 'GetTripTankDensity' :: GetTripTankDensity implicit none GetTripTankDensity = TripTankDensity !GetTripTankDensity = 13.0 + SimulationTime end function logical function GetManualPumpPowerT() !DEC$ ATTRIBUTES DLLEXPORT :: GetManualPumpPowerT !DEC$ ATTRIBUTES ALIAS: 'GetManualPumpPowerT' :: GetManualPumpPowerT implicit none GetManualPumpPowerT = ManualPumpPower !GetManualPumpPowerT = .true. end function end module CTanks