diff --git a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/controller/GasController.java b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/controller/GasController.java index b580443..352bc6c 100644 --- a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/controller/GasController.java +++ b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/controller/GasController.java @@ -2,7 +2,9 @@ package com.ruoyi.ngCalTools.controller; // GasController.java +import com.ruoyi.common.core.domain.AjaxResult; import com.ruoyi.ngCalTools.model.GasProps; +import com.ruoyi.ngCalTools.model.FlowProps; import com.ruoyi.ngCalTools.service.DetailService; import com.ruoyi.ngCalTools.service.GBT11062Service; import com.ruoyi.ngCalTools.service.ThermService; @@ -19,20 +21,56 @@ public class GasController { public GBT11062Service gbt11062Service; - @PostMapping ("/calculate") - public GasProps calculateProperties(@RequestBody GasProps tempPar) { - Zcal(tempPar, 0); -return tempPar; + + @PostMapping ("/flowCalc") + public FlowProps flowCalc(@RequestBody FlowProps flowProps) { + GasProps gasProps=new GasProps(); + AjaxResult ajaxResult=new AjaxResult(); + return ( flowProps); + } + + @PostMapping ("/ngCalc") + public GasProps ngCalc(@RequestBody FlowProps flowProps) { + + thermService=new ThermService(); + detailService=new DetailService(); + gbt11062Service=new GBT11062Service(); + + GasProps gasProps=new GasProps(); + gasProps.dPf=flowProps.getdPf()*1000000; + gasProps.dTf=flowProps.getdTf()+273.15; + gasProps.dCbtj=flowProps.getdCbtj(); + + // 分割字符串 + String[] stringArray = flowProps.getdngComponents().split("_"); + double[] doubleArray = new double[stringArray.length]; // 遍历字符串数组,将每个元素转换为 double 类型 + for (int i = 0; i < stringArray.length; i++) { + try { + doubleArray[i] = Double.parseDouble(stringArray[i])/100; + } catch (NumberFormatException e) { + // 处理转换异常 + System.err.println("无法将字符串 " + stringArray[i] + " 转换为 double 类型: " + e.getMessage()); + } + } + gasProps.adMixture = doubleArray; + Crit(gasProps,0); //计算临界流函数所有参数都计算了 + + return gasProps; } + + + + + public int NG_Cal_Init() { //create object for calculating density - if (null == detailService) { + if (null == (detailService=new DetailService())) { return GasConstants.MEMORY_ALLOCATION_ERROR; } //create object for calculating thermodynamic properties - if (null == thermService) { + if (null == (thermService=new ThermService())) { return GasConstants.MEMORY_ALLOCATION_ERROR; } @@ -70,7 +108,6 @@ return tempPar; gasProps.dCstar = 0; return gasProps.dSOS; } - public double Crit(GasProps gasProps, double dPlenumVelocity) { //variables local to function @@ -174,22 +211,7 @@ return tempPar; return gasProps.dZf; } - double Cperf(GasProps gasProps) - { - double k, root, exponent; - - k = gasProps.dKappa; root = 2.0 / (k + 1.0); - exponent = (k + 1.0) / (k - 1.0); - - return (Math.sqrt(k * Math.pow(root, exponent))); - - } - - double CRi(GasProps gasProps) - { - return (Cperf(gasProps) / Math.sqrt(gasProps.dZf)); - } } diff --git a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/flowProps.java b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/FlowProps.java similarity index 59% rename from ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/flowProps.java rename to ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/FlowProps.java index 23db842..ebfcb13 100644 --- a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/flowProps.java +++ b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/FlowProps.java @@ -1,8 +1,521 @@ package com.ruoyi.ngCalTools.model; -public class flowProps { +public class FlowProps { // 流量计算输入参数信息 private int dFlowCalbz; // 流量计算标准 + + public int getdZcalbz() { + return dZcalbz; + } + + public void setdZcalbz(int dZcalbz) { + this.dZcalbz = dZcalbz; + } + + public int getdFlowCalbz() { + return dFlowCalbz; + } + + public void setdFlowCalbz(int dFlowCalbz) { + this.dFlowCalbz = dFlowCalbz; + } + + public int getdCbtj() { + return dCbtj; + } + + public void setdCbtj(int dCbtj) { + this.dCbtj = dCbtj; + } + + public double getdPb_M() { + return dPb_M; + } + + public void setdPb_M(double dPb_M) { + this.dPb_M = dPb_M; + } + + public double getdTb_M() { + return dTb_M; + } + + public void setdTb_M(double dTb_M) { + this.dTb_M = dTb_M; + } + + public double getdPb_E() { + return dPb_E; + } + + public void setdPb_E(double dPb_E) { + this.dPb_E = dPb_E; + } + + public double getdTb_E() { + return dTb_E; + } + + public void setdTb_E(double dTb_E) { + this.dTb_E = dTb_E; + } + + public double getdPatm() { + return dPatm; + } + + public void setdPatm(double dPatm) { + this.dPatm = dPatm; + } + + public int getdPatmUnit() { + return dPatmUnit; + } + + public void setdPatmUnit(int dPatmUnit) { + this.dPatmUnit = dPatmUnit; + } + + public String getdngComponents() { + return dngComponents; + } + + public void setdngComponents(String dngComponents) { + this.dngComponents = dngComponents; + } + + public int getdMeterType() { + return dMeterType; + } + + public void setdMeterType(int dMeterType) { + this.dMeterType = dMeterType; + } + + public int getdCoreType() { + return dCoreType; + } + + public void setdCoreType(int dCoreType) { + this.dCoreType = dCoreType; + } + + public int getdPtmode() { + return dPtmode; + } + + public void setdPtmode(int dPtmode) { + this.dPtmode = dPtmode; + } + + public int getdPipeType() { + return dPipeType; + } + + public void setdPipeType(int dPipeType) { + this.dPipeType = dPipeType; + } + + public double getdPipeD() { + return dPipeD; + } + + public void setdPipeD(double dPipeD) { + this.dPipeD = dPipeD; + } + + public int getdLenUnit() { + return dLenUnit; + } + + public void setdLenUnit(int dLenUnit) { + this.dLenUnit = dLenUnit; + } + + public double getdPipeDtemp() { + return dPipeDtemp; + } + + public void setdPipeDtemp(double dPipeDtemp) { + this.dPipeDtemp = dPipeDtemp; + } + + public int getdPileDtempUint() { + return dPileDtempUint; + } + + public void setdPileDtempUint(int dPileDtempUint) { + this.dPileDtempUint = dPileDtempUint; + } + + public int getdPipeMaterial() { + return dPipeMaterial; + } + + public void setdPipeMaterial(int dPipeMaterial) { + this.dPipeMaterial = dPipeMaterial; + } + + public double getdOrificeD() { + return dOrificeD; + } + + public void setdOrificeD(double dOrificeD) { + this.dOrificeD = dOrificeD; + } + + public int getdOrificeUnit() { + return dOrificeUnit; + } + + public void setdOrificeUnit(int dOrificeUnit) { + this.dOrificeUnit = dOrificeUnit; + } + + public double getdOrificeDtemp() { + return dOrificeDtemp; + } + + public void setdOrificeDtemp(double dOrificeDtemp) { + this.dOrificeDtemp = dOrificeDtemp; + } + + public int getdOrificeDtempUnit() { + return dOrificeDtempUnit; + } + + public void setdOrificeDtempUnit(int dOrificeDtempUnit) { + this.dOrificeDtempUnit = dOrificeDtempUnit; + } + + public int getdOrificeMaterial() { + return dOrificeMaterial; + } + + public void setdOrificeMaterial(int dOrificeMaterial) { + this.dOrificeMaterial = dOrificeMaterial; + } + + public int getdOrificeSharpness() { + return dOrificeSharpness; + } + + public void setdOrificeSharpness(int dOrificeSharpness) { + this.dOrificeSharpness = dOrificeSharpness; + } + + public double getdOrificeRk() { + return dOrificeRk; + } + + public void setdOrificeRk(double dOrificeRk) { + this.dOrificeRk = dOrificeRk; + } + + public int getdOrificeRkLenUint() { + return dOrificeRkLenUint; + } + + public void setdOrificeRkLenUint(int dOrificeRkLenUint) { + this.dOrificeRkLenUint = dOrificeRkLenUint; + } + + public double getdPf() { + return dPf; + } + + public void setdPf(double dPf) { + this.dPf = dPf; + } + + public int getdPfUnit() { + return dPfUnit; + } + + public void setdPfUnit(int dPfUnit) { + this.dPfUnit = dPfUnit; + } + + public int getdPfType() { + return dPfType; + } + + public void setdPfType(int dPfType) { + this.dPfType = dPfType; + } + + public double getdTf() { + return dTf; + } + + public void setdTf(double dTf) { + this.dTf = dTf; + } + + public int getdTfUnit() { + return dTfUnit; + } + + public void setdTfUnit(int dTfUnit) { + this.dTfUnit = dTfUnit; + } + + public double getdDp() { + return dDp; + } + + public void setdDp(double dDp) { + this.dDp = dDp; + } + + public int getdDpUnit() { + return dDpUnit; + } + + public void setdDpUnit(int dDpUnit) { + this.dDpUnit = dDpUnit; + } + + public int getdVFlowUnit() { + return dVFlowUnit; + } + + public void setdVFlowUnit(int dVFlowUnit) { + this.dVFlowUnit = dVFlowUnit; + } + + public int getdMFlowUnit() { + return dMFlowUnit; + } + + public void setdMFlowUnit(int dMFlowUnit) { + this.dMFlowUnit = dMFlowUnit; + } + + public int getdEFlowUnit() { + return dEFlowUnit; + } + + public void setdEFlowUnit(int dEFlowUnit) { + this.dEFlowUnit = dEFlowUnit; + } + + public double getdCd() { + return dCd; + } + + public void setdCd(double dCd) { + this.dCd = dCd; + } + + public double getdMeterFactor() { + return dMeterFactor; + } + + public void setdMeterFactor(double dMeterFactor) { + this.dMeterFactor = dMeterFactor; + } + + public double getdPulseNum() { + return dPulseNum; + } + + public void setdPulseNum(double dPulseNum) { + this.dPulseNum = dPulseNum; + } + + public double getdVFlowMax() { + return dVFlowMax; + } + + public void setdVFlowMax(double dVFlowMax) { + this.dVFlowMax = dVFlowMax; + } + + public double getdVFlowMin() { + return dVFlowMin; + } + + public void setdVFlowMin(double dVFlowMin) { + this.dVFlowMin = dVFlowMin; + } + + public double getdVFlowCon() { + return dVFlowCon; + } + + public void setdVFlowCon(double dVFlowCon) { + this.dVFlowCon = dVFlowCon; + } + + public double getdPfRange() { + return dPfRange; + } + + public void setdPfRange(double dPfRange) { + this.dPfRange = dPfRange; + } + + public double getdDpRange() { + return dDpRange; + } + + public void setdDpRange(double dDpRange) { + this.dDpRange = dDpRange; + } + + public double getdTfRange() { + return dTfRange; + } + + public void setdTfRange(double dTfRange) { + this.dTfRange = dTfRange; + } + + public double getdE() { + return dE; + } + + public void setdE(double dE) { + this.dE = dE; + } + + public double getdFG() { + return dFG; + } + + public void setdFG(double dFG) { + this.dFG = dFG; + } + + public double getdFT() { + return dFT; + } + + public void setdFT(double dFT) { + this.dFT = dFT; + } + + public double getdDViscosity() { + return dDViscosity; + } + + public void setdDViscosity(double dDViscosity) { + this.dDViscosity = dDViscosity; + } + + public double getdDExpCoefficient() { + return dDExpCoefficient; + } + + public void setdDExpCoefficient(double dDExpCoefficient) { + this.dDExpCoefficient = dDExpCoefficient; + } + + public double getdRnPipe() { + return dRnPipe; + } + + public void setdRnPipe(double dRnPipe) { + this.dRnPipe = dRnPipe; + } + + public double getdBk() { + return dBk; + } + + public void setdBk(double dBk) { + this.dBk = dBk; + } + + public double getdRoughNessPipe() { + return dRoughNessPipe; + } + + public void setdRoughNessPipe(double dRoughNessPipe) { + this.dRoughNessPipe = dRoughNessPipe; + } + + public double getdCdCorrect() { + return dCdCorrect; + } + + public void setdCdCorrect(double dCdCorrect) { + this.dCdCorrect = dCdCorrect; + } + + public double getdCdNozell() { + return dCdNozell; + } + + public void setdCdNozell(double dCdNozell) { + this.dCdNozell = dCdNozell; + } + + public double getdVFlowb() { + return dVFlowb; + } + + public void setdVFlowb(double dVFlowb) { + this.dVFlowb = dVFlowb; + } + + public double getdVFlowf() { + return dVFlowf; + } + + public void setdVFlowf(double dVFlowf) { + this.dVFlowf = dVFlowf; + } + + public double getdMFlowb() { + return dMFlowb; + } + + public void setdMFlowb(double dMFlowb) { + this.dMFlowb = dMFlowb; + } + + public double getdEFlowb() { + return dEFlowb; + } + + public void setdEFlowb(double dEFlowb) { + this.dEFlowb = dEFlowb; + } + + public double getdVelocityFlow() { + return dVelocityFlow; + } + + public void setdVelocityFlow(double dVelocityFlow) { + this.dVelocityFlow = dVelocityFlow; + } + + public double getdPressLost() { + return dPressLost; + } + + public void setdPressLost(double dPressLost) { + this.dPressLost = dPressLost; + } + + public double getdBeta() { + return dBeta; + } + + public void setdBeta(double dBeta) { + this.dBeta = dBeta; + } + + public double getdKappa() { + return dKappa; + } + + public void setdKappa(double dKappa) { + this.dKappa = dKappa; + } + private int dZcalbz; // 压缩因子计算标准 private int dCbtj; // 计量参比条件压力 private double dPb_M; // 计量参比条件压力 @@ -11,7 +524,7 @@ public class flowProps { private double dTb_E; // 燃烧参比条件温度 private double dPatm; // 当地大气压 private int dPatmUnit; // 当地大气压单位 - private double[] dNG_Compents; // 天然气组分 + private String dngComponents; // 天然气组分 private int dMeterType; // 流量计类别 private int dCoreType; // 节流装置类型 @@ -72,518 +585,7 @@ public class flowProps { private double dKappa; // 等熵指数 // Getters and Setters - public int getDFlowCalbz() { - return dFlowCalbz; - } - public void setDFlowCalbz(int dFlowCalbz) { - this.dFlowCalbz = dFlowCalbz; - } - - public int getDZcalbz() { - return dZcalbz; - } - - public void setDZcalbz(int dZcalbz) { - this.dZcalbz = dZcalbz; - } - - public int getDCbtj() { - return dCbtj; - } - - public void setDCbtj(int dCbtj) { - this.dCbtj = dCbtj; - } - - public double getDPb_M() { - return dPb_M; - } - - public void setDPb_M(double dPb_M) { - this.dPb_M = dPb_M; - } - - public double getDTb_M() { - return dTb_M; - } - - public void setDTb_M(double dTb_M) { - this.dTb_M = dTb_M; - } - - public double getDPb_E() { - return dPb_E; - } - - public void setDPb_E(double dPb_E) { - this.dPb_E = dPb_E; - } - - public double getDTb_E() { - return dTb_E; - } - - public void setDTb_E(double dTb_E) { - this.dTb_E = dTb_E; - } - - public double getDPatm() { - return dPatm; - } - - public void setDPatm(double dPatm) { - this.dPatm = dPatm; - } - - public int getDPatmUnit() { - return dPatmUnit; - } - - public void setDPatmUnit(int dPatmUnit) { - this.dPatmUnit = dPatmUnit; - } - - public double[] getDNG_Compents() { - return dNG_Compents; - } - - public void setDNG_Compents(double[] dNG_Compents) { - this.dNG_Compents = dNG_Compents; - } - - public int getDMeterType() { - return dMeterType; - } - - public void setDMeterType(int dMeterType) { - this.dMeterType = dMeterType; - } - - public int getDCoreType() { - return dCoreType; - } - - public void setDCoreType(int dCoreType) { - this.dCoreType = dCoreType; - } - - public int getDPtmode() { - return dPtmode; - } - - public void setDPtmode(int dPtmode) { - this.dPtmode = dPtmode; - } - - public int getDPipeType() { - return dPipeType; - } - - public void setDPipeType(int dPipeType) { - this.dPipeType = dPipeType; - } - - public double getDPipeD() { - return dPipeD; - } - - public void setDPipeD(double dPipeD) { - this.dPipeD = dPipeD; - } - - public int getDLenUnit() { - return dLenUnit; - } - - public void setDLenUnit(int dLenUnit) { - this.dLenUnit = dLenUnit; - } - - public double getDPipeDtemp() { - return dPipeDtemp; - } - - public void setDPipeDtemp(double dPipeDtemp) { - this.dPipeDtemp = dPipeDtemp; - } - - public int getDPileDtempUint() { - return dPileDtempUint; - } - - public void setDPileDtempUint(int dPileDtempUint) { - this.dPileDtempUint = dPileDtempUint; - } - - public int getDPipeMaterial() { - return dPipeMaterial; - } - - public void setDPipeMaterial(int dPipeMaterial) { - this.dPipeMaterial = dPipeMaterial; - } - - public double getDOrificeD() { - return dOrificeD; - } - - public void setDOrificeD(double dOrificeD) { - this.dOrificeD = dOrificeD; - } - - public int getDOrificeUnit() { - return dOrificeUnit; - } - - public void setDOrificeUnit(int dOrificeUnit) { - this.dOrificeUnit = dOrificeUnit; - } - - public double getDOrificeDtemp() { - return dOrificeDtemp; - } - - public void setDOrificeDtemp(double dOrificeDtemp) { - this.dOrificeDtemp = dOrificeDtemp; - } - - public int getDOrificeDtempUnit() { - return dOrificeDtempUnit; - } - - public void setDOrificeDtempUnit(int dOrificeDtempUnit) { - this.dOrificeDtempUnit = dOrificeDtempUnit; - } - - public int getDOrificeMaterial() { - return dOrificeMaterial; - } - - public void setDOrificeMaterial(int dOrificeMaterial) { - this.dOrificeMaterial = dOrificeMaterial; - } - - public int getDOrificeSharpness() { - return dOrificeSharpness; - } - - public void setDOrificeSharpness(int dOrificeSharpness) { - this.dOrificeSharpness = dOrificeSharpness; - } - - public double getDOrificeRk() { - return dOrificeRk; - } - - public void setDOrificeRk(double dOrificeRk) { - this.dOrificeRk = dOrificeRk; - } - - public int getDOrificeRkLenUint() { - return dOrificeRkLenUint; - } - - public void setDOrificeRkLenUint(int dOrificeRkLenUint) { - this.dOrificeRkLenUint = dOrificeRkLenUint; - } - - public double getDPf() { - return dPf; - } - - public void setDPf(double dPf) { - this.dPf = dPf; - } - - public int getDPfUnit() { - return dPfUnit; - } - - public void setDPfUnit(int dPfUnit) { - this.dPfUnit = dPfUnit; - } - - public int getDPfType() { - return dPfType; - } - - public void setDPfType(int dPfType) { - this.dPfType = dPfType; - } - - public double getDTf() { - return dTf; - } - - public void setDTf(double dTf) { - this.dTf = dTf; - } - - public int getDTfUnit() { - return dTfUnit; - } - - public void setDTfUnit(int dTfUnit) { - this.dTfUnit = dTfUnit; - } - - public double getDDp() { - return dDp; - } - - public void setDDp(double dDp) { - this.dDp = dDp; - } - - public int getDDpUnit() { - return dDpUnit; - } - - public void setDDpUnit(int dDpUnit) { - this.dDpUnit = dDpUnit; - } - - public int getDVFlowUnit() { - return dVFlowUnit; - } - - public void setDVFlowUnit(int dVFlowUnit) { - this.dVFlowUnit = dVFlowUnit; - } - - public int getDMFlowUnit() { - return dMFlowUnit; - } - - public void setDMFlowUnit(int dMFlowUnit) { - this.dMFlowUnit = dMFlowUnit; - } - - public int getDEFlowUnit() { - return dEFlowUnit; - } - - public void setDEFlowUnit(int dEFlowUnit) { - this.dEFlowUnit = dEFlowUnit; - } - - public double getDCd() { - return dCd; - } - - public void setDCd(double dCd) { - this.dCd = dCd; - } - - public double getDMeterFactor() { - return dMeterFactor; - } - - public void setDMeterFactor(double dMeterFactor) { - this.dMeterFactor = dMeterFactor; - } - - public double getDPulseNum() { - return dPulseNum; - } - - public void setDPulseNum(double dPulseNum) { - this.dPulseNum = dPulseNum; - } - - public double getDVFlowMax() { - return dVFlowMax; - } - - public void setDVFlowMax(double dVFlowMax) { - this.dVFlowMax = dVFlowMax; - } - - public double getDVFlowMin() { - return dVFlowMin; - } - - public void setDVFlowMin(double dVFlowMin) { - this.dVFlowMin = dVFlowMin; - } - - public double getDVFlowCon() { - return dVFlowCon; - } - - public void setDVFlowCon(double dVFlowCon) { - this.dVFlowCon = dVFlowCon; - } - - public double getDPfRange() { - return dPfRange; - } - - public void setDPfRange(double dPfRange) { - this.dPfRange = dPfRange; - } - - public double getDDpRange() { - return dDpRange; - } - - public void setDDpRange(double dDpRange) { - this.dDpRange = dDpRange; - } - - public double getDTfRange() { - return dTfRange; - } - - public void setDTfRange(double dTfRange) { - this.dTfRange = dTfRange; - } - - public double getDE() { - return dE; - } - - public void setDE(double dE) { - this.dE = dE; - } - - public double getDFG() { - return dFG; - } - - public void setDFG(double dFG) { - this.dFG = dFG; - } - - public double getDFT() { - return dFT; - } - - public void setDFT(double dFT) { - this.dFT = dFT; - } - - public double getDDViscosity() { - return dDViscosity; - } - - public void setDDViscosity(double dDViscosity) { - this.dDViscosity = dDViscosity; - } - - public double getDDExpCoefficient() { - return dDExpCoefficient; - } - - public void setDDExpCoefficient(double dDExpCoefficient) { - this.dDExpCoefficient = dDExpCoefficient; - } - - public double getDRnPipe() { - return dRnPipe; - } - - public void setDRnPipe(double dRnPipe) { - this.dRnPipe = dRnPipe; - } - - public double getDBk() { - return dBk; - } - - public void setDBk(double dBk) { - this.dBk = dBk; - } - - public double getDRoughNessPipe() { - return dRoughNessPipe; - } - - public void setDRoughNessPipe(double dRoughNessPipe) { - this.dRoughNessPipe = dRoughNessPipe; - } - - public double getDCdCorrect() { - return dCdCorrect; - } - - public void setDCdCorrect(double dCdCorrect) { - this.dCdCorrect = dCdCorrect; - } - - public double getDCdNozell() { - return dCdNozell; - } - - public void setDCdNozell(double dCdNozell) { - this.dCdNozell = dCdNozell; - } - - public double getDVFlowb() { - return dVFlowb; - } - - public void setDVFlowb(double dVFlowb) { - this.dVFlowb = dVFlowb; - } - - public double getDVFlowf() { - return dVFlowf; - } - - public void setDVFlowf(double dVFlowf) { - this.dVFlowf = dVFlowf; - } - - public double getDMFlowb() { - return dMFlowb; - } - - public void setDMFlowb(double dMFlowb) { - this.dMFlowb = dMFlowb; - } - - public double getDEFlowb() { - return dEFlowb; - } - - public void setDEFlowb(double dEFlowb) { - this.dEFlowb = dEFlowb; - } - - public double getDVelocityFlow() { - return dVelocityFlow; - } - - public void setDVelocityFlow(double dVelocityFlow) - { - this.dVelocityFlow= dVelocityFlow; - } - - public double getDPressLost() { - return dPressLost; - } - - public void setDPressLost(double dPressLost) { - this.dPressLost = dPressLost; - } - - public double getDKappa() { - return dKappa; - } - - public void setDKappa(double dKappa) { - this.dKappa = dKappa; - } - - public double getDBeta() { - return dBeta; - } - - public void setDBeta(double dBeta) { - this.dBeta = dBeta; - } } diff --git a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/GasProps.java b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/GasProps.java index 7642deb..7f506a5 100644 --- a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/GasProps.java +++ b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/model/GasProps.java @@ -4,6 +4,447 @@ public class GasProps { // corresponds to the control group in meter classes public int lStatus; // calculation status 计算状态 public boolean bForceUpdate; // 执行全部计算的标志 signal to perform full calculation + + public double[] getAdMixture() { + return adMixture; + } + + public void setAdMixture(double[] adMixture) { + this.adMixture = adMixture; + } + + public int getlStatus() { + return lStatus; + } + + public void setlStatus(int lStatus) { + this.lStatus = lStatus; + } + + public boolean isbForceUpdate() { + return bForceUpdate; + } + + public void setbForceUpdate(boolean bForceUpdate) { + this.bForceUpdate = bForceUpdate; + } + + public double[] getAdMixtureV() { + return adMixtureV; + } + + public void setAdMixtureV(double[] adMixtureV) { + this.adMixtureV = adMixtureV; + } + + public double[] getAdMixtureD() { + return adMixtureD; + } + + public void setAdMixtureD(double[] adMixtureD) { + this.adMixtureD = adMixtureD; + } + + public int getdCbtj() { + return dCbtj; + } + + public void setdCbtj(int dCbtj) { + this.dCbtj = dCbtj; + } + + public double getdPb() { + return dPb; + } + + public void setdPb(double dPb) { + this.dPb = dPb; + } + + public double getdTb() { + return dTb; + } + + public void setdTb(double dTb) { + this.dTb = dTb; + } + + public double getdPf() { + return dPf; + } + + public void setdPf(double dPf) { + this.dPf = dPf; + } + + public double getdTf() { + return dTf; + } + + public void setdTf(double dTf) { + this.dTf = dTf; + } + + public double getdMrx() { + return dMrx; + } + + public void setdMrx(double dMrx) { + this.dMrx = dMrx; + } + + public double getdZb() { + return dZb; + } + + public void setdZb(double dZb) { + this.dZb = dZb; + } + + public double getdZf() { + return dZf; + } + + public void setdZf(double dZf) { + this.dZf = dZf; + } + + public double getdFpv() { + return dFpv; + } + + public void setdFpv(double dFpv) { + this.dFpv = dFpv; + } + + public double getdDb() { + return dDb; + } + + public void setdDb(double dDb) { + this.dDb = dDb; + } + + public double getdDf() { + return dDf; + } + + public void setdDf(double dDf) { + this.dDf = dDf; + } + + public double getdRhob() { + return dRhob; + } + + public void setdRhob(double dRhob) { + this.dRhob = dRhob; + } + + public double getdRhof() { + return dRhof; + } + + public void setdRhof(double dRhof) { + this.dRhof = dRhof; + } + + public double getdRD_Ideal() { + return dRD_Ideal; + } + + public void setdRD_Ideal(double dRD_Ideal) { + this.dRD_Ideal = dRD_Ideal; + } + + public double getdRD_Real() { + return dRD_Real; + } + + public void setdRD_Real(double dRD_Real) { + this.dRD_Real = dRD_Real; + } + + public double getdHo() { + return dHo; + } + + public void setdHo(double dHo) { + this.dHo = dHo; + } + + public double getdH() { + return dH; + } + + public void setdH(double dH) { + this.dH = dH; + } + + public double getdS() { + return dS; + } + + public void setdS(double dS) { + this.dS = dS; + } + + public double getdCpi() { + return dCpi; + } + + public void setdCpi(double dCpi) { + this.dCpi = dCpi; + } + + public double getdCp() { + return dCp; + } + + public void setdCp(double dCp) { + this.dCp = dCp; + } + + public double getdCv() { + return dCv; + } + + public void setdCv(double dCv) { + this.dCv = dCv; + } + + public double getDk() { + return dk; + } + + public void setDk(double dk) { + this.dk = dk; + } + + public double getdKappa() { + return dKappa; + } + + public void setdKappa(double dKappa) { + this.dKappa = dKappa; + } + + public double getdSOS() { + return dSOS; + } + + public void setdSOS(double dSOS) { + this.dSOS = dSOS; + } + + public double getdCstar() { + return dCstar; + } + + public void setdCstar(double dCstar) { + this.dCstar = dCstar; + } + + public double getdHhvMol() { + return dHhvMol; + } + + public void setdHhvMol(double dHhvMol) { + this.dHhvMol = dHhvMol; + } + + public double getdLhvMol() { + return dLhvMol; + } + + public void setdLhvMol(double dLhvMol) { + this.dLhvMol = dLhvMol; + } + + public double getdHhvv() { + return dHhvv; + } + + public void setdHhvv(double dHhvv) { + this.dHhvv = dHhvv; + } + + public double getdLhvv() { + return dLhvv; + } + + public void setdLhvv(double dLhvv) { + this.dLhvv = dLhvv; + } + + public double getdHhvm() { + return dHhvm; + } + + public void setdHhvm(double dHhvm) { + this.dHhvm = dHhvm; + } + + public double getdLhvm() { + return dLhvm; + } + + public void setdLhvm(double dLhvm) { + this.dLhvm = dLhvm; + } + + public double getdZb11062() { + return dZb11062; + } + + public void setdZb11062(double dZb11062) { + this.dZb11062 = dZb11062; + } + + public double getdRhob11062() { + return dRhob11062; + } + + public void setdRhob11062(double dRhob11062) { + this.dRhob11062 = dRhob11062; + } + + public double getdRhof11062() { + return dRhof11062; + } + + public void setdRhof11062(double dRhof11062) { + this.dRhof11062 = dRhof11062; + } + + public double getdRD_Ideal11062() { + return dRD_Ideal11062; + } + + public void setdRD_Ideal11062(double dRD_Ideal11062) { + this.dRD_Ideal11062 = dRD_Ideal11062; + } + + public double getdRD_Real11062() { + return dRD_Real11062; + } + + public void setdRD_Real11062(double dRD_Real11062) { + this.dRD_Real11062 = dRD_Real11062; + } + + public double getdWobbeIndex() { + return dWobbeIndex; + } + + public void setdWobbeIndex(double dWobbeIndex) { + this.dWobbeIndex = dWobbeIndex; + } + + public double getPc() { + return Pc; + } + + public void setPc(double pc) { + Pc = pc; + } + + public double getTC() { + return TC; + } + + public void setTC(double TC) { + this.TC = TC; + } + + public double getBzsx() { + return Bzsx; + } + + public void setBzsx(double bzsx) { + Bzsx = bzsx; + } + + public double getBzxx() { + return Bzxx; + } + + public void setBzxx(double bzxx) { + Bzxx = bzxx; + } + + public double getTotalC() { + return TotalC; + } + + public void setTotalC(double totalC) { + TotalC = totalC; + } + + public double getC2() { + return C2; + } + + public void setC2(double c2) { + C2 = c2; + } + + public double getC2j() { + return C2j; + } + + public void setC2j(double c2j) { + C2j = c2j; + } + + public double getC3j() { + return C3j; + } + + public void setC3j(double c3j) { + C3j = c3j; + } + + public double getC4j() { + return C4j; + } + + public void setC4j(double c4j) { + C4j = c4j; + } + + public double getC5j() { + return C5j; + } + + public void setC5j(double c5j) { + C5j = c5j; + } + + public double getC6j() { + return C6j; + } + + public void setC6j(double c6j) { + C6j = c6j; + } + + public double getC3C4() { + return C3C4; + } + + public void setC3C4(double c3C4) { + C3C4 = c3C4; + } + + public String getDngComponents() { + return dngComponents; + } + + public void setDngComponents(String dngComponents) { + this.dngComponents = dngComponents; + } + public double[] adMixture; // 气体摩尔组成 Composition in mole fraction public double[] adMixtureV; // 气体体积组成 Composition in mole fraction public double[] adMixtureD; // 气体质量组成 Composition in mole fraction @@ -62,447 +503,8 @@ public class GasProps { public double C5j; // C5以上组分含量 (kg/m3) public double C6j; // C6以上组分含量 (kg/m3) public double C3C4; // C3C4组分含量 (kg/m3) - public String dngComponents; //组分的组合字符串 从前端传过来 + public String dngComponents; //组分的组合字符串 从前端传过来 - // Getters and Setters - public String getDngComponents() { - return dngComponents; - } - public void setDngComponents(String dngComponents) { - this.dngComponents = dngComponents; - } - - public int getLStatus() { - return lStatus; - } - - public void setLStatus(int lStatus) { - this.lStatus = lStatus; - } - - public boolean isBForceUpdate() { - return bForceUpdate; - } - - public void setBForceUpdate(boolean bForceUpdate) { - this.bForceUpdate = bForceUpdate; - } - - public double[] getAdMixture() { - return adMixture; - } - - public void setAdMixture(double[] adMixture) { - this.adMixture = adMixture; - } - - public double[] getAdMixtureV() { - return adMixtureV; - } - - public void setAdMixtureV(double[] adMixtureV) { - this.adMixtureV = adMixtureV; - } - - public double[] getAdMixtureD() { - return adMixtureD; - } - - public void setAdMixtureD(double[] adMixtureD) { - this.adMixtureD = adMixtureD; - } - - public int getDCbtj() { - return dCbtj; - } - - public void setDCbtj(int dCbtj) { - this.dCbtj = dCbtj; - } - - public double getDPb() { - return dPb; - } - - public void setDPb(double dPb) { - this.dPb = dPb; - } - - public double getDTb() { - return dTb; - } - - public void setDTb(double dTb) { - this.dTb = dTb; - } - - public double getDPf() { - return dPf; - } - - public void setDPf(double dPf) { - this.dPf = dPf; - } - - public double getDTf() { - return dTf; - } - - public void setDTf(double dTf) { - this.dTf = dTf; - } - - public double getDMrx() { - return dMrx; - } - - public void setDMrx(double dMrx) { - this.dMrx = dMrx; - } - - public double getDZb() { - return dZb; - } - - public void setDZb(double dZb) { - this.dZb = dZb; - } - - public double getDZf() { - return dZf; - } - - public void setDZf(double dZf) { - this.dZf = dZf; - } - - public double getDFpv() { - return dFpv; - } - - public void setDFpv(double dFpv) { - this.dFpv = dFpv; - } - - public double getDDb() { - return dDb; - } - - public void setDDb(double dDb) { - this.dDb = dDb; - } - - public double getDDf() { - return dDf; - } - - public void setDDf(double dDf) { - this.dDf = dDf; - } - - public double getDRhob() { - return dRhob; - } - - public void setDRhob(double dRhob) { - this.dRhob = dRhob; - } - - public double getDRhof() { - return dRhof; - } - - public void setDRhof(double dRhof) { - this.dRhof = dRhof; - } - - public double getDRD_Ideal() { - return dRD_Ideal; - } - - public void setDRD_Ideal(double dRD_Ideal) { - this.dRD_Ideal = dRD_Ideal; - } - - public double getDRD_Real() { - return dRD_Real; - } - - public void setDRD_Real(double dRD_Real) { - this.dRD_Real = dRD_Real; - } - - public double getDHo() { - return dHo; - } - - public void setDHo(double dHo) { - this.dHo = dHo; - } - - public double getDH() { - return dH; - } - - public void setDH(double dH) { - this.dH = dH; - } - - public double getDS() { - return dS; - } - - public void setDS(double dS) { - this.dS = dS; - } - - public double getDCpi() { - return dCpi; - } - - public void setDCpi(double dCpi) { - this.dCpi = dCpi; - } - - public double getDCp() { - return dCp; - } - - public void setDCp(double dCp) { - this.dCp = dCp; - } - - public double getDCv() { - return dCv; - } - - public void setDCv(double dCv) { - this.dCv = dCv; - } - - public double getDk() { - return dk; - } - - public void setDk(double dk) { - this.dk = dk; - } - - public double getDKappa() { - return dKappa; - } - - public void setDKappa(double dKappa) { - this.dKappa = dKappa; - } - - public double getDSOS() { - return dSOS; - } - - public void setDSOS(double dSOS) { - this.dSOS = dSOS; - } - - public double getDCstar() { - return dCstar; - } - - public void setDCstar(double dCstar) { - this.dCstar = dCstar; - } - - public double getDHhvMol() { - return dHhvMol; - } - - public void setDHhvMol(double dHhvMol) { - this.dHhvMol = dHhvMol; - } - - public double getDLhvMol() { - return dLhvMol; - } - - public void setDLhvMol(double dLhvMol) { - this.dLhvMol = dLhvMol; - } - - public double getDHhvv() { - return dHhvv; - } - - public void setDHhvv(double dHhvv) { - this.dHhvv = dHhvv; - } - - public double getDLhvv() { - return dLhvv; - } - - public void setDLhvv(double dLhvv) { - this.dLhvv = dLhvv; - } - - public double getDHhvm() { - return dHhvm; - } - - public void setDHhvm(double dHhvm) { - this.dHhvm = dHhvm; - } - - public double getDLhvm() { - return dLhvm; - } - - public void setDLhvm(double dLhvm) { - this.dLhvm = dLhvm; - } - - public double getDZb11062() { - return dZb11062; - } - - public void setDZb11062(double dZb11062) { - this.dZb11062 = dZb11062; - } - - public double getDRhob11062() { - return dRhob11062; - } - - public void setDRhob11062(double dRhob11062) { - this.dRhob11062 = dRhob11062; - } - - public double getDRhof11062() { - return dRhof11062; - } - - public void setDRhof11062(double dRhof11062) { - this.dRhof11062 = dRhof11062; - } - - public double getDRD_Ideal11062() { - return dRD_Ideal11062; - } - - public void setDRD_Ideal11062(double dRD_Ideal11062) { - this.dRD_Ideal11062 = dRD_Ideal11062; - } - - public double getDRD_Real11062() { - return dRD_Real11062; - } - - public void setDRD_Real11062(double dRD_Real11062) { - this.dRD_Real11062 = dRD_Real11062; - } - - public double getDWobbeIndex() { - return dWobbeIndex; - } - - public void setDWobbeIndex(double dWobbeIndex) { - this.dWobbeIndex = dWobbeIndex; - } - - public double getPc() { - return Pc; - } - - public void setPc(double pc) { - this.Pc = pc; - } - - public double getTC() { - return TC; - } - - public void setTC(double tc) { - this.TC = tc; - } - - public double getBzsx() { - return Bzsx; - } - - public void setBzsx(double bzsx) { - this.Bzsx = bzsx; - } - - public double getBzxx() { - return Bzxx; - } - - public void setBzxx(double bzxx) { - this.Bzxx = bzxx; - } - - public double getTotalC() { - return TotalC; - } - - public void setTotalC(double totalC) { - this.TotalC = totalC; - } - - public double getC2() { - return C2; - } - - public void setC2(double c2) { - this.C2 = c2; - } - - public double getC2j() { - return C2j; - } - - public void setC2j(double c2j) { - this.C2j = c2j; - } - - public double getC3j() { - return C3j; - } - - public void setC3j(double c3j) { - this.C3j = c3j; - } - - public double getC4j() { - return C4j; - } - - public void setC4j(double c4j) { - this.C4j = c4j; - } - - public double getC5j() { - return C5j; - } - - public void setC5j(double c5j) { - this.C5j = c5j; - } - - public double getC6j() { - return C6j; - } - - public void setC6j(double c6j) { - this.C6j = c6j; - } - - public double getC3C4() { - return C3C4; - } - - public void setC3C4(double c3c4) { - this.C3C4 = c3c4; - } } diff --git a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/DetailService.java b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/DetailService.java index c35cf89..b549bdc 100644 --- a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/DetailService.java +++ b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/DetailService.java @@ -6,7 +6,7 @@ import org.springframework.stereotype.Service; @Service public class DetailService { - private static final int NUMBER_OF_COMPONENTS = 21; + private static final double RGASKJ = 8.314510e-3; // 成员变量转换 @@ -124,7 +124,22 @@ public class DetailService { public double dd2BdT2; - // 其他成员变量... + // 构造函数 + public DetailService() + { + //initialize history-sensitive variables + dOldMixID = 0.0; // mixture ID from previous calc + dOldPb = 0.0; // base pressure from previous calc + dOldTb = 0.0; // base temperature from previous calc + dOldPf = 0.0; // flowing pressure from previous calc + dOldTf = 0.0; // flowing temperature from previous calc + + //initialize gas component array used within this class + for (int i = 0; i < GasConstants.NUMBEROFCOMPONENTS; i++) dXi[i] = 0; + // function table() populates tables of static constants + table(); + + } public void run(GasProps gasProps) { // 实现转换后的逻辑 @@ -132,7 +147,7 @@ public class DetailService { int i; // Check for gas composition change - gasProps.bForceUpdate = gasProps.bForceUpdate || compositionChange(gasProps); + gasProps.bForceUpdate = (gasProps.bForceUpdate || compositionChange(gasProps)); // assign component IDs and values if (gasProps.bForceUpdate) { @@ -224,10 +239,9 @@ public class DetailService { private boolean compositionChange(GasProps gasProps) { double dMixID = 0.0; - for (int i = 0; i < NUMBER_OF_COMPONENTS; i++) { - dMixID += ((i + 2) * gasProps.getAdMixture()[i]); - } - if (dMixID != dOldMixID) { + for (int i = 0; i < GasConstants.NUMBEROFCOMPONENTS; i++) { + dMixID += ((i + 2) * gasProps.adMixture[i]); + }if (dMixID != dOldMixID) { dOldMixID = dMixID; return true; } @@ -238,10 +252,10 @@ public class DetailService { int j, k; // table 5 parameters; declared locally to this function - double[] adTable5Mri = new double[GasConstants.NUMBEROFCOMPONENTS]; - double[] adTable5Ei = new double[GasConstants.NUMBEROFCOMPONENTS]; - double[] adTable5Ki = new double[GasConstants.NUMBEROFCOMPONENTS]; - double[] adTable5Gi = new double[GasConstants.NUMBEROFCOMPONENTS]; + double[] adTable5Mri; + double[] adTable5Ei; + double[] adTable5Ki; + double[] adTable5Gi; // 初始化adTable5Mri数组 adTable5Mri = new double[]{16.0430, 28.0135, 44.0100, 30.0700, 44.0970, 18.0153, 34.0820, 2.0159, 28.0100, 31.9988, 58.1230, 58.1230, 72.1500, 72.1500, 86.1770, 100.2040, 114.2310, 128.2580, 142.2850, 4.0026, 39.9480}; diff --git a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/GBT11062Service.java b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/GBT11062Service.java index f0c3907..8c2a21e 100644 --- a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/GBT11062Service.java +++ b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/GBT11062Service.java @@ -51,88 +51,88 @@ public class GBT11062Service { double dMair = 28.9626; double dZair = 0; DetailService detailService; - public void Run(GasProps ptAGA10) { + public void Run(GasProps gasProps) { for (int i = 0; i < GasConstants.NUMBEROFCOMPONENTS; i++) dXi[i] = 0; iNCC = -1; for (i = 0; i < GasConstants.NUMBEROFCOMPONENTS; i++) { - if (ptAGA10.adMixture[i] > 0.0) { + if (gasProps.adMixture[i] > 0.0) { iNCC = iNCC + 1; aiCID[iNCC] = i; - dXi[iNCC] = ptAGA10.adMixture[i]; + dXi[iNCC] = gasProps.adMixture[i]; } } iNCC = iNCC + 1; for (i = 0; i < GasConstants.NUMBEROFCOMPONENTS; i++) { - if (ptAGA10.adMixture[i] != 0) { - ptAGA10.Pc += adTablePc[i] * ptAGA10.adMixture[i]; - ptAGA10.TC += adTableTc[i] * ptAGA10.adMixture[i]; + if (gasProps.adMixture[i] != 0) { + gasProps.Pc += adTablePc[i] * gasProps.adMixture[i]; + gasProps.TC += adTableTc[i] * gasProps.adMixture[i]; if (adTableBzsx[i] != 0) { - ptAGA10.Bzsx += ptAGA10.adMixture[i] / adTableBzsx[i]; - ptAGA10.Bzxx += ptAGA10.adMixture[i] / adTableBzxx[i]; + gasProps.Bzsx += gasProps.adMixture[i] / adTableBzsx[i]; + gasProps.Bzxx += gasProps.adMixture[i] / adTableBzxx[i]; } if (i >= 10 & i <= 18) { - ptAGA10.C4j += ptAGA10.adMixture[i] * adTableMri[i]; + gasProps.C4j += gasProps.adMixture[i] * adTableMri[i]; } if (i >= 12 & i <= 18) { - ptAGA10.C5j += ptAGA10.adMixture[i] * adTableMri[i]; + gasProps.C5j += gasProps.adMixture[i] * adTableMri[i]; } if (i >= 14 & i <= 18) { - ptAGA10.C6j += ptAGA10.adMixture[i] * adTableMri[i]; + gasProps.C6j += gasProps.adMixture[i] * adTableMri[i]; } if (i == 3) { - ptAGA10.C2 += ptAGA10.adMixture[i] * adTableMri[i]; + gasProps.C2 += gasProps.adMixture[i] * adTableMri[i]; } - switch (ptAGA10.dCbtj) { + switch (gasProps.dCbtj) { case 2: - ptAGA10.dZb11062 += adTableSqrtbj[0][i] * ptAGA10.adMixture[i]; - ptAGA10.dHhvMol += adTableHhvMol[0][i] * ptAGA10.adMixture[i]; - ptAGA10.dLhvMol += adTableLhvMol[0][i] * ptAGA10.adMixture[i]; + gasProps.dZb11062 += adTableSqrtbj[0][i] * gasProps.adMixture[i]; + gasProps.dHhvMol += adTableHhvMol[0][i] * gasProps.adMixture[i]; + gasProps.dLhvMol += adTableLhvMol[0][i] * gasProps.adMixture[i]; dZair = 0.99941; break; case 1: - ptAGA10.dZb11062 += adTableSqrtbj[1][i] * ptAGA10.adMixture[i]; - ptAGA10.dHhvMol += adTableHhvMol[1][i] * ptAGA10.adMixture[i]; - ptAGA10.dLhvMol += adTableLhvMol[1][i] * ptAGA10.adMixture[i]; + gasProps.dZb11062 += adTableSqrtbj[1][i] * gasProps.adMixture[i]; + gasProps.dHhvMol += adTableHhvMol[1][i] * gasProps.adMixture[i]; + gasProps.dLhvMol += adTableLhvMol[1][i] * gasProps.adMixture[i]; dZair = 0.99958; break; case 0: - ptAGA10.dZb11062 += adTableSqrtbj[2][i] * ptAGA10.adMixture[i]; - ptAGA10.dHhvMol += adTableHhvMol[2][i] * ptAGA10.adMixture[i]; - ptAGA10.dLhvMol += adTableLhvMol[2][i] * ptAGA10.adMixture[i]; + gasProps.dZb11062 += adTableSqrtbj[2][i] * gasProps.adMixture[i]; + gasProps.dHhvMol += adTableHhvMol[2][i] * gasProps.adMixture[i]; + gasProps.dLhvMol += adTableLhvMol[2][i] * gasProps.adMixture[i]; dZair = 0.99963; break; } } } - ptAGA10.Bzsx = 1 / ptAGA10.Bzsx; - ptAGA10.Bzxx = 1 / ptAGA10.Bzxx; - ptAGA10.dZb11062 = 1 - ptAGA10.dZb11062 * ptAGA10.dZb11062; - ptAGA10.dHhvm = ptAGA10.dHhvMol / ptAGA10.dMrx; - ptAGA10.dLhvm = ptAGA10.dLhvMol / ptAGA10.dMrx; - ptAGA10.dHhvv = ptAGA10.dHhvMol * ptAGA10.dPb / ptAGA10.dTb / 8314.510 / ptAGA10.dZb11062; - ptAGA10.dLhvv = ptAGA10.dLhvMol * ptAGA10.dPb / ptAGA10.dTb / 8314.510 / ptAGA10.dZb11062; - ptAGA10.dRD_Ideal11062 = ptAGA10.dMrx / dMair; - ptAGA10.dRD_Real11062 = ptAGA10.dRD_Ideal11062 * dZair / ptAGA10.dZb11062; + gasProps.Bzsx = 1 / gasProps.Bzsx; + gasProps.Bzxx = 1 / gasProps.Bzxx; + gasProps.dZb11062 = 1 - gasProps.dZb11062 * gasProps.dZb11062; + gasProps.dHhvm = gasProps.dHhvMol / gasProps.dMrx; + gasProps.dLhvm = gasProps.dLhvMol / gasProps.dMrx; + gasProps.dHhvv = gasProps.dHhvMol * gasProps.dPb / gasProps.dTb / 8314.510 / gasProps.dZb11062; + gasProps.dLhvv = gasProps.dLhvMol * gasProps.dPb / gasProps.dTb / 8314.510 / gasProps.dZb11062; + gasProps.dRD_Ideal11062 = gasProps.dMrx / dMair; + gasProps.dRD_Real11062 = gasProps.dRD_Ideal11062 * dZair / gasProps.dZb11062; - ptAGA10.dRhob11062 = ptAGA10.dMrx * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.dRhof11062 = ptAGA10.dMrx * ptAGA10.dPf / 8314.51 / ptAGA10.dTf / ptAGA10.dZf; - ptAGA10.dWobbeIndex = ptAGA10.dHhvv / Math.sqrt(ptAGA10.dRD_Real11062); - ptAGA10.C3j = ptAGA10.C4j + ptAGA10.adMixture[4] * adTableMri[4]; - ptAGA10.C2j = ptAGA10.C3j + ptAGA10.adMixture[3] * adTableMri[3]; - ptAGA10.C3C4 = ptAGA10.adMixture[4] * adTableMri[4] + ptAGA10.adMixture[10] * adTableMri[10] + ptAGA10.adMixture[11] * adTableMri[11]; - ptAGA10.TotalC = ptAGA10.C2j + ptAGA10.adMixture[0] * adTableMri[0]; + gasProps.dRhob11062 = gasProps.dMrx * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.dRhof11062 = gasProps.dMrx * gasProps.dPf / 8314.51 / gasProps.dTf / gasProps.dZf; + gasProps.dWobbeIndex = gasProps.dHhvv / Math.sqrt(gasProps.dRD_Real11062); + gasProps.C3j = gasProps.C4j + gasProps.adMixture[4] * adTableMri[4]; + gasProps.C2j = gasProps.C3j + gasProps.adMixture[3] * adTableMri[3]; + gasProps.C3C4 = gasProps.adMixture[4] * adTableMri[4] + gasProps.adMixture[10] * adTableMri[10] + gasProps.adMixture[11] * adTableMri[11]; + gasProps.TotalC = gasProps.C2j + gasProps.adMixture[0] * adTableMri[0]; - ptAGA10.TotalC = ptAGA10.TotalC * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C2 = ptAGA10.C2 * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C3C4 = ptAGA10.C3C4 * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C2j = ptAGA10.C2j * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C3j = ptAGA10.C3j * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C4j = ptAGA10.C4j * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C5j = ptAGA10.C5j * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; - ptAGA10.C6j = ptAGA10.C6j * ptAGA10.dPb / 8314.51 / ptAGA10.dTb / ptAGA10.dZb11062; + gasProps.TotalC = gasProps.TotalC * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C2 = gasProps.C2 * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C3C4 = gasProps.C3C4 * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C2j = gasProps.C2j * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C3j = gasProps.C3j * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C4j = gasProps.C4j * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C5j = gasProps.C5j * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; + gasProps.C6j = gasProps.C6j * gasProps.dPb / 8314.51 / gasProps.dTb / gasProps.dZb11062; } diff --git a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/ThermService.java b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/ThermService.java index 4a9854f..c5a6831 100644 --- a/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/ThermService.java +++ b/ruoyi-ngtools/src/main/java/com/ruoyi/ngCalTools/service/ThermService.java @@ -54,13 +54,14 @@ public class ThermService { {0.0, 4.9680, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0}, {0.0, 4.9680, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0, 100.0, 0.0} }; - - public void calculateThermodynamicProperties(GasProps gasProps) { - // 实现热力学计算逻辑 - double cp = calculateCpiMolar(gasProps); - gasProps.setDCpi(cp * 1000 / gasProps.getDMrx()); - // 其他计算... + public ThermService() + { + // initialize 3 history-sensitive variables + dSi = 0.0; + dTold = 0.0; + dMrxold = 0.0; } + public void Run(GasProps gasProps, DetailService detailService) { //local variables @@ -86,7 +87,7 @@ public class ThermService { gasProps.dKappa = (c * gasProps.dRhof) / gasProps.dPf; return; } - private double calculateCpiMolar(GasProps gasProps) { + private double CpiMolar(GasProps gasProps) { double cp = 0.0; double Cpx; double DT, FT, HT, JT; @@ -213,7 +214,7 @@ public class ThermService { double Hinc = 0.0; double Sinc = 0.0; double Smixing = 0.0; - double Cp = calculateCpiMolar(gasProps); + double Cp = CpiMolar(gasProps); double Si; gasProps.dHo = Ho(gasProps);