123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182 |
- //
- // Created by lloyd on 2020/12/2.
- //
- #ifndef GTCVR_GTAOIDCORE_H
- #define GTCVR_GTAOIDCORE_H
- #include "DataMapping/dgns_gtbaseparam.h"
- class gtaoidcore {
- public:
- class gtrevision {
- public:
- std::string sgt;
- std::string sgtx;
- double cha;
- std::string result = "";
- double **cardArray;
- double **card;
- double cc1;
- double maxLoad;
- double minLoad;
- double maxShift;
- double minShift;
- int pointNum;
- double loadmin;
- int minShiftPoint;
- int maxShiftPoint;
- double maxShiftLoad;
- double minShiftLoad;
- public:
- void sgt_encode(dgns_gtbaseparam *_dgns_gtbaseparam);
- };
- class calbgt {
- public:
- double maxShift;
- double minShift = 1000;
- double maxLoad;
- double minLoad;
- std::string cha;
- std::string _maxShift;
- std::string _minShift;
- std::string _maxLoad;
- std::string _minLoad;
- double cc;
- double cc1;
- int pointNum;
- double **card;
- double **cardSlope;
- double **cardMakeUp;
- double znxs;
- double theorycc;
- double power;
- double yxcc;
- double makeUpPower;
- std::string result;
- gtrevision _encode;
- std::string bgtstr = "";
- std::vector<std::vector<double>> bgt;
- int calnumb = 0;
- void cal_bgt(const gtrevision &_encode, const std::string &zdjg);
- int p;
- private:
- double dFunXShXiGeMa_n(double dWuMiGa, double DT, int iCShn, double *dZaiHe, int iDianShu);
- double dFunXShTao_n(double dWuMiGa, double DT, int iCShn, double *dZaiHe, int iDianShu);
- double dFunXShMiu_n(double dWuMiGa, double DT, int iCShn, double *dWeiYi, int iDianShu);
- double dFunXShDeErTa_n(double dWuMiGa, double DT, int iCShn, double *dWeiYi, int iDianShu);
- double dFunFLYZaiHe(double dWuMiGa, int iCShn, double *dXiGeMa, double *dTao, double dShiJian_t);
- double dFunYWeiYi(double dWuMiGa, int iCShn, double *dMiu, double *dDeErTa, double dShiJian_t);
- double dFunSH(double dz);
- double dFunXSha_n(double dWuMiGa, int iCShn, double dCShC, double dCSHa);
- double dFunXShB_n(double dWuMiGa, int iCShn, double dCShC, double dCSHa);
- double dFunXShK_n(double dan, double dBn, double DXiGeMa, double dTaon, double dE, double dAr);
- double dFunXShU_n(double dan, double dBn, double DXiGeMan, double dTaon, double dE, double dAr);
- double
- dFunZLXShC(double dWuMiGa, double dCSHa, double dCSh_u, double dRor, double dAr, double dDt, double dDr,
- double dL);
- double dFunO_n(double dx, double dKn, double dBn, double dDeErTan, double dan, double dUn, double dMiun);
- double dFunP_n(double dx, double dKn, double dBn, double dDeErTan, double dan, double dUn, double dMiun);
- double
- dFunPianO_n(double dx, double dKn, double dBn, double dDeErTan, double dan, double dUn, double dMiun,
- double dTaon,
- double DXiGeMan, double dE, double dAr);
- double
- dFunPianP_n(double dx, double dKn, double dBn, double dDeErTan, double dan, double dUn, double dMiun,
- double dTaon,
- double DXiGeMan, double dE, double dAr);
- double
- dFunUxt(double dx, double dWuMiGa, double dXiGeMa0, double dMiu0, double dE, double dAr, int iCShn, double *dOn,
- double *dPn, double dShiJian_t);
- double
- dFunFxt(double dWuMiGa, double dXiGeMa0, double dE, double dAr, int iCShn, double *dPianOn, double *dPianPn,
- double dShiJian_t);
- std::vector<std::vector<double>>
- subGeJiGanGT(double dNowGanSh, double dGanJing, double GanMidu, double DXML_E, double *DdiMianWY,
- double *dYeZhong,
- double chongci, int TotalPoint, int UpPoint, int iNN1, double Viscosity, double Tubingsize,
- double &dzxwyzh, double &dzxwy, double &dbmaxload, double &dbminload, double &ddZNXShC);
- };
- class CardSlopeRec {
- public:
- double Card_Shift;
- double Card_Slope;
- double PumpCard_Shift;
- double PumpCard_Slope;
- };
- /**
- *
- * @param sgt
- * @param bgt
- * @param cc
- * @param cc1
- * @param zdjg
- * @param bj 泵径 mm
- * @param bs 泵深 m
- * @param hsl 含水率 %
- * @param smd 水密度 t/m³
- * @param ymd 油密度 t/m³
- * @param qyb 气液比 小数
- * @param dym 动液面 m
- * @param bdxs
- * @param gradient_1
- * @param gradient_10
- * @param gradient_2
- * @param gradient_3
- * @param gradient_4
- * @param gradient_5
- * @param gradient_6
- * @param gradient_7
- * @param gradient_8
- * @param gradient_9
- * @param dividenum_1
- * @param dividenum_2
- * @param dividenum_3
- * @param dividenum_4
- * @param dividenum_5
- * @param dividenum_6
- * @param dividenum_7
- * @param dividenum_8
- * @param dividenum_9
- * @param dividenum_10
- * @return 日产液量 日产油量 日产水量 日产气量 泵效 理论排量 实际冲程 有效冲程 左冲程 右冲程 冲程损失 漏失损失 gyss 有效冲程比例
- */
- std::vector<double>
- cal_ylandon(std::vector<std::vector<double>> sgt, std::vector<std::vector<double>> bgt, double cc, double cc1, std::string zdjg, double bj,
- double bs, double hsl, double smd, double ymd, double qyb, double dym, double bdxs, double gradient_1,
- double gradient_10, double gradient_2, double gradient_3, double gradient_4, double gradient_5,
- double gradient_6, double gradient_7, double gradient_8, double gradient_9, double dividenum_1,
- double dividenum_2, double dividenum_3, double dividenum_4, double dividenum_5, double dividenum_6,
- double dividenum_7, double dividenum_8, double dividenum_9, double dividenum_10);
- };
- #endif //GTCVR_GTAOIDCORE_H
|