Fixed bug with event handling. When dassl returns at an event it is not certain that the event condition becomes "true", i.e. passing the event. It may be a epsilon before the event. To prevent this, the code now (again;) takes a tiny step passed the event to make sure that all events are true. Added bouncingball example in BouncingBallExamples.mos to test this.
Fixed so mixed systems (ideal_diode, etc) now becomes a linear system if if-expressions are present. This requires differentiation of if-expression to determine jacobian of linear system, i.e the A matrix. Changed Derive.differentiateExp to take boolean if differentiation of if-expressions should be done.
411 lines of code changed in 24 files:
776 lines of code changed in 18 files:
3117 lines of code changed in 27 files:
Changed small step taken when event has occured and Dassl should be reinitialized to continue integration. Step previously was 1e-13, now it is defined in terms of machine precision, a bit larger than HMIN. This will prevent dassl from reporting that step (tout-t) is less than HMIN, since HMIN is also is defined in terms of machine precision.
72 lines of code changed in 11 files:
Fixes to be able to compile using Visual Studio.
Added some comments to System.mo
Added GENERIC_ERROR to Error.mo.
13 lines of code changed in 4 files:
- Makefile updates for Linux to mirror Makefile.omdev.mingw
6 lines of code changed in 1 file:
Removed need for fortran compiler by translating fortran files to c using f2c. Replaced nelmead.f with version that can be translated. Moved fortran files to folder named fortran. Several testcases updated due to small numerical differences between c and fortran.
30226 lines of code changed in 67 files:
Speeded up instantiation by writing special instantiation code for builtin classes (Real, Integer,String,Boolean).
224 lines of code changed in 1 file:
Fixed bug with "Automatic" output intervals and latest newTime implementation.
1 lines of code changed in 1 file:
Some cleanups from last commit.
Bug 849, some simplification errors with vector and matrix operations.
1 lines of code changed in 1 file:
Fixed bug with calculating nextTime when step is calculated from numberOfIntervals, giving numbers like 0.01111111111111111111111 due to inprecise floating point precision.
10 lines of code changed in 2 files:
Bug fix 849
Some minor fixes overall. Matrix simplification, builtin function pre.
418 lines of code changed in 11 files:
-Fixed bug with DASSL failing for large simulation times with few output steps. Solver now calls DASSL with largest step size=0.001, and then keeps track of when to output to result file separately. See LargeSteps.mo in simulation2.mos.
95 lines of code changed in 13 files:
Fixed sample-bug
10 lines of code changed in 1 file:
Added integer_rettype to modelica.h.
2 lines of code changed in 1 file:
Split functionDAE_output into functionDAE_output and functionDAE_output2. The first contains only continuous parts and the second discrete parts. This makes discrete variables emit value both before and after event possible. See blocksources.mos (PulseTest).
362 lines of code changed in 11 files:
- more Linux fixes
12 lines of code changed in 1 file:
- Linux fixes to Peter A. changes
13 lines of code changed in 1 file:
- tail recursive implementations of some Util functions
- cosmetic changes
- increased the young generation size in rml.h and stack size in p-gccore.c
- added ongoing support for dumping the incidence matrix
- added partial-s-1.mo to failing tests because with the new tail recursive
implementations the compiler goes into an infinite loop
564 lines of code changed in 7 files:
Added "smart setting of fixed attribute". If initial equations are present in a model and no state has fixed=false, all states that occur in the initial equation section is set to fixed=false, and a warning is issued. This makes most "simple models" work as they would if we followed the standard and setting states fixed=false by default. (OMC instead has fixed=true as default for states due to allowing overdetermined initial equation systems).
213 lines of code changed in 9 files:
Changed representation of builtin attributes in DAE.VariableAttributes (start,min,max, etc) to Exp.Exp (was previously Real, String, etc).
583 lines of code changed in 24 files: