Y = if X>Xmax then UpperLimit
else if X<Xmin then LowerLimit
else K*X;
endCsaturation;
CSaturation является подтипом класса CGain, а тот, в свою очередь, супертипом CSaturation, поскольку каждому public-элементу класса CGain соответствует совместимый по типу (в данном случае одного и того же типа) public -элемент CSaturation.
Для того чтобы в устройстве SineSource (см. рис. 10.1) простой усилитель можно было заменить на усилитель с насыщением, нужно этот блок параметризовать:
model CSineSource
output Real Y;
replaceable model Camp = CGain