Exemplo n.º 1
0
        public static void GetFilePaths(ref TableMakerModel tableMakerModel)
        {
            var project  = tableMakerModel.Project;
            var programs = tableMakerModel.Programs;
            var testers  = tableMakerModel.Testers;

            OCVModel      ocvModel      = new OCVModel();
            RCModel       rcModel       = new RCModel();
            MiniModel     miniModel     = new MiniModel();
            StandardModel standardModel = new StandardModel();
            AndroidModel  androidModel  = new AndroidModel();

            tableMakerModel.OCVModel      = ocvModel;
            tableMakerModel.RCModel       = rcModel;
            tableMakerModel.MiniModel     = miniModel;
            tableMakerModel.StandardModel = standardModel;
            tableMakerModel.AndroidModel  = androidModel;

            ocvModel.FilePath = OCVTableMaker.GetOCVTableFilePath(project);
            rcModel.FilePath  = RCTableMaker.GetRCTableFilePath(project);
            List <string> strFilePaths;

            GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "mini", out strFilePaths);
            miniModel.FilePaths = strFilePaths;
            GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "standard", out strFilePaths);
            standardModel.FilePaths = strFilePaths;
            GetDriverFilePaths(project.BatteryType.Manufacturer, project.BatteryType.Name, project.AbsoluteMaxCapacity.ToString(), "android", out strFilePaths);
            androidModel.FilePaths = strFilePaths;
        }
Exemplo n.º 2
0
        public static void GetStandardModel(OCVModel ocvModel, RCModel rcModel, ref StandardModel standardModel)
        {
            standardModel.iOCVVolt = ocvModel.iOCVVolt;

            standardModel.fCTABase  = rcModel.fCTABase;
            standardModel.fCTASlope = rcModel.fCTASlope;
            standardModel.listfCurr = rcModel.listfCurr;
            standardModel.listfTemp = rcModel.listfTemp;
            standardModel.outYValue = rcModel.outYValue;
        }
        public static void GetAndroidModel(OCVModel ocvModel, RCModel rcModel, ref AndroidModel androidModel)
        {
            androidModel.iOCVVolt = ocvModel.iOCVVolt;

            androidModel.fCTABase  = rcModel.fCTABase;
            androidModel.fCTASlope = rcModel.fCTASlope;
            androidModel.listfCurr = rcModel.listfCurr;
            androidModel.listfTemp = rcModel.listfTemp;
            androidModel.outYValue = rcModel.outYValue;
        }
        } = 1;                                                        //(A200831)francis, for table_mini
        #region Mini
        public static void GetMiniModel(List <SourceData> ocvSource, List <SourceData> rcSource, OCVModel ocvModel, RCModel rcModel, Project project, ref MiniModel miniModel)
        {
            MiniModel output = miniModel;

            output.iOCVVolt  = ocvModel.iOCVVolt;
            output.fCTABase  = rcModel.fCTABase;
            output.fCTASlope = rcModel.fCTASlope;
            List <short> ilstOutIR;
            var          num = (iNumOfMiniPoints + 1) * rcModel.listfTemp.Count;
            List <float> flstRC_T;

            List <List <float> > fLstRCM_Volt;

            GetLstRCM_Volt(ocvSource, rcSource, rcModel, out fLstRCM_Volt);
            GetLstRC_T(fLstRCM_Volt, out flstRC_T);
            List <float> flstOCV;

            GetLstTblM_OCV(ocvSource, out flstOCV);
            GetLstOutIR(num, iNumOfMiniPoints + 1, rcModel.listfCurr, flstOCV, flstRC_T, out ilstOutIR);
            List <float> flstTotalAcc;

            GetLstTotalAcc(out flstTotalAcc, project, rcSource, rcModel);
            List <double> poly2EstFACC;
            List <double> poly2EstIR;

            GetPoly(rcModel.listfTemp, ilstOutIR, flstTotalAcc, out poly2EstFACC, out poly2EstIR);
            output.poly2EstFACC = poly2EstFACC;
            output.poly2EstIR   = poly2EstIR;
        }