Clapeyron.jl

Clapeyron provides a framework for the development and use of fluid-thermodynamic models, including SAFT, cubic, activity, multi-parameter, and COSMO-SAC.

MIT License

Stars
183
Committers
22

Bot releases are visible (Hide)

Clapeyron.jl - v0.5.11 Latest Release

Published by longemen3000 7 months ago

v0.5.11

New Features

  • Support for reference states. A reference state is a point in V-T space where H = H₀ and S = S₀. Setting those have uses in Reaction equilibria and when comparing between different models.In particular, Reference states are stored in a ReferenceState <: ClapeyronParam in the ideal model parameters. The BasicIdeal model is, intentionally, the only ideal model in Clapeyron that does not have this struct and, as a consequence, it is not able to set reference states.
  • Support for superancillaries via EoSSuperancillaries.jl. When the package is loaded, initial saturation points for cubics and PCSAFT are overloaded to use superancillary evaluations instead of the general x0_sat_pure function. in the case of PCSAFT models, it also speeds up the evaluation of crit_pure.
  • New EoS: EOS-CG (2021) (EOS_CG), a reference model for humid gases and CCS mixtures.
  • New EoS: Lee-Kesler-Plöcker (LKP)
  • New EoS: Shomate ideal model (ShomateIdeal)
  • database: PCPSAFT,gcPCSAFT and gcPCPSAFT are updated to use the values of Rehner (2023).
  • new functions: helmholtz_free_energy_res,gibbs_free_energy_res,internal_energy_res, enthalpy_res
  • database: ReidIdeal now uses the poling coefficients by default.
  • database: JobackIdeal has support for more common group fragments used in gcPCSAFT.
  • melting_temperature, sublimation_temperature does not allocate anymore. Note that the function can still allocate if the EoS model itself allocates.

bug fixes

  • Incorrect value for CPA with water (#256)
  • Bug in SAFT-VR-SW (#165)
  • Bug in CP-PC-SAFT

Merged PRs

Full Changelog: https://github.com/ClapeyronThermo/Clapeyron.jl/compare/v0.5.10...v0.5.11

Clapeyron.jl - v0.5.10

Published by github-actions[bot] 10 months ago

Clapeyron v0.5.10

Diff since v0.5.9

Merged pull requests:

  • CPA revamp (#244) (@longemen3000)
  • Improved initial point for saturation pressure (#246) (@longemen3000)
  • Add vol0 keyword argument to bulk properties (#247) (@Liozou)
  • Improve PR Ω constants (#248) (@longemen3000)
  • faster saturation_temperature. (#249) (@longemen3000)

Closed issues:

  • Move CPA input to use SI values (#242)
Clapeyron.jl - v0.5.9

Published by github-actions[bot] 10 months ago

Clapeyron v0.5.9

Diff since v0.5.8

Merged pull requests:

  • SAFT-VR Mie for solid phase (#238) (@pw0908)
  • Composite Revamp (#240) (@longemen3000)
  • Add Unitful support to all documented bulk properties (#241) (@Liozou)
Clapeyron.jl - v0.5.8

Published by github-actions[bot] 11 months ago

Clapeyron v0.5.8

Diff since v0.5.7

Merged pull requests:

  • JutulDarcy.jl extension (#227) (@longemen3000)
  • backport docs-update branch (#228) (@longemen3000)
  • CP-PC-SAFT (#229) (@longemen3000)
  • Bump JuliaRegistries/TagBot from 1.17 to 1.18 (#230) (@dependabot[bot])

Closed issues:

  • Including Cp parameter along side Tm and ΔHfus for sle_solubility (#222)
  • Data extraction from csv file (#223)
  • UNIFAC ether and aldehyde groups error (#225)
  • Defining a custom alpha (#226)
Clapeyron.jl - v0.5.7

Published by github-actions[bot] 12 months ago

Clapeyron v0.5.7

Diff since v0.5.6

Merged pull requests:

  • Ppcsaft DQ: revision request (#218) (@beomseok-kang)
  • Bump JuliaRegistries/TagBot from 1.16 to 1.17 (#219) (@dependabot[bot])
  • New GC PC-SAFT models (#220) (@pw0908)
  • Multicomponentflash and Unitful Extensions (#221) (@longemen3000)
Clapeyron.jl - v0.5.6

Published by github-actions[bot] about 1 year ago

Clapeyron v0.5.6

Diff since v0.5.5

Clapeyron.jl - v0.5.5

Published by github-actions[bot] about 1 year ago

Clapeyron v0.5.5

Diff since v0.5.4

Merged pull requests:

  • add Polar PCSAFT data of esper et al (#213) (@longemen3000)
Clapeyron.jl - v0.5.4

Published by github-actions[bot] about 1 year ago

Clapeyron v0.5.4

Diff since v0.5.3

Merged pull requests:

  • Update estim (#211) (@pw0908)

Closed issues:

  • Cubic volume translation confusion (#206)
  • Neon with quantum-corrected PR (#208)
Clapeyron.jl - v0.5.3

Published by github-actions[bot] about 1 year ago

Clapeyron v0.5.3

Diff since v0.5.2

Merged pull requests:

  • tc-PR, tc-RK, and others (#189) (@longemen3000)
  • Update fusion.csv (#199) (@Kelethabetse)
  • Bump JuliaRegistries/TagBot from 1.15 to 1.16 (#203) (@dependabot[bot])
  • Update cosmosac (#204) (@pw0908)
  • DAPT + ADPCSAFT (#205) (@longemen3000)

Closed issues:

  • docs: Define residual properties (#101)
  • compatibility with coolprop (and teqp) JSON format (#110)
  • tcPR, tcRK and families (#126)
  • Any plan to add SAFT fitting/regression function into package? (#184)
  • Something new that's not in the database (#193)
  • Ternary LLE (#201)
Clapeyron.jl - v0.5.2

Published by github-actions[bot] about 1 year ago

Clapeyron v0.5.2

Diff since v0.5.1

Clapeyron.jl - v0.5.1

Published by github-actions[bot] about 1 year ago

Clapeyron v0.5.1

Diff since v0.5.0

Merged pull requests:

  • Solid solubility (#194) (@pw0908)
  • (not) Measurements ext (#196) (@pw0908)
Clapeyron.jl - v0.5.0

Published by longemen3000 about 1 year ago

New Features

  • rework of @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"]
  • new macro @newmodelsingleton, that defines "singleton" EoSModels.
  • Rework of MultiParameter EoS. there are two new EoSModels that represent Empiric, Multiparameter EoS:
    • SingleFluid: for single component fluids
    • MultiFluid: 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).
  • Cubic models that have an alpha dependent of the acentric factor, can be built by passing acentricfactor directly to userlocations, instead of alpha_userlocations (#188)
  • New Function: RGas(model) and Rgas(), that gives the value of the gas constant used by the model. defaults to Clapeyron.R̄ = 8.31446261815324
  • New model: HelmAct, to use multiparameter EoS + activity coefficient models as the departure.
  • New model: XiangDeiters
  • New model: TholLJ (used in LJRef)
  • New model: EmpiricIdeal, the ideal part of a multiparameter model, to be used in conjuction with other EoS
  • New model: AlyLeeIdeal
  • New model: CPLNGEstIdeal (http://dx.doi.org/10.1016/j.jngse.2014.04.011)
  • CSVs allow defining a sep keyword in the inline CSV options:
Clapeyron Database File
my parameters [csvtype = like, sep = ;]
species,Mw
1,3,5,7-CYCLOOCTATETRAENE;156.22368

Breaking changes

  • 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
Clapeyron.jl - v0.4.13

Published by github-actions[bot] over 1 year ago

Clapeyron v0.4.13

Diff since v0.4.12

Merged pull requests:

  • Add Symbolics extension. (#187) (@longemen3000)
Clapeyron.jl - v0.4.12

Published by github-actions[bot] over 1 year ago

Clapeyron v0.4.12

Diff since v0.4.11

Merged pull requests:

  • Fix detection of real cubic roots (#185) (@Liozou)
Clapeyron.jl - v0.4.11

Published by github-actions[bot] over 1 year ago

Clapeyron v0.4.11

Diff since v0.4.10

Clapeyron.jl - v0.4.10

Published by github-actions[bot] over 1 year ago

Clapeyron v0.4.10

Diff since v0.4.9

Closed issues:

  • Help - trying to make LLE with UNIFAC (Not an issue) (#144)
  • Specific heat capacity of water (#149)
  • BoundsError in example/mixing_functions notebook (#171)
  • SRK not reading critical temperature (Tc) (#175)

Merged pull requests:

  • TP-Flash with activity models (#164) (@longemen3000)
  • Bump actions/cache from 1 to 3 (#166) (@dependabot[bot])
  • Bump actions/checkout from 2 to 3 (#167) (@dependabot[bot])
  • Bump codecov/codecov-action from 1 to 3 (#168) (@dependabot[bot])
  • Bump JuliaRegistries/TagBot from 1.10 to 1.14 (#169) (@dependabot[bot])
  • Update CI (#170) (@longemen3000)
  • revamp kwarg and dispatch handling for methods (NFC) (#174) (@longemen3000)
  • Add PPCSAFT implementation (#176) (@pw0908)
  • Fix typo and add Julia version requirement (#177) (@tkeskita)
Clapeyron.jl - v0.4.9

Published by github-actions[bot] over 1 year ago

Clapeyron v0.4.9

Diff since v0.4.8

Closed issues:

  • Module reference in @registermodel (#157)

Merged pull requests:

  • Add experimental data points to heat capacity plot (#163) (@tkeskita)
Clapeyron.jl - v0.4.8

Published by github-actions[bot] over 1 year ago

New Features

  • you can pass a named tuple to 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
  • The 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.

Bug Fixes

  • bug in @registermodel (#157)

Diff since v0.4.7

Closed issues:

  • Missing type when adding custom model (#154)
  • Module reference in @registermodel (#157)

Merged pull requests:

  • allow passing a NamedTuple to userlocations kwarg (#156) (@longemen3000)
  • Some docs for the u and w vectors for Gauss-Laguerre (#159) (@ianhbell)
Clapeyron.jl - v0.4.7

Published by longemen3000 over 1 year ago

bug fixes

  • @newmodel,@newmodelsimple and@newmodelgc macros had a bug where some structs and types didn't have the proper namespace (#154)
Clapeyron.jl - v0.4.6

Published by longemen3000 over 1 year ago

Bug fixes

fixed bug on Michelsen TP flash introduced in the last release.

Package Rankings
Top 15.91% on Juliahub.com
Badges
Extracted from project README
DOI Build Status codecov Dev project chat Clapeyron.jl: An Extensible Implementation of Equations of State | Paul Yew et al | JuliaCon2021
Related Projects