Class ComponentPR
java.lang.Object
neqsim.thermo.component.Component
neqsim.thermo.component.ComponentEos
neqsim.thermo.component.ComponentPR
- All Implemented Interfaces:
Serializable, Cloneable, ComponentEosInterface, ComponentInterface, ThermodynamicConstantsInterface
- Direct Known Subclasses:
ComponentBNS, ComponentPrCPA, ComponentPRvolcor, ComponentSoreideWhitson, ComponentUMRCPA
ComponentPR class.
- Version:
- $Id: $Id
- Author:
- Even Solbraa
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final doubleConstant model coefficient m0 in mol^(2/3).private static final doubleConstant model coefficient m1 in mol^(2/3).private static final doubleConstant model coefficient m2 in mol^(2/3).private static final doubleUniversal exponent from 3D Ising model critical exponent beta = 0.326. n = 8 * beta - 3 = -0.392.private double[]Per-fluid Cachadina influence parameter coefficients [m0, m1, m2].private intInfluence parameter model type for gradient theory surface tension. 0 = Linear Zuo-Stenby (default), 1 = Cachadina et al. (2024) three-coefficient model.private static final longSerialization version UID.Fields inherited from class ComponentEos
a, aDern, aDerT, aDerTn, aDerTT, aDiffDiffT, aDiffT, Ai, Aij, AiT, alpha, aT, b, bDern, bDerTn, Bi, Bij, dAdndn, dBdndn, delta1, delta2, logger, m, omegaAOverride, sqrtATFields inherited from class Component
acentricFactor, aCPA, AntoineA, AntoineASolid, AntoineB, AntoineBSolid, AntoineC, AntoineCSolid, AntoineD, AntoineE, antoineLiqVapPresType, associationEnergy, associationScheme, associationVolume, attractiveTermNumber, bCPA, calcActivity, componentName, componentNumber, criticalPressure, criticalTemperature, criticalViscosity, criticalVolume, debyeDipoleMoment, dfugdn, dfugdp, dfugdt, dfugdx, dielectricParameter, dqPuredT, dqPuredTdT, elements, epsikSAFT, epsikSAFTVRMie, fugacityCoefficient, gibbsEnergyOfFormation, heatOfVaporizationCoefs, henryCoefParameter, Hsub, idealGasAbsoluteEntropy, idealGasGibbsEnergyOfFormation, index, ionicCharge, isIon, isNormalComponent, isPlusFraction, isTBPfraction, K, lambdaASAFTVRMie, lambdaRSAFTVRMie, lennardJonesEnergyParameter, lennardJonesMolecularDiameter, liquidConductivityParameter, liquidDensityCoefs, liquidViscosityModel, liquidViscosityParameter, matiascopemanParams, matiascopemanParamsPR, matiascopemanParamsUMRPRU, matiascopemanSolidParams, mCPA, meltingPointTemperature, molarMass, mSAFTi, mSAFTVRMie, normalBoilingPoint, normalLiquidDensity, numberOfAssociationSites, numberOfMoles, numberOfMolesInPhase, parachorParameter, paulingAnionicDiameter, qPure, racketZ, referencePotential, referenceStateType, schwartzentruberParams, sigmaSAFTi, sigmaSAFTVRMie, solidCheck, solidDensityCoefs, sphericalCoreRadius, srkacentricFactor, standardDensity, stokesCationicDiameter, surfTensInfluenceParam, triplePointDensity, triplePointPressure, TwuCoonParams, viscosityCorrectionFactor, viscosityFrictionK, voli, x, zFields inherited from interface ThermodynamicConstantsInterface
atm, avagadroNumber, boltzmannConstant, electronCharge, faradayConstant, gravity, molarMassAir, normalStateTemperature, pi, planckConstant, R, referencePressure, referenceTemperature, standardStateTemperature, vacumPermittivity -
Constructor Summary
ConstructorsConstructorDescriptionComponentPR(int number, double TC, double PC, double M, double a, double moles) Constructor for ComponentPR.ComponentPR(String name, double moles, double molesInPhase, int compIndex) Constructor for ComponentPR. -
Method Summary
Modifier and TypeMethodDescriptiondoublecalca()calca.doublecalcb()calcb.private doublecalcCachadinaInfluenceParameter(double temperature) Calculates the influence parameter using the Cachadina et al. (2024) three-coefficient correlation with universal exponent from the 3D Ising model.clone()clone.double[]Gets the per-fluid Cachadina influence parameter coefficients.doublegetdQpuredT(double temperature) getdQpuredT.doublegetdQpuredTdT(double temperature) getdQpuredTdT.intGets the influence parameter model type.doublegetQpure(double temperature) getQpure.doublegetSurfaceTenisionInfluenceParameter(double temperature) getSurfaceTenisionInfluenceParameter.doublegetVolumeCorrection.voidsetCachadinaInfluenceParameters(double m0, double m1, double m2) Sets per-fluid Cachadina influence parameter coefficients.voidsetInfluenceParameterModel(int model) Sets the influence parameter model type for gradient theory surface tension calculations.Methods inherited from class ComponentEos
alpha, aT, dFdN, dFdNdN, dFdNdT, dFdNdV, diffalphaT, diffaT, diffdiffalphaT, diffdiffaT, equals, Finit, fugcoef, geta, getAder, getaDiffDiffT, getaDiffT, getAi, getAij, getAiT, getAresnTV, getaT, getAttractiveParameter, getAttractiveTerm, getb, getBder, getBi, getBij, getChemicalPotential, getdAdndn, getdAdT, getdAdTdn, getdAdTdT, getdBdndn, getdBdndT, getdBdT, getDeltaEosParameters, getdUdndnSV, getdUdnSV, getdUdSdnV, getdUdVdnS, getOmegaAOverride, hasOmegaAOverride, init, logfugcoefdN, logfugcoefdNi, logfugcoefdP, logfugcoefdT, seta, setAder, setAttractiveParameter, setAttractiveTerm, setb, setBder, setdAdndn, setdAdT, setdAdTdn, setdAdTdT, setdBdndn, setdBdndT, setdBdTdT, setOmegaAMethods inherited from class Component
addMolesChemReac, calcActivity, createComponent, doSolidCheck, fugcoefDiffPresNumeric, fugcoefDiffTempNumeric, getAcentricFactor, getAntoineASolid, getAntoineBSolid, getAntoineCSolid, getAntoineVaporPressure, getAntoineVaporPressuredT, getAntoineVaporTemperature, getAssociationEnergy, getAssociationEnergySAFT, getAssociationEnergySAFTVRMie, getAssociationScheme, getAssociationVolume, getAssociationVolumeSAFT, getAssociationVolumeSAFTVRMie, getAttractiveTermNumber, getCASnumber, getCCsolidVaporPressure, getCCsolidVaporPressuredT, getChemicalPotential, getChemicalPotentialdN, getChemicalPotentialdNTV, getChemicalPotentialdP, getChemicalPotentialdP, getChemicalPotentialdT, getChemicalPotentialdV, getChemicalPotentialIdealReference, getComponentName, getComponentNumber, getComponentType, getCostaldCharacteristicVolume, getCp0, getCpA, getCpB, getCpC, getCpD, getCpE, getCriticalCompressibilityFactor, getCriticalViscosity, getCriticalVolume, getCv0, getDebyeDipoleMoment, getdfugdn, getdfugdp, getdfugdt, getdfugdx, getDielectricConstant, getDielectricConstantdT, getDielectricConstantdTdT, getdrhodN, getElements, getEnthalpy, getEntropy, getEpsikSAFT, getEpsikSAFTVRMie, getFlowRate, getFormulae, getFugacityCoefficient, getFugacitydN, getGibbsEnergy, getGibbsEnergyOfFormation, getGresTP, getHeatOfFusion, getHeatOfVapourization, getHenryCoef, getHenryCoefdT, getHenryCoefParameter, getHID, getHresTP, getHsub, getIdealGasAbsoluteEntropy, getIdealGasEnthalpyOfFormation, getIdealGasGibbsEnergyOfFormation, getIdEntropy, getIndex, getIonicCharge, getIonicDiameter, getK, getLambdaASAFTVRMie, getLambdaRSAFTVRMie, getLennardJonesEnergyParameter, getLennardJonesMolecularDiameter, getLiquidConductivityParameter, getLiquidViscosityModel, getLiquidViscosityParameter, getMatiascopemanParams, getMatiascopemanParams, getMatiascopemanParamsPR, getMatiascopemanParamsUMRPRU, getMatiascopemanSolidParams, getMeltingPointTemperature, getMolality, getMolarity, getMolarMass, getMolarMass, getmSAFTi, getmSAFTVRMie, getName, getNormalBoilingPoint, getNormalBoilingPoint, getNormalLiquidDensity, getNormalLiquidDensity, getNumberOfAssociationSites, getNumberOfmoles, getNumberOfMolesInPhase, getOrginalNumberOfAssociationSites, getParachorParameter, getPaulingAnionicDiameter, getPC, getPC, getPureComponentCpLiquid, getPureComponentCpSolid, getPureComponentHeatOfVaporization, getPureComponentLiquidDensity, getPureComponentSolidDensity, getRacketZ, getRacketZCPA, getRate, getReferenceEnthalpy, getReferencePotential, getReferenceStateType, getSchwartzentruberParams, getSigmaSAFTi, getSigmaSAFTVRMie, getSolidVaporPressure, getSolidVaporPressuredT, getSphericalCoreRadius, getSresTP, getStandardDensity, getStokesCationicDiameter, getSurfTensInfluenceParam, getTC, getTC, getTotalFlowRate, getTriplePointDensity, getTriplePointPressure, getTriplePointTemperature, getTwuCoonParams, getViscosityCorrectionFactor, getViscosityFrictionK, getVoli, getVolumeCorrectionConst, getVolumeCorrectionT, getVolumeCorrectionT_CPA, getx, getz, hasVolumeCorrection, insertComponentIntoDatabase, isHydrateFormer, isHydrocarbon, isInert, isIsHydrateFormer, isIsIon, isIsNormalComponent, isIsPlusFraction, isIsTBPfraction, isWaxFormer, reducedPressure, reducedTemperature, setAcentricFactor, setAntoineASolid, setAntoineBSolid, setAntoineCSolid, setAssociationEnergy, setAssociationEnergySAFT, setAssociationEnergySAFTVRMie, setAssociationScheme, setAssociationVolume, setAssociationVolumeSAFT, setAssociationVolumeSAFTVRMie, setCASnumber, setComponentName, setComponentNumber, setComponentType, setCostaldCharacteristicVolume, setCpA, setCpB, setCpC, setCpD, setCpE, setCriticalCompressibilityFactor, setCriticalViscosity, setCriticalVolume, setDebyeDipoleMoment, setdfugdn, setdfugdp, setdfugdt, setdfugdx, setEpsikSAFT, setEpsikSAFTVRMie, setFormulae, setFugacityCoefficient, setHeatOfFusion, setHenryCoefParameter, setIdealGasEnthalpyOfFormation, setIsAllTypesFalse, setIsHydrateFormer, setIsIon, setIsNormalComponent, setIsPlusFraction, setIsTBPfraction, setK, setLambdaASAFTVRMie, setLambdaRSAFTVRMie, setLennardJonesEnergyParameter, setLennardJonesMolecularDiameter, setLiquidConductivityParameter, setLiquidViscosityModel, setLiquidViscosityParameter, setMatiascopemanParams, setMatiascopemanParams, setMatiascopemanParamsPR, setMatiascopemanSolidParams, setMolarMass, setMolarMass, setmSAFTi, setmSAFTVRMie, setNormalBoilingPoint, setNormalLiquidDensity, setNumberOfAssociationSites, setNumberOfmoles, setNumberOfMolesInPhase, setParachorParameter, setPaulingAnionicDiameter, setPC, setPC, setProperties, setRacketZ, setRacketZCPA, setReferenceEnthalpy, setReferencePotential, setSchwartzentruberParams, setSigmaSAFTi, setSigmaSAFTVRMie, setSolidCheck, setSphericalCoreRadius, setStandardDensity, setStokesCationicDiameter, setSurfTensInfluenceParam, setTC, setTC, setTriplePointTemperature, setTwuCoonParams, setViscosityAssociationFactor, setViscosityFrictionK, setVoli, setVolumeCorrection, setVolumeCorrectionConst, setVolumeCorrectionT, setVolumeCorrectionT_CPA, setWaxFormer, setx, setzMethods inherited from class Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ComponentInterface
addMoles, addMolesChemReac, addMolesChemReac, calcActivity, createComponent, doSolidCheck, fugcoefDiffPresNumeric, fugcoefDiffTempNumeric, getAcentricFactor, getAntoineASolid, getAntoineBSolid, getAntoineCSolid, getAntoineVaporPressure, getAntoineVaporPressuredT, getAntoineVaporTemperature, getAssociationEnergy, getAssociationEnergySAFT, getAssociationEnergySAFTVRMie, getAssociationScheme, getAssociationVolume, getAssociationVolumeSAFT, getAssociationVolumeSAFTVRMie, getAttractiveTermNumber, getCASnumber, getCCsolidVaporPressure, getCCsolidVaporPressuredT, getChemicalPotential, getChemicalPotentialdN, getChemicalPotentialdNTV, getChemicalPotentialdP, getChemicalPotentialdT, getChemicalPotentialdV, getChemicalPotentialIdealReference, getComponentName, getComponentNumber, getComponentType, getCostaldCharacteristicVolume, getCp0, getCpA, getCpB, getCpC, getCpD, getCpE, getCriticalCompressibilityFactor, getCriticalViscosity, getCriticalVolume, getCv0, getDebyeDipoleMoment, getdfugdn, getdfugdp, getdfugdt, getdfugdx, getDielectricConstant, getDielectricConstantdT, getDielectricConstantdTdT, getdrhodN, getElements, getEnthalpy, getEntropy, getEpsikSAFT, getEpsikSAFTVRMie, getFlowRate, getFormulae, getFugacityCoefficient, getGibbsEnergy, getGibbsEnergyOfFormation, getGresTP, getHeatOfFusion, getHeatOfVapourization, getHenryCoef, getHenryCoefdT, getHenryCoefParameter, getHID, getHresTP, getHsub, getIdealGasAbsoluteEntropy, getIdealGasEnthalpyOfFormation, getIdealGasGibbsEnergyOfFormation, getIdEntropy, getIndex, getIonicCharge, getK, getLambdaASAFTVRMie, getLambdaRSAFTVRMie, getLennardJonesEnergyParameter, getLennardJonesMolecularDiameter, getLiquidConductivityParameter, getLiquidViscosityModel, getLiquidViscosityParameter, getLogFugacityCoefficient, getMatiascopemanParams, getMatiascopemanSolidParams, getMeltingPointTemperature, getMolality, getMolarity, getMolarMass, getMolarMass, getmSAFTi, getmSAFTVRMie, getName, getNormalBoilingPoint, getNormalBoilingPoint, getNormalLiquidDensity, getNormalLiquidDensity, getNumberOfAssociationSites, getNumberOfmoles, getNumberOfMolesInPhase, getOrginalNumberOfAssociationSites, getParachorParameter, getPaulingAnionicDiameter, getPC, getPC, getPureComponentCpLiquid, getPureComponentCpSolid, getPureComponentHeatOfVaporization, getPureComponentLiquidDensity, getPureComponentSolidDensity, getRacketZ, getRacketZCPA, getRate, getReferencePotential, getReferenceStateType, getSchwartzentruberParams, getSigmaSAFTi, getSigmaSAFTVRMie, getSolidVaporPressure, getSolidVaporPressuredT, getSphericalCoreRadius, getSresTP, getStokesCationicDiameter, getSurfTensInfluenceParam, getTC, getTC, getTotalFlowRate, getTriplePointDensity, getTriplePointPressure, getTriplePointTemperature, getTwuCoonParams, getViscosityCorrectionFactor, getViscosityFrictionK, getVoli, getVolumeCorrectionConst, getVolumeCorrectionT, getVolumeCorrectionT_CPA, getx, getz, insertComponentIntoDatabase, isHydrateFormer, isHydrocarbon, isInert, isIsIon, isIsNormalComponent, isIsPlusFraction, isIsTBPfraction, isWaxFormer, reducedPressure, reducedTemperature, setAcentricFactor, setAntoineASolid, setAntoineBSolid, setAntoineCSolid, setAssociationEnergy, setAssociationEnergySAFT, setAssociationEnergySAFTVRMie, setAssociationScheme, setAssociationVolume, setAssociationVolumeSAFT, setAssociationVolumeSAFTVRMie, setCASnumber, setComponentName, setComponentNumber, setComponentType, setCostaldCharacteristicVolume, setCpA, setCpB, setCpC, setCpD, setCpE, setCriticalCompressibilityFactor, setCriticalViscosity, setCriticalVolume, setDebyeDipoleMoment, setdfugdn, setdfugdp, setdfugdt, setdfugdx, setEpsikSAFT, setEpsikSAFTVRMie, setFormulae, setFugacityCoefficient, setHeatOfFusion, setHenryCoefParameter, setIdealGasEnthalpyOfFormation, setIsHydrateFormer, setIsIon, setIsNormalComponent, setIsPlusFraction, setIsTBPfraction, setK, setLambdaASAFTVRMie, setLambdaRSAFTVRMie, setLennardJonesEnergyParameter, setLennardJonesMolecularDiameter, setLiquidConductivityParameter, setLiquidViscosityModel, setLiquidViscosityParameter, setMatiascopemanParams, setMatiascopemanParams, setMolarMass, setMolarMass, setmSAFTi, setmSAFTVRMie, setNormalBoilingPoint, setNormalLiquidDensity, setNumberOfAssociationSites, setNumberOfmoles, setNumberOfMolesInPhase, setParachorParameter, setPC, setPC, setProperties, setRacketZ, setRacketZCPA, setReferencePotential, setSchwartzentruberParams, setSigmaSAFTi, setSigmaSAFTVRMie, setSolidCheck, setSphericalCoreRadius, setStokesCationicDiameter, setSurfTensInfluenceParam, setTC, setTC, setTriplePointTemperature, setTwuCoonParams, setViscosityAssociationFactor, setViscosityFrictionK, setVolumeCorrection, setVolumeCorrectionConst, setVolumeCorrectionT, setVolumeCorrectionT_CPA, setWaxFormer, setx, setz
-
Field Details
-
serialVersionUID
private static final long serialVersionUIDSerialization version UID.- See Also:
-
CACHADINA_N
private static final double CACHADINA_NUniversal exponent from 3D Ising model critical exponent beta = 0.326. n = 8 * beta - 3 = -0.392. Used in Cachadina et al. (2024) correlation.- See Also:
-
CACHADINA_M0_CONST
private static final double CACHADINA_M0_CONSTConstant model coefficient m0 in mol^(2/3). From Cachadina et al. (2024) Table 3.- See Also:
-
CACHADINA_M1_CONST
private static final double CACHADINA_M1_CONSTConstant model coefficient m1 in mol^(2/3). From Cachadina et al. (2024) Table 3.- See Also:
-
CACHADINA_M2_CONST
private static final double CACHADINA_M2_CONSTConstant model coefficient m2 in mol^(2/3). From Cachadina et al. (2024) Table 3.- See Also:
-
influenceParameterModel
private int influenceParameterModelInfluence parameter model type for gradient theory surface tension. 0 = Linear Zuo-Stenby (default), 1 = Cachadina et al. (2024) three-coefficient model. -
cachadinaCoeff
private double[] cachadinaCoeffPer-fluid Cachadina influence parameter coefficients [m0, m1, m2]. Units: mol^(2/3). When null, the general constant model is used.
-
-
Constructor Details
-
ComponentPR
Constructor for ComponentPR.
- Parameters:
name- Name of component.moles- Total number of moles of component.molesInPhase- Number of moles in phase.compIndex- Index number of component in phase object component array.
-
ComponentPR
public ComponentPR(int number, double TC, double PC, double M, double a, double moles) Constructor for ComponentPR.
- Parameters:
number- a int. Not used.TC- Critical temperature [K]PC- Critical pressure [bara]M- Molar massa- Acentric factormoles- Total number of moles of component.
-
-
Method Details
-
clone
clone.
- Specified by:
clonein interfaceComponentInterface- Overrides:
clonein classComponentEos- Returns:
- a
ComponentInterfaceobject
-
calca
public double calca()calca.
- Specified by:
calcain interfaceComponentEosInterface- Specified by:
calcain classComponentEos- Returns:
- a double
-
calcb
public double calcb()calcb.
- Specified by:
calcbin interfaceComponentEosInterface- Specified by:
calcbin classComponentEos- Returns:
- a double
-
getVolumeCorrection
public double getVolumeCorrection()getVolumeCorrection.
- Specified by:
getVolumeCorrectionin interfaceComponentInterface- Overrides:
getVolumeCorrectionin classComponent- Returns:
- a double
-
getQpure
public double getQpure(double temperature) getQpure.
- Parameters:
temperature- a double- Returns:
- a double
-
getdQpuredT
public double getdQpuredT(double temperature) getdQpuredT.
- Parameters:
temperature- a double- Returns:
- a double
-
getdQpuredTdT
public double getdQpuredTdT(double temperature) getdQpuredTdT.
- Parameters:
temperature- a double- Returns:
- a double
-
getSurfaceTenisionInfluenceParameter
public double getSurfaceTenisionInfluenceParameter(double temperature) getSurfaceTenisionInfluenceParameter.
- Specified by:
getSurfaceTenisionInfluenceParameterin interfaceComponentInterface- Overrides:
getSurfaceTenisionInfluenceParameterin classComponentEos- Parameters:
temperature- a double- Returns:
- a double
-
calcCachadinaInfluenceParameter
private double calcCachadinaInfluenceParameter(double temperature) Calculates the influence parameter using the Cachadina et al. (2024) three-coefficient correlation with universal exponent from the 3D Ising model.The reduced influence parameter c* is calculated using Eq. 20: c*(t) = m0*(t^n - 1) + m1 + (m2 - n*m0)*(t-1) - 0.5*n*(n-1)*m0*(t-1)^2 where t = (Tc - T)/(Tc - Tt) is the reduced temperature and n = -0.392.
Reference: Cachadina, I.; Maghari, A.; Generino, J.; Mulero, A. (2024). "New Correlations for the Influence Parameter and the Calculation of the Surface Tension of Normal Alkanes Using Gradient Theory with PR78." Molecules 29, 5643.
- Parameters:
temperature- temperature in Kelvin- Returns:
- influence parameter c in J*m^5/mol^2 (SI derived units)
-
setInfluenceParameterModel
public void setInfluenceParameterModel(int model) Sets the influence parameter model type for gradient theory surface tension calculations.- Parameters:
model- 0 for linear Zuo-Stenby (default), 1 for Cachadina et al. (2024) three-coefficient model
-
getInfluenceParameterModel
public int getInfluenceParameterModel()Gets the influence parameter model type.- Returns:
- 0 for linear Zuo-Stenby, 1 for Cachadina et al. (2024)
-
setCachadinaInfluenceParameters
public void setCachadinaInfluenceParameters(double m0, double m1, double m2) Sets per-fluid Cachadina influence parameter coefficients. When set, these override the general constant model in the Cachadina (2024) correlation.- Parameters:
m0- coefficient m0 in mol^(2/3), controls non-linear behavior near critical pointm1- coefficient m1 in mol^(2/3), value at triple pointm2- coefficient m2 in mol^(2/3), linear slope correction
-
getCachadinaInfluenceParameters
public double[] getCachadinaInfluenceParameters()Gets the per-fluid Cachadina influence parameter coefficients.- Returns:
- array [m0, m1, m2] in mol^(2/3), or null if using default constant model
-