Roadmap
Mid-2022 scheduled release.
Bugfix release for 1.17.0. Scrapped in favour of 1.18.0
Bugfix release for 1.18.0
The main goal of release 2.0.0 is to provide uncompromised performance for end users. This means in particular:
- achieving full coverage of Modelica Standard library 3.2.3 and 4.0.0, including conversion scripts
- achieving full or nearly full coverage of open source Modelica libraries
- providing full support of replaceable classes and models from the OMEdit GUI
- provide full-fledged duplicate feature in OMEdit
- providing much faster response of the OMEdit GUI
- allowing to inspect and modify parameters and replaceable classes and models in hierarchically built system model
The main enabler of release 2.0.0 will be the new front-end, which has been under active development since 2016, and is nearly complete. You can check the coverage status of the Modelica Standard Library 3.2.3 and follow the coverage history over time in the figure below. As you can see, the frontend coverage of MSL has already reached 100%. The coverage of many other open-source libraries is available from this page.
There are many issues that need to be addressed to release 2.0.0, see in particular the list of blocker tickets
- #1929
- Multibody USR and SSR joints have wrong initialization values
- #2152
- Handle time events efficiently
- #2157
- Automatic generation of HTML documentation from Modelica packages
- #2173
- simulate API function does not complain on wrong parameters
- #2247
- Policy for the treatment of Modelica nonconformances in OMC
- #2282
- Dynamic State Selection doesn't work on simple planar pendulum model
- #2385
- Missing variable declarations in instantiated model when using expandable connectors
- #2387
- Operator overloading fails for matrices
- #2484
- Expandable connector resolution misses components
- #2689
- mapping of zero crossings to equations does not work properly
- #2850
- Redeclared models use wrong icon
- #2891
- Hierarchical editing of models
- #2894
- Summary of improvements for OMEdit GUI usability
- #3074
- Insufficient information about assertion violations
- #3186
- Partial binding of record sub-components in functions are lost
- #3221
- Equation count of models containing expandable connectors
- #3661
- Add a resimulate() function to the API
- #3695
- removeSimpleEquations is slow on large models
- #3844
- Unnecessary array instantiations
- #3853
- Clean up OpenModelica base libraries
- #3869
- 3d-trajectories in OMEdit
- #3915
- Rename feature missing in OMEdit
- #3925
- Protected variables are incorrectly written to the result file
- #3977
- Better diagnostics for non-balanced models
- #4050
- Array of component: Too many equations.
- #4069
- Unify init.xml files of C and Cpp runtime
- #4120
- Out-of-bounds array elements undetected by front-end
- #4141
- Important missing feature: Allow save and opening of Modelica files containing syntax errors
- #4143
- Initialization of systems with dynamic state selection is not handled properly
- #4174
- OMNotebook: change in text in LaTeX cell does not show the star (*) in the filename
- #4293
- Bad strategy to solve rational equations
- #4389
- Improve warnings and diagnostics for missing start attributes in nonlinear systems
- #4442
- Incorrect evaluation of inner/outer and record dependencies
- #4451
- Unspecific error message: The given system is mixed-determined.
- #4496
- Complex 'sum' does not work
- #4515
- Automatic inference of nominal attributes for scaling
- #4536
- OMEdit fails to update relative class names to absolute ones upon duplicate
- #4565
- Model building statistics in Omedit
- #4596
- Document the symbolic transformation carried out by the various back-end modules
- #4598
- OMEdit should not hang for more than a few seconds
- #4611
- Processing arrays of records fails
- #4633
- [MetaModelica] skip cases for partial matches
- #4756
- Clock partitioning should be skipped in systems without clock partitions
- #4835
- Get Complex numbers to work without compromises
- #4870
- Do not evaluate parameter-dependent assertions at each time step.
- #4871
- Avoid using DIVISION macros in the dynamic equations if the denominator is a parameter-dependent expression
- #4960
- Evaluate all parameters except some
- #5005
- Issue with DASSL/IDA and implicit systems with non-smooth functions
- #5036
- Better code generation for constant arrays
- #5061
- [NF] Are public parameters allowed in functions by the Modelica spec?
- #5240
- NFEvalFunction.evaluateExternal is not yet implemented
- #5245
- Trim or possibly remove library patch files
- #5252
- Misleading and incomplete output regarding conflicting start and nominal attributes
- #5288
- Achieve successful simulation of 100% MSL 3.2.3 models with NF
- #5300
- Support the inverse annotation
- #5302
- PowerSystems models with redundant intial conditions cannot be handled by backend
- #5344
- Duplicate of model causes incomplete code
- #5345
- omc-based FMI import in OMEdit
- #5346
- Duplicate model function in OMEdit should work without compromises
- #5350
- MSL 3.2.3 FFT function does not work correctly
- #5351
- HRSG Cloned Library Component / re-occuring pump error
- #5370
- Modelica compiler should issue warnings when clocked equations appear outside of the when equations
- #5394
- Perform CI testing on OMEdit
- #5395
- OMEdit generates invalid displayUnit modifiers for arrays of parameters
- #5407
- Make the input of array parameters a humane experience
- #5408
- GUI annotations are not inherited correctly
- #5418
- Avoid confusing error messages from the solvers
- #5426
- Compiler fails when model name is too long in OMEdit
- #5427
- Proper handling of library versions in OMEdit
- #5442
- Sorting classes
- #5448
- OMEdit fails to open model, previously Totally Saved
- #5462
- Inaccurate simulation of systems with noEvent and saturations using the C runtime
- #5473
- AST_BatchPlant test case fails
- #5482
- Further speed up of NF API
- #5489
- Allow setting each and final prefixes via the API
- #5509
- Make Simulation Setup dependent of target language
- #5531
- Implicit cast from Real to Integer
- #5535
- Inheritence of classes with same elements results in doubling
- #5543
- OMEdit does not check if added connections are valid
- #5547
- Including c-files from external_solvers for nonlinearSolverHomotopy
- #5549
- Cross compilation of FMUs for Win64 on Ubuntu is broken for some models working with files
- #5552
- OpenModelica FMUs seem to not report exact continuous states
- #5560
- Make it clearer who are the candidate states in dynamic state selection sets
- #5581
- FMU - ME accuracy
- #5594
- Some Model C-files are not included in modelDescription.xml
- #5597
- Two examples of the new Modelica.Electrical.Batteries package do not work with the new frontend
- #5600
- removeEqualFunctionCalls should be better documented and merged with comSubExp
- #5605
- Parameter with only start value not accepted
- #5616
- Handling of indexing in arrays of records
- #5626
- Linearize should be available from the OMEdit GUI
- #5635
- Multi(---) connection issue
- #5645
- Bad quality of SVG export of diagram view
- #5664
- Reload feature in OMEdit
- #5708
- OM erroneously prompts saving options in annotations
- #5759
- Support Modelica.Utilities.Strings.* functions directly
- #5767
- Issues with BranchingDynamicPipes and homotopy-based initialization
- #5768
- Model HeatExchangerSimulation fails when using homotopy
- #5776
- Allow to include in-package dependencies when duplicating
- #5779
- Enable/disable root finding
- #5784
- Problems displaying text on menus and other elments
- #5788
- Cannot input parameters redefined in child models using OMEdit
- #5837
- Unit checking is not performed on operator record equations
- #5843
- Make sure daeMode works in a reliable way
- #5847
- Constant is used without having been given a value
- #5855
- Achieve successful simulation of 100% MSL 4.0.0 models
- #5857
- MSL OpAmp simulation results in OM
- #5860
- Provide correct and efficient event handling in --daeMode
- #5866
- Update Save Total to NF
- #5891
- getEnvironmentVariable does not return any output
- #5917
- New Backend proposal
- #5926
- Save a proper result file when interrupting a simulation
- #5940
- MSL example model AIMC_InverterDrive fails to simulate
- #5943
- Get rid of OPENMODELICAHOME (and OPENMODELICALIBRARY)
- #5981
- OMEdit does not handle correctly modified inherited parameters
- #5985
- Code foldings for ssp source code
- #5986
- Can't open wsl path from OMEdit under Windows
- #5996
- Graphical support to propagate parameters
- #5997
- Improve CVODE in C-runtime to production-grade
- #6047
- The NF incorrectly infers the variability of a function call in Modelica.Media
- #6114
- Unit checking scales with O(2^N) in case of large expressions involving +-*/ operators
- #6135
- Support of Visual Studio in OMEdit on Windows
- #6149
- The NF accepts illegal type declarations?
- #6176
- Display multi-dimensional arrays under collapsible trees as 1D arrays
- #6240
- Extend overconstrained connector semantics to handle dynamic branches
- #6340
- Automatically recognize if a model is best run with daeMode
- #6350
- OMEdit cannot handle simulations with more than 10000 variable comfortably
- #6383
- Omc doesn't check correctly the constraining-clause
- #6386
- Better diagnostics for over- and under-determined systems
- #6411
- Improve zero crossing functions by using continuous expressions
This release will further consolidate the quality of the tool after the 2.0.0 release, by addressing remaining long-standing issues and adding new features.
This milestone collects issues that do not have a definite target release version (yet).
These are tickets which need more external input in order to decide on further actions/progress.
Use this milestone for tickets that are invalid, duplicates or wontfix.