Good implementation and the vectorization works really well. However would suggest adding:
- Entropy calculations
- Cp, Cv calculations as a function of P,T (not constrained by region)
- Inverse calculations for P
- Quality calculations
- More property pairings (e.g. P,T, P,S, P,H, H,S)
- Customizable units?
Not sure on the implementation question. I've always found classes too slow, there seems to be a bit of getting started overhead in every method call.