The behavior before this PR was somewhat brittle (doesn't do anything for gas phases not named GAS) and limits what you can do with the code (e.g. if you intend for the GAS phase to be the infinitely fast diffusing phase).
On the other hand, if the gas phase can become stable over the course of the simulation, users will have to recognize and remove it from the list of phases if it's not desired (e.g. phases = dbf.phases.keys()). For many common applications of the Scheil method, it shouldn't be a concern. The main limitation is that if a gas phase is stable, it limits the highest temperature you can guess to contain liquid only and no solid phases.
The behavior before this PR was somewhat brittle (doesn't do anything for gas phases not named GAS) and limits what you can do with the code (e.g. if you intend for the GAS phase to be the infinitely fast diffusing phase).
On the other hand, if the gas phase can become stable over the course of the simulation, users will have to recognize and remove it from the list of phases if it's not desired (e.g.
phases = dbf.phases.keys()
). For many common applications of the Scheil method, it shouldn't be a concern. The main limitation is that if a gas phase is stable, it limits the highest temperature you can guess to contain liquid only and no solid phases.