This PR restructures some elements of feos-core that make the code easier and a bit less opinionated.
Removal of the methods that return trait objects from Residual and IdealGas: the interface for the Helmholtz energy calculation no longer distinguishes between different contributions.
Consequently, we get rid of the traits and constructs to create object-safe traits.
Since the interface for the Helmholtz energy is less rigid we can think about efficiently calculating properties that are used across different contributions or even caching.
This PR restructures some elements of
feos-core
that make the code easier and a bit less opinionated.Residual
andIdealGas
: the interface for the Helmholtz energy calculation no longer distinguishes between different contributions.