You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Peng-Robinson EOS does not appear to load BIPs from Parameters into EquationOfState (or missing docs on correct BinaryRecord format for PR) #333
Seeing as the model_record field was dissolved in v0.9, I assumed that the correct format is now the following, though the only information regarding cubic EOS BIPs specifically that I can find is #91:
In any case, whatever field is included is successfully loaded into the Parameters object by Parameters.from_json, as confirmed by printing the Parameters object. The same is true for using Parameters.new_binary.
However, neither model_record nor k_ij is successfully loaded into the EquationOfState by peng_robinson = EquationOfState.peng_robinson(params_pr). Printing this object's parameters attribute produces the following:
Further evidence that the BIP is not being loaded is given by VLE calculations; results do not change before or after attempting to provide a BIP.
So, it seems to me that either I am misunderstanding/unaware of the correct way to load Peng-Robinson BIPs now in v>=0.9, or some part of the implementation has broken. I tried to examine the parameter loading source code, but unfortunately I couldn't find the information I'm looking for.
Thanks (as always) for the issue. The intended use is as you wrote above (using "k_ij").
You found a bug we introduced when moving from model-specific parameters on the Python side to a generic Python parameter container that parses parameters the model (EoS or functional) is instantiated. The fix is simple but we have to think about making this issue transparent in the future (warnings or error messages).
Activity
g-bauer commentedon Jan 22, 2026
Hey!
Thanks (as always) for the issue. The intended use is as you wrote above (using "k_ij").
You found a bug we introduced when moving from model-specific parameters on the Python side to a generic Python parameter container that parses parameters the model (EoS or functional) is instantiated. The fix is simple but we have to think about making this issue transparent in the future (warnings or error messages).