﻿id	summary	reporter	owner	description	type	status	priority	milestone	component	version	resolution	keywords	cc
2209	The smooth() operator should be used to influence event generation and differentiation	Francesco Casella	Willi Braun	"The smooth() operator is currently ignored by OMC, only noEvent() is. 

This is not good: noEvent was a crude procedural hack to handle conditional expressions which are known in advance to be continuous by suppressing event generation. The intent of smooth() was to replace it in a more clean and procedural way, also allowing to differentiate conditional expressions if appropriate. The smooth() operator was introduced in Modelica many years ago, and the intent in the MSL and elswhere is to replace noEvent by smooth wherever appropriate.

Bottom line: we need to support it asap if we want to claim full Modelica 3.2 compliance.

This also applies to automatic differentiation: an if expression surrounded by smooth(N, ...) can safely be differentiated if N >= 1, and returns an expression which is smooth(N-1, ...). It also applies to the smoothOrder annotation, which can be critical for some applications in mechanical and fluid systems.
"	defect	closed	critical	1.13.0	Run-time	trunk	worksforme		
