14 | | == OpenModelica Compiler (OMC) == |
15 | | This release mainly includes bug fixes and improvements of the OpenModelica Compiler (OMC), including, but not restricted to the following: |
16 | | * Improved support for operator overloading (fewer false positives, handle more cases) |
17 | | * Better handling of external objects |
| 23 | * Further improved OMC model compiler support for a number of libraries including MSL 3.2.1, ModelicaTest 3.2.1, PetriNet, Buildings, PowerSystems, OpenHydraulics, ThermoPower, and ThermoSysPro. |
| 24 | * Further enhanced OMC compiler front-end coverage, scalability, speed and memory. |
| 25 | * Better coverage of Modelica libraries using Fluid and Media. |
| 26 | * Automatic differentiation of algorithms and functions. |
| 27 | * Improved testing facilities and library coverage reporting. |
| 28 | * Improved model compilation speed by compiling model parts in parallel (bootstrapped compiler). |
| 29 | * Support for running model simulations in a web browser. |
| 30 | * New faster initialization that handles over-determined systems, under-determined systems, or both. |
| 31 | * Compiler back-end partly redesigned for improved scalability and better modularity. |
| 32 | * * Better tearing support. |
| 33 | * The first run-time Modelica equation-based model debugger, not available in any other Modelica tool, integrated with OMEdit. |
| 34 | * Enhanced performance profiler integrated with the debugger. |
| 35 | * Improved parallelization prototype with several parallelization strategies, task merging and duplication, shorter critical paths, several scheduling strategies. |
| 36 | * Some support for general solving of mixed systems of equations. |
| 37 | * Better error messages. |
| 38 | * Improved bootstrapped OpenModelica compiler. |
| 39 | * Better handling of array subscripts and dimensions. |
| 40 | * Improved support for reduction functions and operators. |
| 41 | * Better support for partial functions. |
| 42 | * Better support for function tail recursion, which reduces memory usage. |
| 43 | * Partial function evaluation in the back-end to improve solving singular systems. |
| 44 | * Better handling of events/zero crossings. |
| 45 | * Support for colored Jacobians. |
| 46 | * New differentiation package that can handle a much larger number of expressions. |
| 47 | * Support for sparse solvers. |
| 48 | * Better handling of asserts. |
| 49 | * Improved array and matrix support. |
| 50 | * Improved overloaded operators support. |
| 51 | * Improved handling of overconstrained connection graphs. |
| 52 | * Better support for the cardinality operator. |
| 53 | * Parallel compilation of generated code for speeding up compilation. |
| 54 | * Split of model files into several for better compilation scalability. |
| 55 | * Default linear tearing. |
| 56 | * Support for impure functions. |
| 57 | * Better compilation flag documentation. |
| 58 | * Better automatic generation of documentation. |
| 59 | * Better support for calling functions via instance. |
| 60 | * New text template based unparsing for DAE, Absyn, SCode, TaskGraphs, etc. |
| 61 | * Better support for external objects. |
| 62 | - #2724, reject non-constructor functions returning external objects |
| 63 | * Improved C++ runtime. |
| 64 | * Improved testing facilities. |
| 65 | * New unit checking implementation. |
| 66 | * Support for model rewriting expressions via rewriting rules in an external file. |