QoL improvements for working with ideal gas models #203
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The PR contains four smaller proposed changes that are each open to discussion individually.
molarweight
field is removed fromPureRecord
and added toPcSaftRecord
instead (the other eos would have to be updated as well)A newNoResidual
struct is used (internally) to be able to construct anEquationOfState
with only an ideal gas model, e.g.EquationOfState
without residual model #204Arc
around the ideal gas part inEquationOfState
is removed. The correspondingArc
around the residual part is required exactly once for the "building" pattern forEquationOfState
in Python. I would prefer to also get rid of that, because it is unnecessary for Rust and conceptually not required at that point. That would require a different constructor forEquationOfState
in Python, though.AddPureRecord
,SegmentRecord
,Identifier
, andIdentifierOption
are added tofeos.ideal_gas
. This is related to a larger issue that there are multiplePureRecord
s andSegmentRecord
s in the Python package.Identifier
andIdentifierOption
could be exposed only once at a central location.PureRecord
and other Python classes tofeos.ideal_gas
#205The changes in 1. and 3. are breaking changes, but 2. is a nice quality of life improvement that could be published as patch. 4. more of a fix, but does not really solve the root of the problem.