package com.ruoyi.caltools.model;

public class GasProps implements Cloneable {

    // 重写 clone() 方法
    @Override
    public GasProps clone() {
        try {
            return (GasProps) super.clone();
        } catch (CloneNotSupportedException e) {
            // 因为已经实现了 Cloneable 接口，所以不会抛出该异常
            throw new AssertionError();
        }
    }


    // corresponds to the control group in meter classes
    public int lStatus;  // calculation status 计算状态
    public boolean bForceUpdate;  // 执行全部计算的标志 signal to perform full calculation
    public double[] adMixture; // 气体摩尔组成 Composition in mole fraction
    public double[] adMixtureV; // 气体体积组成 Composition in mole fraction
    public double[] adMixtureD; // 气体质量组成 Composition in mole fraction
    public int dCbtj; // 参比条件 101325 0,15,20
    public double dPb;  // 参比压力 Contract base Pressure (Pa)
    public double dTb;  // 参比温度Contract base temperature (K)
    public double dPf;  // 绝对压力 Absolute Pressure (Pa)
    public double dTf;  // 工况温度 Flowing temperature (K)
    // basic output from AGA 8 Detail method
    public double dMrx;  // 分子量 mixture molar mass
    public double dZb;  // 标况压缩因子compressibility at contract base condition
    public double dZf;  // 工况压缩因子compressibility at flowing condition
    public double dFpv;  // 超压缩系数 supercompressibility
    public double dDb;  // 标况摩尔密度molar density at contract base conditions (moles/dm3)
    public double dDf;  // 工况摩尔密度 molar density at flowing conditions (moles/dm3)
    public double dRhob;  // 标况质量密度mass density at contract base conditions (kg/m3)
    public double dRhof;  // 工况质量密度 mass density at flowing conditions (kg/m3)
    public double dRD_Ideal;  // 理想气体的相对密度ideal gas relative density
    public double dRD_Real;  // 真实气体的相对密度real gas relative density
    // additional output
    public double dHo;  // 理想气体的比焓 ideal gas specific enthalpy
    public double dH; // 真实气体的焓 real gas specific enthalpy (J/kg)
    public double dS; // 真实气体的熵real gas specific entropy (J/kg-mol.K)
    public double dCpi; // 理想气体定压热容 ideal gas constant pressure heat capacity (J/kg-mol.K)
    public double dCp; // 定压热容real gas constant pressure heat capacity (J/kg-mol.K)
    public double dCv; // 定容积热容 real gas constant volume heat capacity (J/kg-mol.K)
    public double dk; // 比热比ratio of specific heats
    public double dKappa; // 等熵指数 isentropic exponent, denoted with Greek letter kappa
    public double dSOS; // 声速speed of sound (m/s)
    public double dCstar; // 临界流函数 critical flow factor C*

    // 11062 输出
    public double dHhvMol; // 摩尔高位发热量
    public double dLhvMol; // 摩尔低位发热量
    public double dHhvv; // 体积高位发热量
    public double dLhvv; // 体积低位发热量
    public double dHhvm; // 质量高位发热量
    public double dLhvm; // 质量地位发热量

    public double dZb11062; // 标况压缩因子
    public double dRhob11062;  // 标况质量密度mass density at contract base conditions (kg/m3)
    public double dRhof11062;  // 工况质量密度 mass density at flowing conditions (kg/m3)
    public double dRD_Ideal11062;  // 理想气体的相对密度ideal gas relative density
    public double dRD_Real11062;  // 真实气体的相对密度real gas relative density
    public double dWobbeIndex;  // 真实气体的沃泊指数

    public double dPc;   // 临界压力
    public double dTC;      // 临界温度
    public double dBzsx;    // 爆炸上限
    public double dBzxx;   // 爆炸下限
    public double dTotalC;     // 总炭含量 (kg/m3)
    public double dC2;     // C2组分含量 (kg/m3)
    public double dC2j;     // C2以上组分含量 (kg/m3)
    public double dC3j;     // C3以上组分含量 (kg/m3)
    public double dC4j;     // C4以上组分含量 (kg/m3)
    public double dC5j;   // C5以上组分含量 (kg/m3)
    public double dC6j;   // C6以上组分含量 (kg/m3)
    public double dC3C4;   // C3C4组分含量 (kg/m3)
    public String dngComponents; //组分的组合字符串 从前端传过来

    // 新增高精度物性参数
    private double dMu;       // 动态粘度 (Pa·s)
    private double dNu;       // 运动粘度 (m²/s)
    // 新增滞止参数
    public double dP0;  // 滞止压力（Pa）
    public double dT0;  // 滞止温度（K）





    public double getdP0() {
        return dP0;
    }

    public void setdP0(double dP0) {
        this.dP0 = dP0;
    }

    public double getdT0() {
        return dT0;
    }

    public void setdT0(double dT0) {
        this.dT0 = dT0;
    }



    public double[] getAdMixtureD() {
        return adMixtureD;
    }

    public void setAdMixtureD(double[] adMixtureD) {
        this.adMixtureD = adMixtureD;
    }

    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 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 getdPc() {
        return dPc;
    }

    public void setdPc(double dPc) {
        this.dPc = dPc;
    }

    public double getdTC() {
        return dTC;
    }

    public void setdTC(double dTC) {
        this.dTC = dTC;
    }

    public double getdBzsx() {
        return dBzsx;
    }

    public void setdBzsx(double dBzsx) {
        this.dBzsx = dBzsx;
    }

    public double getdBzxx() {
        return dBzxx;
    }

    public void setdBzxx(double dBzxx) {
        this.dBzxx = dBzxx;
    }

    public double getdTotalC() {
        return dTotalC;
    }

    public void setdTotalC(double dTotalC) {
        this.dTotalC = dTotalC;
    }

    public double getdC2() {
        return dC2;
    }

    public void setdC2(double dC2) {
        this.dC2 = dC2;
    }

    public double getdC2j() {
        return dC2j;
    }

    public void setdC2j(double dC2j) {
        this.dC2j = dC2j;
    }

    public double getdC3j() {
        return dC3j;
    }

    public void setdC3j(double dC3j) {
        this.dC3j = dC3j;
    }

    public double getdC4j() {
        return dC4j;
    }

    public void setdC4j(double dC4j) {
        this.dC4j = dC4j;
    }

    public double getdC5j() {
        return dC5j;
    }

    public void setdC5j(double dC5j) {
        this.dC5j = dC5j;
    }

    public double getdC6j() {
        return dC6j;
    }

    public void setdC6j(double dC6j) {
        this.dC6j = dC6j;
    }

    public double getdC3C4() {
        return dC3C4;
    }

    public void setdC3C4(double dC3C4) {
        this.dC3C4 = dC3C4;
    }

    public String getDngComponents() {
        return dngComponents;
    }

    public void setDngComponents(String dngComponents) {
        this.dngComponents = dngComponents;
    }


    public double getdMu() {
        return dMu;
    }

    public void setdMu(double dMu) {
        this.dMu = dMu;
    }

    public double getdNu() {
        return dNu;
    }

    public void setdNu(double dNu) {
        this.dNu = dNu;
    }




}
