예제 #1
0
        public static CurrentOutputAtGivenLoadStep GetCurrentOutputAtGivenLoadStep(int CurrentLoadStep, AciModelInputs objAciInput, eRCM_KernelControl objACIkernal)
        {
            CurrentOutputAtGivenLoadStep resCurrentOutput = new CurrentOutputAtGivenLoadStep();

            objACIkernal.CurrentLoadStep = CurrentLoadStep;
            objACIkernal.ChangeOpCondition(objAciInput.PsG, objAciInput.PdG, objAciInput.Rpm,
                                           objAciInput.Ts1, objAciInput.Ts2, objAciInput.Ts3, objAciInput.Ts4, objAciInput.Ts5, objAciInput.Ts6);
            //Ideal Load Step
            resCurrentOutput.CurrentLoadStep       = CurrentLoadStep;
            resCurrentOutput.CurrentLoadStepDetail = objACIkernal.LoadStepName(CurrentLoadStep);
            resCurrentOutput.CurrentLoad           = objACIkernal.LoadArray(CurrentLoadStep);
            resCurrentOutput.CurrentFlow           = objACIkernal.FlowArray(CurrentLoadStep);
            resCurrentOutput.CurrentFuelRate       = objACIkernal.EngineDataFuelRate();
            return(resCurrentOutput);
        }
예제 #2
0
        public static IdealOutputAtGivenTorque GetIdealOutputAtGivenTorque(int CurrentLoadStep, double torque, AciModelInputs objAciInput, eRCM_KernelControl objACIkernal)
        {
            IdealOutputAtGivenTorque resIdealOutput = new IdealOutputAtGivenTorque();

            objACIkernal.TorqueLimit     = torque;
            objACIkernal.CurrentLoadStep = CurrentLoadStep;
            objACIkernal.ChangeOpCondition(objAciInput.PsG, objAciInput.PdG, objAciInput.Rpm,
                                           objAciInput.Ts1, objAciInput.Ts2, objAciInput.Ts3, objAciInput.Ts4, objAciInput.Ts5, objAciInput.Ts6);
            //Ideal Load Step
            resIdealOutput.IdealLoadStepAtGivenTorque       = objACIkernal.FindOptimalLoadStep(1, 0, 0);
            resIdealOutput.IdealLoadStepDetailAtGivenTorque = objACIkernal.LoadStepName(objACIkernal.FindOptimalLoadStep(1, 0, 0));
            resIdealOutput.IdealLoadAtGivenTorque           = objACIkernal.LoadArray(objACIkernal.FindOptimalLoadStep(1, 0, 0));
            resIdealOutput.IdealFlowAtGivenTorque           = objACIkernal.FlowArray(objACIkernal.FindOptimalLoadStep(1, 0, 0));
            resIdealOutput.IdealFuelRateAtGivenTorque       = objACIkernal.EngineDataFuelRate();
            return(resIdealOutput);
        }