| 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. |