Class PhaseAmmoniaEos
java.lang.Object
neqsim.thermo.phase.Phase
neqsim.thermo.phase.PhaseEos
neqsim.thermo.phase.PhaseAmmoniaEos
- All Implemented Interfaces:
Serializable, Cloneable, PhaseEosInterface, PhaseInterface, ThermodynamicConstantsInterface
Phase implementation for the Ammonia2023 reference equation of state based on a multiparameter
Helmholtz energy formulation. Thermodynamic properties are evaluated from ideal and residual
Helmholtz energy derivatives provided by
Ammonia2023.- Author:
- esol
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate org.netlib.util.doubleW[]private Ammonia2023private org.netlib.util.doubleW[][]private doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate doubleprivate static final longprivate doubleFields inherited from class Phase
beta, calcMolarVolume, chemSyst, componentArray, diElectricConstant, mixingRuleType, molarVolume, numberOfComponents, numberOfMolesInPhase, phaseVolume, physicalPropertyHandler, pressure, pt, refPhase, temperature, thermoPropertyModelName, useVolumeCorrection, ZFields inherited from interface ThermodynamicConstantsInterface
atm, avagadroNumber, boltzmannConstant, electronCharge, faradayConstant, gravity, molarMassAir, normalStateTemperature, pi, planckConstant, R, referencePressure, referenceTemperature, standardStateTemperature, vacumPermittivity -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidaddComponent(String name, double moles, double molesInPhase, int compNumber) Add component to component array and update moles variables.doublecalcPressure.doublecalcPressuredV.clone()clone.doubledFdN(int i) dFdN.doubledFdNdN(int i, int j) dFdNdN.doubledFdNdT(int i) dFdNdT.doubledFdNdV(int i) dFdNdV.org.netlib.util.doubleW[]getAlpha0.org.netlib.util.doubleW[][]getAlphares.doublegetCp()method to return specific heat capacity (Cp).doublegetCv()method to return specific heat capacity (Cv).doubleGet density of a phase note: does not use Peneloux volume correction.doublegetdPdTVn.doublemethod to return enthalpy of a phase in unit Joule.doublemethod to return entropy of the phase.doublegetGibbsEnergy.doublegetHresTP.doublegetInternalEnergy.doubleReturn the isothermal compressibility in 1/Pa as evaluated by theAmmonia2023helper.doubleGet the Joule Thomson Coefficient of a phase.doubleGet the speed of sound of a phase note: implemented in phaseEos.doublemethod to return conductivity of a phase.doublemethod to return viscosity of the phase.voidinit.doublemolarVolume(double pressure, double temperature, double A, double B, PhaseType pt) molarVolume.Methods inherited from class PhaseEos
calcA, calcAi, calcAij, calcAiT, calcAT, calcATT, calcB, calcBi, calcBij, calcf, calcg, dFdT, dFdTdT, dFdTdV, dFdV, dFdVdV, dFdVdVdV, dFdxdxMatrix, dFdxdxMatrixSimple, dFdxMatrix, dFdxMatrixSimple, displayInteractionCoefficients, equals, F, fb, FB, fBB, FBB, FBD, FBT, fBV, FBV, FD, FDT, FDV, Fn, FnB, FnV, FT, FTT, FTV, fv, FV, fVV, FVV, fVVV, FVVV, gb, gBB, gBV, geta, geta, getA, getAresTV, getAT, getATT, getb, getb, getB, getCpres, getCvres, getdPdrho, getdPdVTn, getdrhodN, getdrhodP, getdrhodT, getdTVndSVnJaobiMatrix, getdUdSdSVn, getdUdSdVn, getdUdSVn, getdUdVdVSn, getdUdVSn, getdVdrho, getEosMixingRule, getF, getf_loc, getg, getGradientVector, getGresTP, getHresdP, getKappa, getMixingRule, getMixingRuleName, getPressureAttractive, getPressureRepulsive, getSresTP, getSresTV, getUSVHessianMatrix, gV, gVV, gVVV, molarVolume2, resetMixingRule, setMixingRule, setMixingRuleGEModelMethods inherited from class Phase
addComponent, addMoles, addMolesChemReac, calcA, calcAT, calcDiElectricConstant, calcDiElectricConstantdT, calcDiElectricConstantdTdT, calcMolarVolume, calcR, getActivityCoefficient, getActivityCoefficient, getActivityCoefficient, getActivityCoefficientSymetric, getActivityCoefficientUnSymetric, getAiT, getAlpha0_EOSCG, getAlpha0_GERG2008, getAlpha0_Leachman, getAlpha0_Leachman, getAlpha0_Vega, getAlphares_EOSCG, getAlphares_GERG2008, getAlphares_Leachman, getAlphares_Leachman, getAlphares_Vega, getAntoineVaporPressure, getBeta, getBi, getComponent, getComponent, getcomponentArray, getComponentNames, getComponents, getComponentWithIndex, getComposition, getCompressibilityX, getCompressibilityY, getCorrectedVolume, getCp, getCp0, getCv, getDensity, getDensity_AGA8, getDensity_EOSCG, getDensity_GERG2008, getDensity_Leachman, getDensity_Leachman, getDensity_Vega, getDiElectricConstant, getEnthalpy, getEnthalpydP, getEnthalpydT, getEntropy, getEntropydP, getEntropydT, getExcessGibbsEnergy, getExcessGibbsEnergySymetric, getFlowRate, getFugacity, getFugacity, getGamma, getHelmholtzEnergy, getHID, getInfiniteDiluteFugacity, getInfiniteDiluteFugacity, getInitType, getInternalEnergy, getIsobaricThermalExpansivity, getJouleThomsonCoefficient, getLogActivityCoefficient, getLogInfiniteDiluteFugacity, getLogInfiniteDiluteFugacity, getLogPureComponentFugacity, getLogPureComponentFugacity, getMass, getMeanIonicActivity, getMixGibbsEnergy, getMixingRuleType, getModelName, getMolalMeanIonicActivity, getMolarComposition, getMolarMass, getMolarMass, getMolarVolume, getMolarVolume, getMoleFraction, getNumberOfComponents, getNumberOfIonicComponents, getNumberOfMolecularComponents, getNumberOfMolesInPhase, getOsmoticCoefficient, getOsmoticCoefficientOfWater, getOsmoticCoefficientOfWaterMolality, getpH, getpH, getPhase, getPhysicalProperties, getPhysicalPropertyModel, getPressure, getPressure, getProperties_EOSCG, getProperties_GERG2008, getProperties_Leachman, getProperties_Leachman, getProperties_Vega, getPseudoCriticalPressure, getPseudoCriticalTemperature, getPureComponentFugacity, getPureComponentFugacity, getRefPhase, getRefPhase, getSoundSpeed, getTemperature, getTemperature, getThermalConductivity, getThermoPropertyModelName, getTotalVolume, getType, getViscosity, getVolume, getVolume, getWaterDensity, getWtFrac, getWtFrac, getWtFraction, getWtFractionOfWaxFormingComponents, getZ, getZvolcorr, groupTBPfractions, hasComponent, hasPlusFraction, hasTBPFraction, initPhysicalProperties, initPhysicalProperties, initRefPhases, initRefPhases, isConstantPhaseVolume, isMixingRuleDefined, normalize, removeComponent, resetPhysicalProperties, setAttractiveTerm, setBeta, setComponentArray, setConstantPhaseVolume, setEmptyFluid, setInitType, setMolarVolume, setMoleFractions, setNumberOfComponents, setParams, setPhysicalProperties, setPhysicalPropertyModel, setPpm, setPressure, setProperties, setRefPhase, setRefPhase, setTemperature, setTotalVolume, setType, useVolumeCorrection, useVolumeCorrectionMethods inherited from class Object
finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface PhaseEosInterface
getMolarVolumeMethods inherited from interface PhaseInterface
addMoles, addMolesChemReac, addMolesChemReac, calcAT, calcMolarVolume, calcR, getActivityCoefficient, getActivityCoefficient, getActivityCoefficient, getActivityCoefficientSymetric, getActivityCoefficientUnSymetric, getAlpha0_EOSCG, getAlpha0_GERG2008, getAlpha0_Leachman, getAlpha0_Leachman, getAlpha0_Vega, getAlphares_EOSCG, getAlphares_GERG2008, getAlphares_Leachman, getAlphares_Leachman, getAlphares_Vega, getAntoineVaporPressure, getBeta, getComponent, getComponent, getcomponentArray, getComponentNames, getComponents, getComponentWithIndex, getComposition, getCompressibilityX, getCompressibilityY, getCorrectedVolume, getCp, getCp0, getCv, getDensity, getDensity_AGA8, getDensity_EOSCG, getDensity_GERG2008, getDensity_Leachman, getDensity_Leachman, getDensity_Vega, getEnthalpy, getEnthalpydP, getEnthalpydT, getEntropy, getEntropydP, getEntropydT, getExcessGibbsEnergy, getExcessGibbsEnergySymetric, getFlowRate, getFugacity, getFugacity, getGamma, getGamma2, getHelmholtzEnergy, getInfiniteDiluteFugacity, getInitType, getInternalEnergy, getIsobaricThermalExpansivity, getJouleThomsonCoefficient, getLogActivityCoefficient, getLogInfiniteDiluteFugacity, getLogInfiniteDiluteFugacity, getLogPureComponentFugacity, getMass, getMeanIonicActivity, getMixGibbsEnergy, getMixingRuleType, getModelName, getMolalMeanIonicActivity, getMolarComposition, getMolarMass, getMolarMass, getMolarVolume, getMoleFraction, getNumberOfComponents, getNumberOfIonicComponents, getNumberOfMolecularComponents, getNumberOfMolesInPhase, getOsmoticCoefficient, getOsmoticCoefficientOfWater, getOsmoticCoefficientOfWaterMolality, getpH, getpH, getPhase, getPhaseFraction, getPhaseTypeName, getPhysicalProperties, getPhysicalPropertyModel, getPressure, getPressure, getProperties_EOSCG, getProperties_GERG2008, getProperties_Leachman, getProperties_Leachman, getProperties_Vega, getPseudoCriticalPressure, getPseudoCriticalTemperature, getPureComponentFugacity, getPureComponentFugacity, getRefPhase, getRefPhase, getSoundSpeed, getTemperature, getTemperature, getThermalConductivity, getTotalVolume, getType, getViscosity, getVolume, getVolume, getWaterDensity, getWtFrac, getWtFrac, getWtFraction, getWtFractionOfWaxFormingComponents, getZ, getZvolcorr, hasComponent, hasComponent, hasPlusFraction, hasTBPFraction, init, init, initPhysicalProperties, initPhysicalProperties, initPhysicalProperties, initRefPhases, isAsphalteneRich, isConstantPhaseVolume, isMixingRuleDefined, normalize, removeComponent, resetPhysicalProperties, setAttractiveTerm, setBeta, setComponentArray, setConstantPhaseVolume, setEmptyFluid, setInitType, setMixingRule, setMolarVolume, setMoleFractions, setNumberOfComponents, setParams, setPhaseTypeName, setPhysicalProperties, setPhysicalProperties, setPhysicalPropertyModel, setPpm, setPressure, setProperties, setRefPhase, setRefPhase, setTemperature, setTotalVolume, setType, useVolumeCorrection, useVolumeCorrection
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
ammoniaUtil
-
enthalpy
private double enthalpy -
entropy
private double entropy -
gibbsEnergy
private double gibbsEnergy -
Cp
private double Cp -
Cv
private double Cv -
internalEnergy
private double internalEnergy -
JTcoef
private double JTcoef -
kappa
private double kappa -
W
private double W -
a0
private org.netlib.util.doubleW[] a0 -
ar
private org.netlib.util.doubleW[][] ar
-
-
Constructor Details
-
PhaseAmmoniaEos
public PhaseAmmoniaEos()Constructor for PhaseAmmoniaEos.
-
-
Method Details
-
clone
clone.
- Specified by:
clonein interfacePhaseInterface- Overrides:
clonein classPhaseEos- Returns:
- a
PhaseInterfaceobject
-
addComponent
Add component to component array and update moles variables.
- Parameters:
name- Name of component.moles- Total number of moles of component.molesInPhase- Number of moles in phase.compNumber- Index number of component in phase object component array.
-
init
public void init(double totalNumberOfMoles, int numberOfComponents, int initType, PhaseType pt, double beta) init.
initType used in component.init()
Calls component.init(initType)
- Specified by:
initin interfacePhaseInterface- Overrides:
initin classPhaseEos- Parameters:
totalNumberOfMoles- Total number of moles in all phases of Stream.numberOfComponents- Number of components in system.initType- a int. Use 0 to init, and 1 to reset.pt- Type of phase.beta- Mole fraction of this phase in system.
-
getGibbsEnergy
public double getGibbsEnergy()getGibbsEnergy.
- Specified by:
getGibbsEnergyin interfacePhaseInterface- Overrides:
getGibbsEnergyin classPhase- Returns:
- a double
-
getJouleThomsonCoefficient
public double getJouleThomsonCoefficient()Get the Joule Thomson Coefficient of a phase.- Specified by:
getJouleThomsonCoefficientin interfacePhaseInterface- Overrides:
getJouleThomsonCoefficientin classPhaseEos- Returns:
- Joule Thomson coefficient in K/bar
-
getEnthalpy
public double getEnthalpy()method to return enthalpy of a phase in unit Joule.- Specified by:
getEnthalpyin interfacePhaseInterface- Overrides:
getEnthalpyin classPhase- Returns:
- a double
-
getEntropy
public double getEntropy()method to return entropy of the phase.- Specified by:
getEntropyin interfacePhaseInterface- Overrides:
getEntropyin classPhase- Returns:
- a double
-
getInternalEnergy
public double getInternalEnergy()getInternalEnergy.
- Specified by:
getInternalEnergyin interfacePhaseInterface- Overrides:
getInternalEnergyin classPhase- Returns:
- a double
-
getCp
public double getCp()method to return specific heat capacity (Cp).- Specified by:
getCpin interfacePhaseInterface- Overrides:
getCpin classPhase- Returns:
- Cp in unit J/K
-
getCv
public double getCv()method to return specific heat capacity (Cv).- Specified by:
getCvin interfacePhaseInterface- Overrides:
getCvin classPhase- Returns:
- Cv in unit J/K
-
getViscosity
public double getViscosity()method to return viscosity of the phase.- Specified by:
getViscosityin interfacePhaseInterface- Overrides:
getViscosityin classPhase- Returns:
- viscosity in unit kg/msec
-
getThermalConductivity
public double getThermalConductivity()method to return conductivity of a phase.- Specified by:
getThermalConductivityin interfacePhaseInterface- Overrides:
getThermalConductivityin classPhase- Returns:
- conductivity in unit W/m*K
-
molarVolume
molarVolume.
- Specified by:
molarVolumein interfacePhaseInterface- Overrides:
molarVolumein classPhaseEos- Parameters:
pressure- a doubletemperature- a doubleA- a doubleB- a doublept- the PhaseType of the phase- Returns:
- a double
-
calcPressure
public double calcPressure()calcPressure.
- Specified by:
calcPressurein interfacePhaseEosInterface- Overrides:
calcPressurein classPhaseEos- Returns:
- a double
-
calcPressuredV
public double calcPressuredV()calcPressuredV.
- Specified by:
calcPressuredVin interfacePhaseEosInterface- Overrides:
calcPressuredVin classPhaseEos- Returns:
- a double
-
dFdN
public double dFdN(int i) dFdN.
- Specified by:
dFdNin interfacePhaseEosInterface- Overrides:
dFdNin classPhaseEos- Parameters:
i- a int- Returns:
- a double
-
dFdNdN
public double dFdNdN(int i, int j) dFdNdN.
- Specified by:
dFdNdNin interfacePhaseEosInterface- Overrides:
dFdNdNin classPhaseEos- Parameters:
i- a intj- a int- Returns:
- a double
-
dFdNdV
public double dFdNdV(int i) dFdNdV.
- Specified by:
dFdNdVin interfacePhaseEosInterface- Overrides:
dFdNdVin classPhaseEos- Parameters:
i- a int- Returns:
- a double
-
dFdNdT
public double dFdNdT(int i) dFdNdT.
- Specified by:
dFdNdTin interfacePhaseEosInterface- Overrides:
dFdNdTin classPhaseEos- Parameters:
i- a int- Returns:
- a double
-
getDensity
public double getDensity()Get density of a phase note: does not use Peneloux volume correction.- Specified by:
getDensityin interfacePhaseInterface- Overrides:
getDensityin classPhase- Returns:
- density with unit kg/m3
-
getAlpha0
public org.netlib.util.doubleW[] getAlpha0()getAlpha0.
- Returns:
- an array of
doubleWobjects
-
getAlphares
public org.netlib.util.doubleW[][] getAlphares()getAlphares.
- Returns:
- an array of
doubleWobjects
-
getHresTP
public double getHresTP()getHresTP.
- Specified by:
getHresTPin interfacePhaseInterface- Overrides:
getHresTPin classPhaseEos- Returns:
- a double
-
getdPdTVn
public double getdPdTVn()getdPdTVn.
- Specified by:
getdPdTVnin interfacePhaseInterface- Overrides:
getdPdTVnin classPhaseEos- Returns:
- a double
-
getSoundSpeed
public double getSoundSpeed()Get the speed of sound of a phase note: implemented in phaseEos.- Specified by:
getSoundSpeedin interfacePhaseInterface- Overrides:
getSoundSpeedin classPhaseEos- Returns:
- speed of sound in m/s
-
getIsothermalCompressibility
public double getIsothermalCompressibility()Return the isothermal compressibility in 1/Pa as evaluated by theAmmonia2023helper.- Specified by:
getIsothermalCompressibilityin interfacePhaseInterface- Overrides:
getIsothermalCompressibilityin classPhase- Returns:
- isothermal compressibility (1/Pa)
-