#1481 closed enhancement (fixed)
Support for the smooth() operator
Reported by: | Jesper Mattsson | Owned by: | Jesper Mattsson |
---|---|---|---|
Priority: | major | Milestone: | 1.10.x |
Component: | Modelica/FrontEnd | Version: | trunk |
Keywords: | #664. | Cc: |
Description
Support the smooth() operator, see p. 26 in MLS 3.2 and adding subclass of FExp. The smooth() operator needs to be at least partially implemented to be able to flatten parts of the MSL.
This is a part of #664.
Change History (8)
comment:1 Changed 8 years ago by
comment:2 Changed 8 years ago by
For code generation for optimization smooth(0,expr), code generation should fail unless there is a noEvent() introduced explicitly around expr.
comment:3 Changed 8 years ago by
The spec states that "[...] all partial derivatives with respect to all appearing real variables exist and are continous up to order [´n´]." Doesn't that mean that for differentiation of smooth() with respect to other variables than time, the same as for time applies?
comment:4 Changed 8 years ago by
Added front-end support for smooth(), including symbolic differentiation and simple test.
Still needs:
- to be included in the event handling (as specified above)
- more tests
- check that the order (n above) is a constant (or parameter?)
comment:5 Changed 7 years ago by
Resolution: | → fixed |
---|---|
Status: | new → closed |
-Added support for correct event generation for the smooth operator, see #1481
- Made the HTML diagnostics clearer for event generating functions, see #2650
The following semantics is implemented according to Hubertus' suggestion:
- smooth(n, expr) does not generate events for all n >= 1
- smooth(0, expr) does generate events as ususal for all event-causing subexpressions inside expr in the normal way
comment:6 Changed 7 years ago by
Milestone: | Future → 1.10.x |
---|
comment:7 Changed 5 years ago by
Keywords: | #664 added |
---|
comment:8 Changed 5 years ago by
Keywords: | #664. added; #664 removed |
---|
A simple plan to support smooth() needs to take care of 2 issues:
Events can be handled as follows:
Differentiation for index reduction is done as follows
Differentiation for AD
Comments are welcome.