All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Added
henry_coefficientsandideal_gas_enthalpy_of_adosrptiontoPoreProfile. #263
- Updated
quantitydependency to 0.10. #262 - Updated
num-dualdependency to 0.11. #262 - Updated
numpyandPyO3dependencies to 0.23. #262 - Updated
gauss-quaddependency to 0.2. #261
- Updated interfaces according to removal of
HelmholtzEnergyDualandHelmholtzEnergyinfeos-core. #226 - Changed return values of
HelmholtzEnergyFunctional::contributionsfromdyn FunctionalContributiontoHelmholtzEnergyFunctional::Contribution. #226
- Removed
FunctionalContributionDualtrait. #226
- Updated
quantitydependency to 0.8. #238 - Updated
num-dualdependency to 0.9. #238 - Updated
numpyandPyO3dependencies to 0.21. #238
- Updated
feos-coredependency to 0.6.
- Implemented
HelmholtzEnergyFunctionalforEquationOfStateto be able to use functionals as equations of state. #158 - Added the possibility to specify the angles of non-orthorombic unit cells. Currently, the external potential must be specified if non-orthorombic unit cells are calculated. #176
HelmholtzEnergyFunctional: addedComponentstrait as trait bound and removedideal_gasmethod. #158DFT<F>now implementsResidualand furthermoreIdealGasifFimplementsIdealGas. #158- What properties (and contributions) of
DFTProfileare available now depends on whether an ideal gas model is provided or not. #158 - Pore volumes and other integrated properties (loadings, energies, ...) are now always reported in units of volume. For translationally symmetric pores this is achieved by multiplying with the reference length (1 Å) in every direction with symmetries. #181
- Removed
DefaultIdealGasContribution#158 - Removed getters for
chemical_potential(for profiles) andmolar_gibbs_energy(forAdsorption1DandAdsorption3D) from Python interface. #158
- Added an error, if the unit cells in 3D DFT are too small and violate the minimum image convention. #176
- Updated
quantitydependency to 0.7. - Updated
num-dualdependency to 0.8. #137 - Updated
numpyandPyO3dependencies to 0.20.
- Added new methods
drho_dmu,drho_dpanddrho_dtthat calculate partial derivatives of density profiles to every DFT profile. Also includes direct access to the integrated derivativesdn_dmu,dn_dpanddn_dt. #134 - Added
enthalpy_of_adsoprtionandpartial_molar_enthalpy_of_adsorptiongetters to pores and adsorption isotherms. #135
PlanarInterfacenow has methods for the calculation of the 90-10 interface thickness (PlanarInterface::interfacial_thickness), interfacial enrichtment (PlanarInterface::interfacial_enrichment), and relative adsorption (PlanarInterface::relative_adsorption). #64- Added a matrix-free Newton DFT solver that uses GMRES for the linear subproblem. #75
- Solver metrics like execution time and the residuals are automatically logged during every computation. The results can be accessed via the
solver_logfield ofDFTProfile. #75
- Added
SendandSyncas supertraits toHelmholtzEnergyFunctionaland all related traits. #57 - Renamed the
3d_dftfeature torayonin accordance to the other feos crates. #62 - internally rewrote the implementation of the Euler-Lagrange equation to use a bulk density instead of the chemical potential as variable. #60
- Renamed the parameter
betaof the Picard iteration and Anderson mixing solvers todamping_coefficient. #75 - Removed generics for units in all structs and traits in favor of static SI units. #115
- Fixed the sign of vector weighted densities in Cartesian and cylindrical geometries. The wrong sign had no effects on the Helmholtz energy and thus on density profiles. #120
- Updated
pyo3andnumpydependencies to 0.18. #119 - Updated
quantitydependency to 0.6. #119 - Updated
num-dualdependency to 0.6. #119
- The 3D DFT functionalities (3D pores, solvation free energy, free-energy-averaged potentials) are hidden behind the new
3d_dftfeature. For the Python package, the feature is always enabled. #51
Adsorption::equilibrium_isotherm,Adsorption::adsorption_isotherm, andAdsorption::desorption_isothermonly acceptSIArray1s as input for the pressure discretization. #50- For the calculation of desorption isotherms and the filled branches of equilibrium isotherms, the density profiles are initialized using a liquid bulk density. #50
- Added getters for the fields of
Pore1Din Python. #30 - Added Steele potential with custom combining rules. #29
- Made FMT functional more flexible w.r.t. the shape of the weight functions. #31
- Changed interface of
PairCorrelationFunctionto facilitate the calculation of pair correlation functions in mixtures. #29
- Moved the implementation of fundamental measure theory to the
feoscrate. #27
- Added
grand_potential_densitygetter for DFT profiles in Python. #22
- Renamed
AxisGeometrytoGeometry. #19 - Removed
PyGeometryandPyFMTVersionin favor of a simpler implementation usingPyO3's new#[pyclass]for fieldless enums feature. #19 DFTSolvernow usesVerbosityinstead of aboolto control its output. #19SurfaceTensionDiagramnow uses the newStateVecstruct to access properties of the bulk phases. #19Pore1D::initializeandPore3D::initializenow accept initial values for the density profiles as optional arguments. #24- Internally restructured the
DFTstructure to avoid redundant data. #24 - Removed the
mfunction inFluidParameters, it is instead inferred fromHelmholtzEnergyFunctionalwhich is now a supertrait ofFluidParameters. #24 - Added optional field
cutoff_radiustoExternalPotential::FreeEnergyAveraged. #25
- Updated
pyo3andnumpydependencies to 0.16. - Updated
quantitydependency to 0.5. - Updated
num-dualdependency to 0.5. - Updated
feos-coredependency to 0.2. - Updated
angdependency to 0.6. - Removed
logdependency.
- The pore volume for
Pore3Dis now also accesible from Python. #16
- The pore volume using Helium at 298 K as reference is now directly accesible from
Pore1DandPore3D. #13
- Removed the
unsendabletag from python classes wherever possible. #14
HelmholtzEnergyFunctionals can now overwrite theideal_gasmethod to provide a non-default ideal gas contribution that is accounted for in the calculation of the entropy, the internal energy and other properties. #10
- Removed the
functionalfield inPore1DandPore3D. #9
- Fixed the units of default values for adsorption isotherms. #8
- Updated
rustdctdependency to 0.7.
- Initial release