示例#1
0
        public void Power600()
        {
            PredictionModel model = new PredictionModel();

            double _CEI_ = 1;
            double _DeploymentDuration_ = 30;
            int    _Beams_           = 4;
            double _SystemFrequency_ = 576000;
            bool   _CWPON_           = true;
            double _CWPBL_           = 1;
            double _CWPBS_           = 4;
            double _CWPBN_           = 30;
            double _CWPBB_LagLength_ = 1;

            Commands.AdcpSubsystemCommands.eCWPBB_TransmitPulseType _CWPBB_TransmitPulseType_ = Commands.AdcpSubsystemCommands.eCWPBB_TransmitPulseType.BROADBAND;
            double _CWPP_   = 9;
            double _CWPTBP_ = 0.5;
            bool   _CBTON_  = true;

            Commands.AdcpSubsystemCommands.eCBTBB_Mode _CBTBB_TransmitPulseType_ = Commands.AdcpSubsystemCommands.eCBTBB_Mode.BROADBAND_CODED;
            double _BeamAngle_        = 20;
            double _SpeedOfSound_     = 1490;
            double _SystemBootPower_  = 1.80;
            double _SystemWakeupTime_ = 0.40;
            double _SystemInitPower_  = 2.80;
            double _SystemInitTime_   = 0.25;
            bool   _BroadbandPower_   = true;
            double _SystemSavePower_  = 1.80;
            double _SystemSaveTime_   = 0.15;
            double _SystemSleepPower_ = 0.024;
            double _BeamDiameter_     = 0.075;
            double _CyclesPerElement_ = 12;

            double _BatteryCapacity_      = 440.0;
            double _BatteryDerate_        = 0.85;
            double _BatterySelfDischarge_ = 0.05;

            double temperature = 10.0;
            double salinity    = 35.0;
            double xdcrDepth   = 0.0;

            double power         = model.CalculatePower(_CEI_, _DeploymentDuration_, _Beams_, _SystemFrequency_, _CWPON_, _CWPBL_, _CWPBS_, _CWPBN_, _CWPBB_LagLength_, _CWPBB_TransmitPulseType_, _CWPP_, _CWPTBP_, _CBTON_, _CBTBB_TransmitPulseType_, _BeamAngle_, _SpeedOfSound_, _SystemBootPower_, _SystemWakeupTime_, _SystemInitPower_, _SystemInitTime_, _BroadbandPower_, _SystemSavePower_, _SystemSaveTime_, _SystemSleepPower_, _BeamDiameter_, _CyclesPerElement_, temperature, salinity, xdcrDepth);
            double correctAnswer = 16852.22;

            Assert.AreEqual(correctAnswer, power, 0.01);

            double batteryUsage   = model.BatteryUsage(power, _DeploymentDuration_, _BatteryCapacity_, _BatteryDerate_, _BatterySelfDischarge_);
            double correctBattery = 45.06;

            Assert.AreEqual(correctBattery, batteryUsage, 0.01);
        }