© 2024 Jasper van Baten, AmsterCHEM

capeOpen1PhaseProp

Calculate and get values for single-phase properties. A list of supported single phase properties can be obtained using capeOpen1PhasePropList.

Syntax

[values,...]=capeOpen1PhaseProp(handle,propNames,phase,T,P,X)

Arguments

handle: package handle, as obtained from capeOpenGetPackage

propNames: string. Multiple properties can be specified; either separate the properties by a space, or use a string matrix for multiple properties.

phase: string. Phase name for the calculation. Valid phase names can be obtained with capeOpenPhases.

T: scalar or column vector of temperatures at which to calculate the values.

P: scalar or column vector of pressures at which to calculate the values.

X: composition matrix. Number of columns must match compound count. Can have a single row, or multiple rows for multiple compositions. X is in mole fraction or mass fraction, depending on the current basis.

For calculation at multiple conditions, T, P and X must have a consistent number of rows. Any of them can have a single row, meaning constant T, P or composition. The number of evaluations will depend on the maximum number of rows. For all T, P and X that have multiple rows, the number of rows must be equal. Evaluation at multiple conditions is not supported for properties for which the value is a matrix.

Returns

values: matrix of values. One matrix will be returned for each property. If the calculated property is a scalar (such as enthalpy), the returned matrix will be a column vector with the size of the number of evaluation conditions. If the calculated property is a vector (such as fugacityCoefficient), the number of rows will match the number of conditions, and the number of columns will match the number of compounds. For properties that are a matrix (such as fugacityCoefficient.DmolFraction), evaluation at multiple conditions is not supported, and the returned matrix will be square, with the number of rows and columns equal to the number of compounds.

Example


» handle=capeOpenGetPackage('TEA (CAPE-OPEN 1.1)','C1_C2');
» capeOpen1PhaseProp(handle,'enthalpy','vapor',300,1e5,[0.5 0.5])

ans =

   46.6844

» capeOpen1PhaseProp(handle,'enthalpy','vapor',[300:10:400]',1e5,[0.5 0.5])

ans =

  1.0e+003 *

    0.0467
    0.4956
    0.9525
    1.4176
    1.8909
    2.3727
    2.8631
    3.3621
    3.8699
    4.3866
    4.9123

» capeOpen1PhaseProp(handle,'enthalpy','vapor',[300:10:400]',[1e5:1e3:1.1e5]',[0.5 0.5])

ans =

  1.0e+003 *

    0.0467
    0.4953
    0.9519
    1.4166
    1.8897
    2.3713
    2.8615
    3.3603
    3.8680
    4.3845
    4.9100

» frac=0:0.1:1

frac =

  Columns 1 through 7

         0    0.1000    0.2000    0.3000    0.4000    0.5000    0.6000

  Columns 8 through 11

    0.7000    0.8000    0.9000    1.0000

» X=[frac' 1-frac']

X =

         0    1.0000
    0.1000    0.9000
    0.2000    0.8000
    0.3000    0.7000
    0.4000    0.6000
    0.5000    0.5000
    0.6000    0.4000
    0.7000    0.3000
    0.8000    0.2000
    0.9000    0.1000
    1.0000         0

» [h dhdx]=capeOpen1PhaseProp(handle,'enthalpy enthalpy.DmolFraction','vapor',300,101325,X)

h =

   38.8104
   40.7427
   42.4486
   43.9290
   45.1849
   46.2171
   47.0264
   47.6137
   47.9797
   48.1250
   48.0502


dhdx =

   59.3234   38.7451
   57.1637   38.8642
   55.2396   39.2088
   53.5487   39.7768
   52.0887   40.5667
   50.8575   41.6511
   49.7853   42.8690
   49.0126   44.3045
   48.4632   45.9565
   48.1358   47.8241
   48.0291   49.9064

» capeOpenPropUnit('enthalpy.DmolFraction')

ans =

J / mol

» capeOpenSetBasis('mass')
» capeOpenPropUnit('fraction')

ans =

mass fraction

» capeOpenPropUnit('enthalpy')

ans =

J / kg

» [h dhdx]=capeOpen1PhaseProp(handle,'enthalpy enthalpy.DmolFraction','vapor',300,101325,X)

h =

  1.0e+003 *

    1.2907
    1.5189
    1.7264
    1.9177
    2.0959
    2.2635
    2.4224
    2.5740
    2.7193
    2.8595
    2.9951


dhdx =

  1.0e+003 *

    1.9728    1.2885
    2.0160    1.4137
    2.0806    1.5593
    2.1619    1.7211
    2.2534    1.8987
    2.3589    2.0833
    2.4732    2.2766
    2.5949    2.4769
    2.7229    2.6833
    2.8561    2.8949
    2.9938    3.1108

» capeOpen1PhaseProp(handle,'fugacityCoefficient.DmolFraction','vapor',300,101325,X)
??? Error using ==> MatlabCapeOpenThermo
Property calculations cannot be performed at multiple conditions if any property has matrix dimensions
 
» %we can however calculate at a single composition:
» capeOpen1PhaseProp(handle,'fugacityCoefficient.DmolFraction','vapor',300,101325,X(1,:))

ans =

    0.0050    0.0086
   -0.0000   -0.0000
INDEX
Basis conversions
Calculations
capeOpen1PhaseProp
capeOpen1PhasePropList
capeOpen2PhaseProp
capeOpen2PhasePropList
capeOpenAbout
capeOpenAggregationState
capeOpenCompoundConstant
capeOpenCompounds
capeOpenConstantList
capeOpenCreatePackage
capeOpenEquilibrium
capeOpenEquilibriumProp
capeOpenFlashPropList
capeOpenGetPackage
capeOpenGetPackageName
capeOpenGetPackages
capeOpenHelp
capeOpenKillAllPackages
capeOpenKillPackage
capeOpenPackageManagers
capeOpenPackages
capeOpenPDepPropList
capeOpenPhases
capeOpenPropUnit
capeOpen Quick Reference
capeOpenSetBasis
capeOpenShowMessages
capeOpenTDepProp
capeOpenTDepPropList
capeOpenThermoVersion
Disclaimer
Equilibrium calculations
Information
License
Matrix dimension conventions
Obtaining package information
Package information
Package maintenance
Property calculations
Registration with Matlab
pathdef.m
System requirements
Welcome
CONTENT
 Welcome
 Introduction
 Package Maintenance
 Package information
 Property and equilibrium calculations
 capeOpenCompoundConstant
 capeOpenTDepProp
 capeOpenPDepProp
 capeOpen1PhaseProp
 capeOpen2PhaseProp
 capeOpenEquilibrium
 capeOpenEquilibriumProp
 General functions
 License and disclaimer