Начало здесь. Для уменьшения объёма повторяющегося кода в классах областей, одинаковый функционал необходимо реализовать в одном классе и наследовать от него соответствующие классы областей. Для каждой области следует предусмотреть проверку принадлежности пары входных параметров ([t, p] (за исключением Области 4), [p, h], [p, s]) данной области. Методы для определения принадлежности пары входных параметров данной области, которые должны быть переопределены во всех дочерних классах, помещены в класс ParamsIn...
Данная статья будет обновляться по мере реализации и (или) корректировки задуманного плана работ. В пакет на Python wsprops (water-steam properties) будут включены классы, позволяющие рассчитывать теплофизические свойства воды и водяного пара для трёх областей (см. рис. из [1] ниже): Область 1 (вода), Область 2 (перегретый пар) и Область 4 (влажный пар). Расчётные формулы взяты из [1]. Классы для определение свойств воды и водяного пара в Области 3 и в Области 5 реализованы не будет, т. к. для расчёта пароводяного цикла электростанций на базе парогазовых установок эти области не нужны...