Class ComponentGePitzer
- All Implemented Interfaces:
Serializable, Cloneable, ComponentGEInterface, ComponentInterface, ThermodynamicConstantsInterface
- Author:
- Even Solbraa
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate static final longSerialization version UID.Fields inherited from class ComponentGE
dlngammadn, dlngammadp, dlngammadt, dlngammadtdt, gamma, gammaRefCor, lngamma, loggerFields 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
ConstructorsConstructorDescriptionComponentGePitzer(String name, double moles, double molesInPhase, int compIndex) Constructor for ComponentGePitzer. -
Method Summary
Modifier and TypeMethodDescriptionprivate doubledebyeHuckelAphi(double TK) Calculates the Pitzer Debye-Hückel Aphi parameter as a function of temperature.doublefugcoef(PhaseInterface phase) Calculate, set and return fugacity coefficient.doublegetGamma(PhaseInterface phase, int numberOfComponents, double temperature, double pressure, PhaseType pt) Calculate activity coefficient using the Pitzer model.doublegetGamma(PhaseInterface phase, int numberOfComponents, double temperature, double pressure, PhaseType pt, double[][] HValpha, double[][] HVgij, double[][] intparam, String[][] mixRule) getGamma.doublegetMolality(PhaseInterface phase) getMolality.private doublegetWaterGamma(PhaseInterface phase, int numberOfComponents, double TK) Compute the water (solvent) activity coefficient from the Pitzer osmotic coefficient.Methods inherited from class ComponentGE
fugcoefDiffPres, fugcoefDiffTemp, getGamma, getGammaRefCor, getLnGamma, getLnGammadn, getLnGammadt, getLnGammadtdt, setLnGammadnMethods inherited from class Component
addMolesChemReac, calcActivity, clone, createComponent, doSolidCheck, equals, Finit, fugcoefDiffPresNumeric, fugcoefDiffTempNumeric, getAcentricFactor, getAntoineASolid, getAntoineBSolid, getAntoineCSolid, getAntoineVaporPressure, getAntoineVaporPressuredT, getAntoineVaporTemperature, getAssociationEnergy, getAssociationEnergySAFT, getAssociationEnergySAFTVRMie, getAssociationScheme, getAssociationVolume, getAssociationVolumeSAFT, getAssociationVolumeSAFTVRMie, getAttractiveTerm, getAttractiveTermNumber, getCASnumber, getCCsolidVaporPressure, getCCsolidVaporPressuredT, getChemicalPotential, 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, 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, getSurfaceTenisionInfluenceParameter, getSurfTensInfluenceParam, getTC, getTC, getTotalFlowRate, getTriplePointDensity, getTriplePointPressure, getTriplePointTemperature, getTwuCoonParams, getViscosityCorrectionFactor, getViscosityFrictionK, getVoli, getVolumeCorrection, getVolumeCorrectionConst, getVolumeCorrectionT, getVolumeCorrectionT_CPA, getx, getz, hasVolumeCorrection, init, insertComponentIntoDatabase, isHydrateFormer, isHydrocarbon, isInert, isIsHydrateFormer, isIsIon, isIsNormalComponent, isIsPlusFraction, isIsTBPfraction, isWaxFormer, logfugcoefdN, logfugcoefdNi, logfugcoefdP, logfugcoefdT, reducedPressure, reducedTemperature, seta, setAcentricFactor, setAntoineASolid, setAntoineBSolid, setAntoineCSolid, setAssociationEnergy, setAssociationEnergySAFT, setAssociationEnergySAFTVRMie, setAssociationScheme, setAssociationVolume, setAssociationVolumeSAFT, setAssociationVolumeSAFTVRMie, setAttractiveTerm, setb, 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, clone, createComponent, doSolidCheck, Finit, fugcoefDiffPresNumeric, fugcoefDiffTempNumeric, getAcentricFactor, getAntoineASolid, getAntoineBSolid, getAntoineCSolid, getAntoineVaporPressure, getAntoineVaporPressuredT, getAntoineVaporTemperature, getAssociationEnergy, getAssociationEnergySAFT, getAssociationEnergySAFTVRMie, getAssociationScheme, getAssociationVolume, getAssociationVolumeSAFT, getAssociationVolumeSAFTVRMie, getAttractiveTerm, getAttractiveTermNumber, getCASnumber, getCCsolidVaporPressure, getCCsolidVaporPressuredT, getChemicalPotential, 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, 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, getSurfaceTenisionInfluenceParameter, getSurfTensInfluenceParam, getTC, getTC, getTotalFlowRate, getTriplePointDensity, getTriplePointPressure, getTriplePointTemperature, getTwuCoonParams, getViscosityCorrectionFactor, getViscosityFrictionK, getVoli, getVolumeCorrection, getVolumeCorrectionConst, getVolumeCorrectionT, getVolumeCorrectionT_CPA, getx, getz, init, insertComponentIntoDatabase, isHydrateFormer, isHydrocarbon, isInert, isIsIon, isIsNormalComponent, isIsPlusFraction, isIsTBPfraction, isWaxFormer, logfugcoefdN, logfugcoefdNi, logfugcoefdP, logfugcoefdT, reducedPressure, reducedTemperature, seta, setAcentricFactor, setAntoineASolid, setAntoineBSolid, setAntoineCSolid, setAssociationEnergy, setAssociationEnergySAFT, setAssociationEnergySAFTVRMie, setAssociationScheme, setAssociationVolume, setAssociationVolumeSAFT, setAssociationVolumeSAFTVRMie, setAttractiveTerm, setb, 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:
-
-
Constructor Details
-
ComponentGePitzer
Constructor for ComponentGePitzer.- Parameters:
name- Name of componentmoles- total number of molesmolesInPhase- moles in phasecompIndex- component index
-
-
Method Details
-
fugcoef
Calculate, set and return fugacity coefficient.
- Specified by:
fugcoefin interfaceComponentInterface- Overrides:
fugcoefin classComponentGE- Parameters:
phase- aPhaseInterfaceobject to get fugacity coefficient of.- Returns:
- Fugacity coefficient
-
getGamma
public double getGamma(PhaseInterface phase, int numberOfComponents, double temperature, double pressure, PhaseType pt, double[][] HValpha, double[][] HVgij, double[][] intparam, String[][] mixRule) getGamma.
- Parameters:
phase- aPhaseInterfaceobjectnumberOfComponents- a inttemperature- a doublepressure- a doublept- the PhaseType of the phaseHValpha- an array of type doubleHVgij- an array of type doubleintparam- an array of type doublemixRule- an array ofStringobjects- Returns:
- a double
-
getGamma
public double getGamma(PhaseInterface phase, int numberOfComponents, double temperature, double pressure, PhaseType pt) Calculate activity coefficient using the Pitzer model.For ions (charge != 0): computes the single-ion activity coefficient from the Pitzer Debye-Huckel term and binary cation-anion interaction parameters. For the solvent (water, referenceStateType = "solvent"): computes the activity coefficient from the Pitzer osmotic coefficient using the Harvie and Weare (1980) mixed-electrolyte framework. For other neutral species (dissolved gases): returns gamma = 1.0 (no lambda/mu parameters available).
- Parameters:
phase- phase objectnumberOfComponents- number of components in phasetemperature- temperature in Kelvinpressure- pressure in barapt- phase type- Returns:
- activity coefficient (dimensionless)
-
getWaterGamma
Compute the water (solvent) activity coefficient from the Pitzer osmotic coefficient.Uses the Harvie and Weare (1980) mixed-electrolyte framework for the osmotic coefficient:
phi - 1 = (2 / sum_m) * [-Aphi * I^(3/2) / (1 + b*sqrt(I)) + sum_c sum_a m_c * m_a * (Bphi_ca + Z * C_ca)]Water activity: ln(a_w) = -phi * M_w * sum_m / 1000
Activity coefficient (Raoult convention): gamma_w = a_w / x_w
- Parameters:
phase- the Pitzer phasenumberOfComponents- number of componentsTK- temperature in Kelvin- Returns:
- water activity coefficient (mole fraction basis, Raoult convention)
-
getMolality
getMolality.
- Specified by:
getMolalityin interfaceComponentInterface- Overrides:
getMolalityin classComponent- Parameters:
phase- aPhaseInterfaceobject- Returns:
- a double
-
debyeHuckelAphi
private double debyeHuckelAphi(double TK) Calculates the Pitzer Debye-Hückel Aphi parameter as a function of temperature.Uses the Bradley-Pitzer (1979) correlation for the osmotic coefficient Debye-Hückel parameter. The Aphi value is in ln-based units (Aphi = Agamma/3). Water density uses the IAPWS simplified equation valid at pressures typical for oilfield brine (liquid state).
- Parameters:
TK- temperature in Kelvin- Returns:
- Aphi in ln-based units (dimensionless)
-