Clapeyron provides a framework for the development and use of fluid-thermodynamic models, including SAFT, cubic, activity, multi-parameter, and COSMO-SAC.
@newmodel
, @newmodelgc
and newmodelsingle
macros. Now they also define the outer constructor. for a simple EoS that does not require transformation of parameters, you can now do:@newmodel MyModel EoSModel MyModelParam
#define locations for your model, relative to the current database location
Clapeyron.default_locations(::Type{MyModel}) = ["models/mymodel"]
#define references
Clapeyron.default_references(::Type{MyModel}) = ["TODO"]
@newmodelsingleton
, that defines "singleton" EoSModels.EoSModels
that represent Empiric, Multiparameter EoS:
SingleFluid
: for single component fluidsMultiFluid
: for multicomponent fluids, with specific mixing and departure rules
SingleFluid
and MultiFluid
constructors are capable of parsing CoolProp
JSON single component files. furthermore, you can use the available CoolProp
single fluid library by just importing CoolProp
into the current working enviroment (using CoolProp
).acentricfactor
directly to userlocations
, instead of alpha_userlocations
(#188)RGas(model)
and Rgas()
, that gives the value of the gas constant used by the model. defaults to Clapeyron.R̄ = 8.31446261815324
HelmAct
, to use multiparameter EoS + activity coefficient models as the departure.XiangDeiters
TholLJ
(used in LJRef
)EmpiricIdeal
, the ideal part of a multiparameter model, to be used in conjuction with other EoSAlyLeeIdeal
CPLNGEstIdeal
(http://dx.doi.org/10.1016/j.jngse.2014.04.011)sep
keyword in the inline CSV options:Clapeyron Database File
my parameters [csvtype = like, sep = ;]
species,Mw
1,3,5,7-CYCLOOCTATETRAENE;156.22368
IAPWS95
, PropaneRef
, Ammonia2023
are now of type SingleFluid{EmpiricAncillary}
.GERG2008
, EOS-LNG
are now of type MultiFluid{EmpiricAncillary,AsymmetricMixing,EmpiricDeparture}
@newmodel
macros don't require defining external constructors anymore.SpecialComp
(used by pharmaPCSAFT
) is now a ClapeyronParam
instead of an EoSModel
Closed issues:
Merged pull requests:
userlocations
and its variants to build a model directly from those parameters (#156). for example, with PCSAFT:julia> model = PCSAFT(["a1"],userlocations = (;
Mw = [1.],
epsilon = [2.],
sigma = [3.],
segment = [4.],
k = [0.0;;], #matrix
n_H = [1],
n_e = [1],
epsilon_assoc = Dict((("a1","e"),("a1","H")) => 1000.),
bondvol = Dict((("a1","e"),("a1","H")) => 0.001)))
PCSAFT{BasicIdeal} with 1 component:
"a1"
Contains parameters: Mw, segment, sigma, epsilon, epsilon_assoc, bondvol
dense
option in AssocOptions
is deprecated and it will be removed on 0.5.0. the sparse solver is not used anymore, the dense solver has performance advantages in all cases.@registermodel
(#157)Closed issues:
@registermodel
(#157)Merged pull requests:
NamedTuple
to userlocations kwarg (#156) (@longemen3000)