forked from Hopsan/hopsan
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathHopsan-release-notes.txt
More file actions
1770 lines (1541 loc) · 130 KB
/
Hopsan-release-notes.txt
File metadata and controls
1770 lines (1541 loc) · 130 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
******************************
Important Information
******************************
- See the issue-tracker https://github.com/Hopsan/hopsan/issues for all known issues.
You can also report new issues, if you first create a GitHub account.
- There is no guarantee that the included component models are working under all conditions,
you must decide for yourself if you trust the simulation results.
- When you load models saved with an older version of Hopsan, follow these recommendations to avoid loosing information:
- Deactivate "Group Similar Messages" in the message widget at the bottom before loading a model.
- Pay attention to any Warnings or Errors you may receive when loading your old model.
If parameters fail to load they will be discarded.
- Parameters and ports may have changed name, in such cases you have to manually set the parameter value that could
not be loaded (according to messages).
- Sometime when exporting a model as PNG or PDF some components "vanish" or become very small. We have not been able to
fix this problem. If this is a problem, take a screen-shot instead. You can quickly hide all of the side widgets with
a button on the left pane.
- Hopsan internally relies on using the U.S English locale ( decimal separator '.' ) and should internally switch to
this mode. Problems have been observed on some Ubuntu installations running with a different locale. Hopsan fails to
interpret values with decimal separator '.' (it usually expects ','). If you do not want to change your system
settings you can start Hopsan with the following command to locally ensure that U.S English numeric locale is used.
Example:
cd /opt/hopsan/bin
LC_NUMERIC=C; ./hopsangui
******************************
Version History
******************************
2.12.1-snap (2019-07-29)
This is a special release for the snap version of Hopsan.
--- Enhancements ---
- The snap now uses the base snap core18 (Ubuntu 18.04) and includes improvements for desktop theme support.
The hopsan.gui and hopsan.holc applications should no longer look like "old software".
Unfortunately dark themes are not yet working well, but this is a problem for all variants of Hopsan.
- Hopsan (snap version) will overwrite the compiler path so that the internal snap bundled version of the compiler
is used automatically.
------------------------------------------------------------------------------------------------------------------------
2.12.0 (2019-07-15)
--- Enhancements ---
- HopsanCore:
- Added petri net node type
- HopsanGUI:
- Various text editor improvements
- Enable saving and loading parameter sets to file (.hpf) for the entire model, sub-systems as well as individual components.
Right click a component or subsytem to save or load parameter value sets.
The HCOM sapa and repa commands have also been updated.
- HopsanCLI:
- Made the --logonly command line argument affect only --resultsFullCSV output.
--resultsFinalCSV will still include the final values from all ports.
The purpose of --logonly is to reduce data amount for long simulations or optimizations with multiple iterations, but
the --resultsFinalCSV data is not very large and having access to final values for ports that were not logged may be useful.
- HopsanGenerator:
-Export model to black-box executable
--- Bug Fixes ---
- HopsanCore:
- Fixed loading of parameter value sets for entire systems (including subsystems)
- HopsanGUI:
- Fixed wrong XML tag when saving optimization settings
- HopsanGenerator:
- Format of generationDateAndTime in exported FMU is not valid
- Unable to recompile libraries when Hopsan installation path contains spaces
--- Component Libraries ---
- Corrected cavitation check for Q-type pumps
------------------------------------------------------------------------------------------------------------------------
2.11.5-flatpak (2019-04-30)
--- Enhancements ---
- This is a special release for the first Flatpak build
- HopsanGUI:
- "Apply & simulate" button in component properties dialog. Will apply all settings and simulate the model without closing the dialog.
- Improved point plotting in Optimization
- Use tables instead of widgets in layouts for optimization dialog
- Launch batch/shell scripts from HCOM
Launch .bat and .sh files using exec function in HCOM.
Syntax: exec script.bat arg1 arg2 ...
- Improved csv import support:
Support import column csv with data names on first line
Support importing row csv (names in first column)
Auto-detect HopsanCLI csv format
--- Bug Fixes ---
- HopsanGUI:
- Importing plot data in HCOM fails if no model is open
- Fix out-of-range crash in DE optimization
------------------------------------------------------------------------------------------------------------------------
2.11.0 (2019-01-25)
--- Enhancements ---
- HopsanCore:
- Add quantity Resistance with base unit Ohm instead of "ohm".
Also adds common unit scales to HopsanGUI.
- Add common math functions to embedded script (numhop), see users guide for details.
You can now write expression like "x=cos(y)" or "a=atan2(b,c+2)"
- HopsanGenerator:
- Added generator for compiler commands that should work with both GCC and Clang.
This is only used for library import compilation right now. It will be extended to FMU exporting later.
This should enable custom library importing on MacOS from HopsanGUI (but this has not been tested).
- HopsanGUI:
- Built-in script editor for HCOM scripts.
- Improved auto-completer in HCOM terminal.
- Case insensitive auto-completer for filter function in component library widget.
- It is now possible to add trace variables from multiple selected ports in the "debugging" widget.
- Improved find widget Ctrl+F, it now behaves similarly as in other application.
- Units scales are now sorted by scale.
- Removing three second real-time plotting window limit.
- Made it possible to run real-time animation (and plotting) without needing a previous log data generation.
- Add "chds" Change diagram size (and position) HCOM command.
- Click anywhere on the workspace to quickly add new components. Write the name in the filter box.
- The HoLC text editor functionality has been merged into HopsanGUI to improve and simplify the code editing experience.
- Improved the save-state functionality so that it is possible to recompile libraries without first closing the models that are using them.
Together with the code editor improvements this simplifies component development.
- HoLC:
- Short-key Ctrl+G for quickly compiling (G for generate).
- Zoom text with Ctrl+MouseWheel
- Improved auto-completer, automatically show auto-complete suggestions while user is typing.
Force-open auto-completer with Ctrl+Space
- Find widget in HoLC text editor, open with Ctrl+F
--- Bug Fixes ---
- HopsanGUI:
- Program crash after removal of disabled components.
- Incorrect "parameter not used" warning when parameter values are given by expressions.
- Plot unit selection does not allow a unit with scale one other than the base unit.
- Import button in data explorer is now disable when no model is open, to prevent import data from
going nowhere.
- Crash when double-clicking scope in real-time animation without an existing generation.
- Fix "real-time" plotting of play-back data. Now correct data index will be used instead of latest.
- System parameters in expressions are not added when copy-pasting components into a new system.
--- Component Libraries ---
- New spring-loaded switch animation component.
- Add min and max limit parameters for animation slider component.
- Add controller output limits to SignalPID2.
- Add Hidden leakage flow port in CylinderC component.
------------------------------------------------------------------------------------------------------------------------
2.10.0 (2018-09-28)
--- Important Changes ---
- The component library XML format has been updated.
See the included "componentLibraries\exampleComponentLib\exampleComponentLib.xml" for details.
Note! Hopsan will still be able to load files of the previous version.
--- Enhancements ---
- Models:
- Models will now know what external component libraries they require.
Libraries should have an <id> element in their XML file for this to work.
See the included "componentLibraries\exampleComponentLib\exampleComponentLib.xml" for details.
- FMU:
- When a model is exported to FMU or S-function, any required external component library will be included in the
export and compiled into the target.
Note! This requires that the source-code for the library is available and that all components, source files or
special build flags (if any) are listed in the component library XML. You can use HoLC (Hopsan Library Creator),
to add existing component files using a graphical users interface, but you can also update the library XML file
manually in a text editor.
- When a model that depend on data files (assets) is exported as an FMU, these files will now be included inside
the FMU, in the (resources) directory.
Note! Currently, any data file is included regardless of its size. This may pose a problem for very large files.
- When a model is exported into an FMU, the exported directory structure is much cleaner, and the FMU easier to find.
Temporary build and staging files are put into DESTINATION/fmu_build and DESTINATION/fmu_stage.
These directories are deleted the next time an FMU is exported to the same directory.
- HoLC:
- It is now possible to reload a file that was changed outside of HoLC, without restarting the program.
- It is now possible to add multiple existing files at the same time.
- Add existing files dialogues will now remember the last used directory.
--- Bug Fixes ---
- HoLC:
- It is no longer assumed that the name of library main XML and cpp files are the same as the library.
This allows overwriting existing library files on save.
- Build flags are now preserved when loading and saving a library XML file.
(You must still enter them manually in a text editor)
- The file dialog suffix filters should now work.
- FMU:
- Hopsan models exported as FMUs will no longer crash after 1/Ts simulation steps.
- HopsanGUI:
- Prevent severe slowdown after simulation when result data is collected.
This was especially noticable for large model or when many generations had been collected.
- Simulation:
- Disabled components are now allowed to have non-connected ports.
Note! If you disable components that are connected to enabled ones,
the simulation may not behave as you expect.
------------------------------------------------------------------------------------------------------------------------
2.9.0 (2018-07-02)
--- Important Changes ---
- The HopsanGenerator library refactoring. GUI parts were split into a separate library and the library now has a C API
- All Hopsan source files now use the file suffix '.cpp' rather then mixing '.cpp' and '.cc'.
- All binaries now use lower-case names (hopsancli.exe instead of HopsanCLI.exe).
- Continuous integration (Travis CI) and (Appveyor) now builds and tests every change to the Hopsan code.
This will reduce the risk of new code breaking old functionality.
--- Updates ---
- Update Qt to 5.6.3 on Windows (official Windows 10 support).
- Update the 64-bit Windows compiler to MinGW 4.9.4 (from 4.9.3). If you have manually set up a build environment for
custom component libraries you are encouraged to update (use one of the Hopsan downloads with compiler included).
- Update ZeroMQ to 4.2.5
--- Enhancements ---
- Optimization:
- Improved script file handling.
- Improved variable names in plots.
- Points are now sorted by objective value with DE algorithm.
- Script generation is now shown in a separate wizard.
- Reduced terminal output during optimization.
- New algorithm, Genetic Algorithm.
- FMU:
- Exported Hopsan FMUs will now report Warning and Error messages. Info messages will be reported as Debug type.
- Imported FMUs will now have their messages redirected to the Hopsan core logger instead of standard output.
messages should now be visible inside HopsanGUI. Enable Debug messages to see FMU Info messages.
- HopsanGUI:
- HCOM:
- Add PI constant 'pi()' in HCOM script.
- Add argument to filter DIPA output
- Add round, floor and ceil functions
- Add unco command to list ports that are not connected
- Export plot to image dialog will close after successful export.
- Generator import/recompilation dialogs will now auto close if the import succeeds. Various improvement have also
been made to the generator error handling to prevent importing old leftover files if compilation fails.
- Improved Hopsan core log file handling, the log file is now put in the temporary directory next to log cache files.
- Debug messages with log data collection speed has been added to help debug severe slowdown problems after the
simulation is finish. Enable debug messages to show them.
- The 32 bit version now includes openssl libraries so that the news feed can be accessed.
- HopsanCLI:
- The HopsanCLI takes a new argument '--log.corelogfile' to specify core log destination.
If not specified, the current working directory will be used.
- It is now possible to choose what ports to log when simulating using HopsanCLI.
Use the '--logonly' command line argument, and specify a comma-separated list of full port names.
It is also possible to alternatively specify a text file with one full port name per line.
Examples: Gain#out or SubsystemName#Gain#out
- When saving results from a HopsanCLI simulation, interface ports (system ports) will also be saved.
- Results saved by HopsanCLI now use scientific notation, this may increase precision for small values.
--- Bug Fixes ---
- Optimization:
- Plot windows should be reusable.
- Progress bars do not show with DE algorithm.
- Excessive progress bars are not removed when reducing number of models.
- Total progress bar is not updated with PSO algorithm.
- FMU:
- An exported Hopsan FMU will not signal failure if initialize or simulate fails.
- FMUs from JModelica cannot be imported.
The import code now supports 'CS and ME' FMUs. In this case the Co-Simulation variant will be used.
- HopsanGUI:
- The auto update link parser ignores Hopsan without compiler links.
- Animation crashes when variable is NaN or inf.
--- Component Libraries ---
- Fix inverted port initialization error in HydraulicTLMlossless.
- Fix error in pilot operated check valve.
- Fix error in HydraulicPistonAccumulator.
- The "Extension library" is now included by default with Hopsan. You can load it from the Hopsan installation directory.
This library contains experimental new components that have not yet been added to the default library.
------------------------------------------------------------------------------------------------------------------------
2.8.2 (2018-03-02)
- Bug fixed: HCOM max(abs(var)) fail to evaluate if var is a vector (also affects min)
- Bug fixed: Optimization: There should be a comma separator between the numbers in the parameter outputs
- Enhancement: It is now possible to choose what temp directory to use for the Hopsan GUI cache.
This may be helpful if the default directory is located on a slow network drive.
After each simulation, potentially very large log data cache files will be written here.
------------------------------------------------------------------------------------------------------------------------
2.8.1 (2017-11-30)
- Bug fixed: Prevent notifying that a new version is available if Hospan release "revision" is newer then the HopsanGUI "revision" in the same release.
- Bug fixed: Numbers are inverted in custom unit scale display dialogue. Actually they were not. They were supposed to be part of an equation, this is now shown.
- Bug fixed: If Hopsan is terminated or crash while the configuration file is saved, it will no longer become corrupt. (The previous version will remain intact)
- Bug fixed: The Linux version of Hopsan 2.8.0 can not dlopen libHopsanGenerator making it impossible to (re)compile external component libraries
- Enhancement: Auto download of new (Windows) versions will now save installer to the user "temp" directory rather than the "data" directory.
You should check your data directory for old installers and delete them manually!
Look in "C:\Users\USERNAME\AppData\Local\HopsanGUI" or similar.
- Enhancement: Greatly improved error/warning message output while loading external libraries, this should prevent bug: "Sometimes external components fails to load without error message"
- Enhancement: Added km/h, mph and knot custom speed units (Note! You can add your own in the Options menu if your favorites are missing)
------------------------------------------------------------------------------------------------------------------------
2.8.0 (2017-10-13)
- Change: Moved source code to GitHub: https://github.com/Hopsan/hopsan
Due to switching source code version control system from Subversion to Git(Hub), significant changes have been made to the build system and version numbering format.
- Change: New version numbering format (we also bumped the epoch number to avoid confusion with the previous generation of Hopsan (Version 1.4 released in 2001)
The new full version number format is: EPOCH.MAJOR.MINOR.DATE.TIME~BRANCH_NAME
For official releases, only the three first numbers will be shown in the file name, example: 2.8.0. But internally and for snapshots the date and time of the last commit will be appended.
This gives a behaviour that is similar to the monotonically increasing revision number used previously when the source code was handled by Subversion.
Optionally the branch name may be appended in the end (for experimental or snapshot builds, that do not originate from the "master" branch.
- Change: Re-licensed HopsanCore, HopsanCLI, libOps, libSymHop, libHopsanGenerator and libDefaultLibrary to Apache License 2.0
This is a more permissive license than the GPL license previously used.
Essentially: If you create derived work of the Hopsan core components (and distribute that work), your work must no longer be released under the GPL license.
Note! HopsanGUI and HoLC (the GUI applications) are still GPLv3 licensed.
Read the full license notices for details.
- Change: Removed obsolete csv_parser++ library (GPL licensed) from HopsanCore
libIndexingCSVParser is used everywhere instead (compiled into HopsanCore)
- Change: Removed Intel Thread Building Blocks library.
HopsanCore now relies on C++11 std::threads for multi-threading capabilities.
- Feature: Vector signal nodes. Note! Only realized by 2D node components as of yet.
These nodes are still static, so there would have to be a set of components for every vector size.
- Feature: Bi-directional signal ports (2D) read/write.
See external Grafcet example library
- Feature: HCOM New 'eval' command, Evaluate string expressions.
Example: eval "chpv Gain$i$.out.y" would first evaluate the variable i and then execute the 'chpv' command
- Feature: HCOM New 'mkdir' command, to create directories.
This may be useful when automate saving of data
- Enhancement: The version check and auto update (Windows only) system has been improved. If you have downloaded a version with the compiler included,
the auto update will now be able to download the new version also with the compiler included.
- Bug fixed: Prevent crash when copying HVectors of HStrings
------------------------------------------------------------------------------------------------------------------------
0.7.9 (2017-07-02)
- Bug fixed: Plot curves default to dashed lines
- Bug fixed: Reading symbols name from HCOM plot command will always give value 1,2 or 3 for symbol type
- Bug fixed: Subsytems become randomly disabled when models are loaded by the simulation core model loader, Affects CLI, FMU and Simulink export.
Simulation through HopsanGUI was apperantly not affected.
------------------------------------------------------------------------------------------------------------------------
0.7.8 (2017-04-04)
- Bug fixed: Plot widget is updated correctly when creating temporary HCOM variables
- Bug fixed: Fixed annoying warning of incorrect sRGB profile
- Bug fixed: HCOM "close" command can no longer close welcome screen
- Bug fixed: Legend setting no longer gets enourmous width
- Bug fixed: S-function compilation with Visual Studio
- Feature: Optimization can now be autostarted from regular HCOM terminal
- Feature: It is now possible to unload all external libraries at once
- Feature: Optimization can now have fixed start values for parameters
- Feature: Parts of a model can now be deactivated, so that it is not used in the simulation
- Feature: HCOM "ls" command now accepts wildcards
- Feature: HCOM "load" command now accepts wildcards
- Feature: HCOM "load" command now has an "all" option, to close all models
- Feature: HCOM "load" command now has a force flag, to supress warnings about closing unsaved models
- Feature: Pi constant in NumHop scripting
- Feature: It is now possible to load several models at the same time
- New component: 4/2 pressure controlled valve with no closed position
- Fixed component: Several errors in Forks component were solved
- Fixed component: Added end limitations to rotational inertia components
- Fixed component: Lossless connector components now stop simulation if connected to zero impedance components
------------------------------------------------------------------------------------------------------------------------
0.7.7 (2016-10-12)
- Bug fixed: Undefined reference errors for some functions in Matrix library
- Bug fixed: Imported FMUs now find their resource files as they should
- Bug fixed: Relative refencing of system parameters in subsystems
- Bug fixed: Compilation without TBB support now works properly
- Bug fixed: Crash when starting optimization if subsystems with container ports are present
- Bug fixed: Some incorrect expressions no longer evaluates OK in HCOM
- Bug fixed: Graphics export from plot window now remembers the path from last export
- Bug fixed: CylinderQ icon now has a spring
- Bug fixed: The combo boxes in plotwindow curve info are now set to the correct values if you choose style/color/thickness from a HCOM plot command
- Bug fixed: Undo and redo removal of a component with an alias will make the component loose alias and crash the program at next simulation
- Bug fixed: HCOM now ignores everything after comment characters
- Fixed components: C-type pressure source components now handle start values correctly
- Feature: Plot symbols can now be specify from from plot commands in HCOM
------------------------------------------------------------------------------------------------------------------------
0.7.6 (2016-07-01)
- Bug fixed: Numhop +- expressions fail if left-hand variable name ends with e or E
- Bug fixed: If you close the add-system-parameter widget with the "cross" in the top right corner, it is impossible to open it again
- Bug fixed: HopsanGUI hangs forever when closing a model with one or more open properties dialogs
- Bug fixed: Confusion in variable lookup when matching against alias names, causing incorrect behaviour of rmvar HCOM command (and likely others),
'rmvar aliasname', will now remove the alias variable itself and unregister the alias name from the actual real variable.
- Enhancement: Increased precision (double to string conversion) of some HCOM scalar outputs and the plot markers display text.
- Enhancement: The 'to_hstring' utility function now takes an additional 'precision' argument, so that the precision of the resulting string
can be chosen. The default value is 17, this resolves issues with evaluated numerical expressions in parameters getting truncated.
- Enhancement: Limited boolean operator support in numhop, true = 1 and false = 0
- Enhancement: HCOM's elementwise power function for vectors now support other (positive) powers than 2
- Enhancement: HCOM's linspace and logspace functions will now evaluate arguments (so that variables can be passed)
- Enhancement: HCOM's rmvar command has changed behaviour, 'rmvar name' now removes name at CURRENT generations, equal to 'rmvar name@c'
- Enhancement: The animation speed value is now remembered if the widget is closed and then reopened
------------------------------------------------------------------------------------------------------------------------
0.7.5 (2016-05-19)
- Feature: HCOM vector function that can create a vector from input arguments. Ex: "a = vector(1,2,3,4,5)"
- Feature: It is now possible to import "Space separated value" files into HopsanGUI
- Feature: Both 64-bit and 32-bit builds are now available for Windows.
- Bug fixed: FFT function would create frequency vector in Hz but the default unit for frequency in Hopsan is rad/s.
Note! Default plot unit can be changed in the global program options dialog.
- Bug fixed: Incorrect memory deallocation in Delay class (memory leak in components using delay buffers)
- Bug fixed: Remote server worker would report failure instantly when launching worker thread sometimes (race condition)
- Bug fixed: Prevent crash after removal of nested system parameters due to dangling pointer in "needs evaluation" list
- Bug fixed: Prevent crash when incorrect port name is given to logging enable check/set
- Bug fixed: Fixed HCOM crash if enddefine is missing
- Bug fixed: Fixed crash bugs in HCOM flow control (if, while, foreach)
- Bug fixed: Simulink S-function export from Hopsan now has working system parameters (including pre-set default values)
- Bug fixed: Data file lookup when using relative paths did not work on Windows when paths contained \ during CLI simulation
- Bug fixed: Editing port positions on a component would affect the entire class of the component (new components would get the changed ports)
- Bug fixed: Revision information was lost in deb releases
- Enhancement: ServerMonitor can now list completely free servers (use the -f flag)
- Enhancement: It is now possible to change the receive timeouts in the ServerMonitor and RemoteClient
(Useful if you are working over a slow poor connections)
- Enhancement: It is now possible to decide how many slots are required when starting jobs through the RemoteClient
- Enhancement: Moved meta info into system tag in xml, so that subsystems in a model can be given author information
- Enhancement: HCOM flow control condition can now be an expression (that is evaluated)
- Enhancement: It is now possible to specify import format to the "repl" HCOM command
- Enhancement: Parameter values are now shown in a tool tip, to allow reading long expressions that do not fit in the parameter value edit box
- Enhancement: Improvements and fixes in the CLI optimization function
- Enhancement: Improved handling of "dead workers" by remote server, slots will not remain locked if workers die
- Enhancement: Console mode is now activated for Windows builds, std. output will now be shown in a terminal window.
This can be used for simple debugging of your own components.
- Fixed component: Force was not set to zero in MechanicFreeLengthWall when C-component was not in contact
- Fixed component: "Translational Spring" C-component now have alpha TLM filter parameter.
- Fixed component: Improved some "aero" components and example models
------------------------------------------------------------------------------------------------------------------------
0.7.4 (2016-03-11)
- Feature: HCOM sepl command to set plot label
- Feature: HCOM revert command to revert model changes
- Enhancement: HCOM can now evaluate multiple HCOM function calls on the same line. Example: ones(10)+ones(10)*2
- Enhancement: HCOM print command is now able to print variables or expression results directly without embedding in string
- Enhancement: New quantities Momentum, Power, Energy
- Enhancement: Remote simulation server will now accept a user name so that files on the server will not collide when multiple people are using the service.
The user name can be set in HopsanGUI or supplied to the RemoteClient command line tool.
- Enhancement: Disabled editing, solver selection and recompile button in the code viewer (in Component Properties) for C++ components since it is not possible to
actually change / recompile individual components from within HopsanGUI. This was causing confusion.
- Enhancement: Disabled the "Dual View" in the library widget since it will fail to show all components in some cases. Fixing the problem will require to much work,
the code is still there if someone want to give it a try. This change also removes the "HelpButton" but the UsersGuide is still available through the help menu.
- New component: Hydraulic Piston Accumulator has been added
- Bug fixed: When loading a model from a 0.6 version of Hopsan using custom parameter scales, the scale factors are inverted in the properties dialog.
(Simulation is not affected!)
When a scale mismatch is detected on loading a model, it will now be updated to the latest version.
Note! Since old versions of Hopsan does not have this fix, the unit scales saved in a model from Hopsan 0.7 are not backwards compatible with Hopsan 0.6.
- Bug fixed: It is not possible to use HCOM function calls as arguments to HCOM commands if spaces exist in the argument list to the function call
- Bug fixed: HCOM crash if taking square of temporary vector expression
- Bug fixed: Rare crash due to "double free" in SymHop Expression destructor
- Bug fixed: HCOM scalar/vector division falls back to startvalue for vector name instead of using the vector
It will now be interpreted as (scalar * 1 ./ vector) (scalar * Element-wise inverted vector)
- Bug fixed: In xy-plots the unit label for custom x-axis was incorrect, it got the y-axis unit
------------------------------------------------------------------------------------------------------------------------
0.7.3 (2016-02-23)
- Feature: Running optimizations from HopsanCLI
- Enhancement: If you select multiple system parameters then all components with selected parameters will be highlight
- Enhancement: No longer listing system port variables twice in the plot widget
- Enhancement: PortType is now saved in port tag in model xml (for external tools)
- New component: Mechanic worm drive
- Bug fixed: If you close a model the numhop script dialog is not closed with it
- Bug fixed: Sometimes no data is saved in the log variables collected from the core (if you start a second Hopsan instance the cache files were deleted)
- Bug fixed: It is no longer possible to add or change system parameters in "limitedlocked" systems
- Bug fixed: When editing a system parameter of other type then double, the type selector still defaults to double
- Bug fixed: Crash on Windows 8 and 10 after renaming a system port and later saving (or in some other way triggering refresh port appearance)
- Bug fixed: Parameter sweep optimization is not working, sometime dialog is crashed as well
------------------------------------------------------------------------------------------------------------------------
0.7.2 (2016-02-06)
- Feature: Additional versions of the Windows installer and zip release are now available with the compiler included.
This version will default to the internal compiler (see options to set other compiler paths).
Note! For compression reasons (to keep the file small) the portable "zip" release including compiler uses the "7z" format
and requires the free "7-Zip" program from http://www.7-zip.org/ to unpack.
- Feature: Hopsan can now utilize remote simulation services for parallel simulation during sensitivity analysis.
Note! This is only beneficial for large models that take a long time to simulate. Overhead from remote loading of models and especially transferring data back
to the HopsanGUI will add to the total simulation time for each model.
- Enhancement: Imported FMUs will now inherit ComponentSignal by default, (instead of Q-type). When a HopsanTLM port specification is present in the FMU the C or Q
type can be decided in that file (using the "tlmcqtype" tag). If not specified, Q-type will be assumed.
- Enhancement: FMU import HopsanTLM specification now works with all built in node types in Hopsan. (Before, only Hydraulic and Mechanic ports were supported)
The Hopsan node type name must be used in the "type" attribute of the "tlmport" tag. Example: "NodeElectric" not "electriccq".
- Bug fixed: Exported FMU wont compile due to failed namespace replacement in new code
- Bug fixed: The simulate multiple models or all open models code in the ModelHandler sometimes causes crash after simulation
- Bug fixed: When importing FMU the FMILibrary path does not work if Hopsan is installed in for example "Program Files" (space in path)
- Bug fixed: Highlighting components using system parameters does not work if system parameter is used in expression
- Bug fixed: Importing FMU with _ in name causes problems (due to to strict toValidVariableName function)
- Bug fixed: Crash if trying to use remote parallel optimization using an algorithm or method that has not been implemented in the scheduler
It will now fall back to parallel queuer without load balancing
- Bug fixed: Fixed incorrect rad/s -> rpm unit scale
- Bug fixed: Fixed rare crash bug in SymHop library
- Bug fixed: Fixed crash bugs related to optimization "hidden models"
------------------------------------------------------------------------------------------------------------------------
0.7.1 (2016-01-28)
- Enhancement: It is now possible to trigger the "invert plot" function for a data variable through the plot curve controls.
- Enhancement: The time offset dialog and hcom commands now use the selected default time unit for input and output
- Enhancement: NumHop dialog now has an apply button so that you can edit and apply changes without closing the dialog
- Fixed component: CylinderC now have the possibility to disable internal end stop simulation
- Fixed component: Lookup table components are no longer tagged as Experimental (they seem to be working)
- Fixed component: Hydraulic32DirectionalOnOffValve does not allow flow from load port to tank after bug fix to 0.7.0.
Also added validation tests to prevent this from happening again
- Fixed component: Electric motor components had wrong unit for Viscous friction coefficient (only fixed in generated C++ code)
- Bug fixed: When opening component properties dialog for a subsystem the model is locked, the dialog seems to be modal (it now behaves as ordinary components)
- Bug fixed: Added missing check for feasible region in differential evolution optimization algorithm
------------------------------------------------------------------------------------------------------------------------
0.7.0 (2016-01-26)
- Note: This version has been in development for approximately one year.
There are many changes that are not mentioned in these release notes.
- Note: The abs HCOM command has been removed, use the abs() function instead.
- Note: The HCOM plot scale and plot offset commands have been removed. (The features have been removed as well)
Use quantities or generation specific time plot offset
- Note: The core Component functions setInitialValue() and readNodeSafeSlow() and writeNodeSafeSlow() have been removed. Use writeNodeSafe() or readNodeSafe() instead.
- Note: Now one logdata handler is shared for the entire model instead of for each individual subsystem, this greatly simplifies working with Generations of data.
The full system hierarchy of data is now available in the same tree.
- Note: We have finally chosen a real license, and made sure that third-party dependencies are compatible.
This version of Hopsan is released under the GNU GPL version 3 license.
If you would like to use a different license, please contact Fluid and Mechatronic Systems, Linköping University,
and consider sponsoring the development of Hopsan.
- Note: This release has updated to MinGW-W64 4.9.3 and a custom compiled version of the Qt Libraries 5.4.2 (for this 64-bit compiler)
See the documentation for details.
- Feature: A remote Hopsan simulation framework has been developed and is included in this release.
Unfortunately there is no documentation about how to use it but if you are clever, you can probably figure it out.
Run the following programs with the "--help" flag for more information:
hopsanaddressserver.exe, hopsanserver.exe, hopsanserverclient.exe, hopsanservermonitor.exe
HopsanGUI can connect to the server(s) and run remote simulation, and some optimization algorithms can run in parallel if many server computers are set up.
Note! This is VERY experimental.
- Feature: It is now possible to set plot label in the component properties dialogue, this label will be used in plot legend (overwriting full name and alias)
- Feature: Components (including subsystems) in a model can now be locked, which prevents editing
- Feature: Ii is now possible to revert model to the last saved state without loosing plot windows and log data generations (Tools menu)
- Feature: It is now possible to invert specific plot variables from HCOM "ivpv" and component properties
Inverting may be useful for analysis purposes, but only the plot curves will be affected. The data will keep the correct value.
- Feature: HopsanGUI can now automatically compile (and recompile) External component libraries when they are loaded.
This means that you no longer need an external build environment for component library development.
(You can still use that for advanced development)
- Feature: It is now possible to recompile or reload external component libraries from the library widget right-click menu.
Provided, that the correct compiler version is installed and selected in Options. (See documentation for details)
- Feature: It is now possible to start HopsanGUI from the command line, and pass a HCOM script as the first argument. The script will be executed on start-up.
Note! the script file name used as the argument must end in .hcom, otherwise it will be treated as an hmf file to load.
- Feature: Quantities definitions have been moved to the simulation core, so you can now assign quantities directly in the component code
- Feature: It is now possible to set Quantity on signals (that have no quantity set in code) so that the desired description and units are used in plots.
Instead of showing "Value". Note! No check will be done that units match, you have to take care of that yourself.
- Feature: HopsanGUI now supports data export in the standardized HDF5 http://en.wikipedia.org/wiki/Hierarchical_Data_Format format.
This format has import support in many popular softwares. The format stores data without truncation and includes variable meta data.
A helper scripts for convenient import in Matlab is included in the Hopsan release (Check the Scripts directory)
- Feature: Help description for components can now be written in Markdown (a simple text format) that is automatically converted to HTML in HopsanGUI.
Additionally LaTeX equations are supported and will automatically be rendered into the HTML document.
- Feature: A model embedded script language NumHop is now part of each system component. Using NumHop you can write an initialization script
that will be run for each system to set defaultStartValue parameter. This is useful if you need to calculate start values based on other parameters
in your model. See the NumHop script section in the documentation.
- Feature: Symbolic expressions can now be used as parameter values, this make it possible to base one parameter on another in the same component or
use a system parameter directly or included in a mathematical expression. See the NumHop script section in the documentation.
- Feature: It is now possible to set star values in system ports.
- Feature: It is now possible to save the state of a simulation and to later load that state to continue the simulation from a certain point.
Note! Internal states of the components are not saved, only the interface (node) values. You make the save/restore at steady-state.
This functionality is available in the HopsanCLI (see CLI documentation)
And in the HopsanGUI see the Export menu, and the -loadstate and -loadsv argument to the HCOM "sim" command.
- Feature: It is now possible to get node data pointer structures from ports, this makes it easier to write cleaner component code.
Especially if you have many ports or even multi ports. Currently this is experimental and only available for Hydraulic and Mechanic nodes.
- Feature: The HoLC (HopsanLibraryCreator) program is included in this release, you can us it to generate the component library files and component code skeletons.
It also offers limited code editor functionality.
- Feature: External subsystems (.hmf) can now be used as components in the component library
- Enhancement: HCOM set command can now take variables as arguments
- Enhancement: HCOM get command, which displays current settings
- Enhancement: HCOM help command will auto try functions if no matching command was found
- Enhancement: It is now possible to have multiple help links in the component help
- Enhancement: Help links can point to either local files, relative to the xml description, or to on-line web pages.
- Enhancement: Unit scaling with offset as well as scale are now supported (such as temperature)
The scale and offset values follows the same convention as in the FMI standard
- Enhancement: Built in unit scales will no longer be saved in user configuration file, the default built-in values will always be used.
This reduces the risk of using incorrect values.
- Enhancement: System parameters now support quantities/units and description
- Enhancement: It is now possible to edit system parameters after they have been added
- Enhancement: It is now possible to plot and check parameters (but not edit) inside fully locket external systems and locked local systems
- Enhancement: When the component properties dialogue is opened the model is locked to prevent editing, however, now it is possible to open additional properties dialogues
or start a simulation. The dialogues have been given an apply button. You can now iterate the following: open a dialogue, change a parameter, simulate, look
at the results. All without ever closing any windows or dialogues.
- Enhancement: The component properties dialogue for subsystems now look and behave the same as for ordinary components.
But it still contain additional system specific settings.
- Enhancement: The expended items in the plot widget will now be remembered when you switch between two different models
- Enhancement: When exporting a model as .png, it is possible to choose if the background should be transparent or white. The original resolution is also shown.
- Enhancement: When a data variable is removed it will signal any plot using it to remove the curve or a curve custom x-data as appropriate.
This reduces confusion when analysing the results.
- Enhancement: When a generation is missing from a data variable, that data curve will be hidden if the curve is set to that generation.
(Rather then showing the wrong generation).
- Enhancement: When offsetting time for a specific generation, now all "Time" vectors in that generation will be affected at the same time.
Time offset can be applied and checked from time offset dialogue, right-click menu in plot widget or HCOM commands "chto" and "dito".
- Enhancement: Systems and components now save their CQS-type as an attribute in the HMF file
- Documentation: The documentation has been reorganized and updated with new information about, how to setup the build environment to build Hopsan as a developer.
how to install the compiler for automatic compilation of External component libraries. Some new features are also covered, but sadly the documentation
is still lagging behind in some areas.
- Documentation: Added HCOM documentation on how to change curve styles from plot commands
- New components: Round, Ceil and Floor signal components
- New components: NumHop SingleInput SingleOutput interpreting component, write NumHop script that is evaluated without compilation.
Code can be extended to support more inputs and outputs.
- New components: Hydraulic and Mechanic NodeSensor as well as Mechanic C and Q TLM input components make it possible to "graphically" program
the Transmission Line equations in a subsystem block. Note! this is still an experimental feature and performance will be lower
then if you write the code manually.
- Fixed component: Some directional valve components had different speeds in positive and negative direction
- Fixed component: HydraulicCylinderC now has built in end-stops, so you should no longer rely on the connected Q-component (usually mass) to limit the stroke.
- Bug fixed: Messages from optimizations no longer appears in main window terminal
- Bug fixed: Memory leak when re-using models for subsequent optimizations
- Bug fixed: It is possible to copy/paste in locked external systems, it should not be possible
- Bug fixed: When a model is locked (external system) it is still possible to change or remove system parameters through the system parameter widget
- Bug fixed: When sorting the system parameters in the system parameter widget, the row indexes are messed up, making operations affect the wrong parameter
- Bug fixed: If you remove a system parameter from a system used as an external system, then the old parameter will be re-added once the master model is loaded
- Bug fixed: Hopsan crash after simulation due to progress bar deletion if something got in the way between finalizeDone signal and finish slot.
(actually this was a problem with non blocking signals and slots)
- Bug fixed: Pressing Ctr+C (copy) without something selected will clear the current copy/cut stack.
Not fun if you made something fancy, cut and then accidentally press copy instead of paste.
- Bug fixed: It is not possible to plot from a scope connected directly to a container port
- Bug fixed: Variables in subsystems do not know from which model they come
- Bug fixed: When setting a non string parameter to empty no error is shown and resulting evaluation will be zero
- Bug fixed: Can not reset string constants to default value if default value is empty string
- Bug fixed: External subsystem connectors are lost on copy paste
- Bug fixed: If you load a model containing a subsystem saved as a component and that component is not available in the library,
nothing is created and no messages are shown. (There was a debug message but it has now been changed into an error message)
- Bug fixed: The default unit scale value for converting between Hz and rad/sec is inverted. (This was previously fixed in 0.6.12) but now
with quantity support in the code and a new unit scale system in the GUI, this is no longer an issue.
Either you have frequency in rad/s (then use the Frequency quantity) or write unit Hz directly (then unit scaling will not work).
- Bug fixed: Deactivated ports are not saved, so they reappear once a model is reloaded.
------------------------------------------------------------------------------------------------------------------------
0.6.12 (2015-09-03)
- Note! We strongly suggest that you reset your configuration file ("Reset defaults" button in options dialog) after updating to this version, due to the erroneous handling of frequency unit scaling
- Bug fixed: The definition of Frequency scaling requires the base unit to be the SI-UNIT Hz, but in Hopsan we actually use rad/s.
The default configuration setting for Frequency was inverted so that it scales relative to rad/s instead of Hz
You need to reset your configuration file after updating to this version.
If you have used Frequency scaling previously, you should really reload that model and reset the scaled parameter.
Then make sure that you enter the correct frequency value.
If you do not, an incorrect scale will be used.
- Bug fixed: Subsystem sometimes move from where you left them the second time you open them
- Bug fixed: Lookup Tables fail to read CSV files with Windows line endings
- Bug fixed: Calling initialize on SecondOrderFilter will not reset the output value variable, its value remains unchanged
- Bug fixed: HopsanCore simulation freeze sometimes when calling stopSimulation() during multi-core simulation
- Bug fixed: Fixed crash in optimization finalize function
- Bug fixed: Made sure disabled ports in original model are respected by optimization handler
- Bug fixed: When creating a new subsystem the default viewport is set to the top-left corner
- Fixed component: Fixed division by zero in hydraulic pressure controlled pump component
- Fixed component: Enabled stroke limitation of HydraulicCylinderC. Hopefully it works as intended
- Fixed component: Rewrote cavitation handling in CylinderQ
- Fixed component: Allow negative c in volumes in CylinderC (to avoid creating oil out if nothing when we get cavitation)
- Enhancement: When renaming a system parameter in the systems parameter widget, the values in components using the parameter should be updated to the new name
- Enhancement: Added backup and restore functions to first and second order transfer functions
------------------------------------------------------------------------------------------------------------------------
0.6.11 (2015-04-08)
- Feature: Support for FMI 2.0 import and export
Note! Only Signal, Hydraulic and Mechanic nodes can be exported / imported
Note! FMU import in Hopsan require additional TLM description XML file if FMU scalars should be interpreted as PowerPort variables
Note! FMU parameters are not yet supported
- Feature: Compiler path settings in Hopsan for FMU export/import, compiler no longer need to be in system PATH
- Fixed component: Hydraulic PistonQ prevent negative wave variable (cavitation) from "sucking" the piston
- Fixed component: SignalSRLatch Fixed initial behaviour
- Fixed component: Mass component position end stops are now +- 1e300 instead of 0 and 1
- Fixed component: An assortment of fixes and changes in some (Mathematica generated) special components
Pay attention to any warning messages if you use such components
- Fixed component: Moved default port location on Hydraulic42DirectionalValve and Hydraulic32DirectionalValve
Also fixed incorrect animation data (removed for Hydraulic32DirectionalValve)
- New components: Some new (Mathematica generated) (mostly Mechanic) components added (and some removed)
- New component: SignalNot (logic inverter) component
- New component: SignalJKLatch component
- New component: Signal log and log10 components
- Enhancement: The number of log generations is automatically limited during optimization
- Enhancement: Log data is no longer cached to User/Documents (very slow if you have a network drive personal storage), instead Temp location is used
- Enhancement: When setting a system parameter whose name is already taken by a component the error message is slightly more clear
- Bug fixed: Time scale dialog shows wrong unit for imported PLO data
- Bug fixed: Imported PLO data will now get the correct custom time unit scale based on the plot scale in the PLO file
(if it matches one of the time units registered in Hopsan)
- Bug fixed: The minimize and maximize buttons are no longer present on plot windows
- Bug fixed: Subsystems exported as components will not be able to retain their icon if you move the model they are included in (only fixed for new exports)
- Bug fixed: Animation crash if you have an algebraic loop when entering entering animation loop
- Bug fixed: Animation crash if you have a connector in progress when entering animation mode
- Bug fixed: When a parameter was entered incorrectly the dialog box that pops up will (sometimes) crash Hopsan when you press the close button
- Bug fixed: If you are creating a connector from a subsystem port and enter that subsystem then exit it again, Hopsan will crash
- Bug fixed: Hopsan crash if a connector is being removed (not canceled) while it is being created
- Bug fixed: When registering alias in logdatahandler Hopsan will crash if fullname is not available in the current generation
- Bug fixed: Simulink export does not work on Linux, it would generate the same compile script as in Windows
- Bug fixed: When clicking OK in component properties on a component with multiports lots of empty alias related errors are shown (alias can not be set in multiports)
- Bug fixed: Viewport keeps jumping around when loading and switching between subsystems, also views are not saved correctly with model
- Bug fixed: Timestep in FMU export is hard coded (model setting should be used instead)
- Bug fixed: HCOM cannot read script files that contains tabs (as indentation character)
- Bug fixed: If you enter properties for a subsystem, and then exit, once you click and drag the system, it is in copy mode
- Bug fixed: Conditional subsystems are sometimes sorted in the wrong order before initialize
- Bug fixed: HopsanCore HMF loader does not differ between SubSystem and ConditionaSubsystems, ordinary Subsystems are always created
- Bug fixed: When re-importing an FMU that is already imported the automatic unloading of the old one does not work
------------------------------------------------------------------------------------------------------------------------
0.6.10 (2015-02-16)
- Feature: Added flag to HCOM echo command for ignoring error messages
- Feature: Added support for componentLibraries/autoLibs/ folder, from where component libraries are automatically loaded at startup
- New component: SignalCounter
- New component: Sample and hold
- Fixed component: Area ratio parameter in over-center valve is now defined correctly
- Fixed component: Displacement setting for pressure-controlled pump can no longer exceed 1
- Enhancement: Parameter for custom message in stop simulation component
- Enhancement: The stop simulation function will always print the current simulation time and the name of the component it was called from, parent systems will also print this information
- Enhancement: Optimization now prints error messages
- Enhancement: Sensitivity analysis can now use system parameters
- Enhancement: Sensitivity analysis plot windows now show variable names in legend
- Bug fix: When changing scaling of parameter, sometimes the value will not change, happened if the new value was the same as the default value (even if unit was different)
- Bug fix: When writing an invalid parameter value the value is reset but any applied custom scale is not reset resulting in incorrect actual value
- Bug fix: Recent models list is not updated when you have opened a new model, only after restarting Hopsan
- Bug fix: It is not possible to load start values in c subsystems from hmf due to # being considered an illegal character
- Bug fix: It is not possible to import top-level system parameters in HopsanCLI
- Bug fix: Applying values after optimization now works again
- Bug fix: Optimization output displays are now updated correctly after finished optimization
- Bug fix: SymHop sign() function now returns correct value for negative input
- Bug fix: Sensitivity analysis can now be aborted
- Bug fix: Icons for animation and loss calculation are now always disabled when welcome screen is open
- Bug fix: Check valve components no longer crash when used in animation
- Bug fix: It is now possible to load connectors without the <coordinates> xml tag
------------------------------------------------------------------------------------------------------------------------
0.6.9 (2014-11-25)
- Feature: New LookupTable1D component for PLO v1 and v2 format files
- Feature: HCOM command for writing (or appending) text strings to files
- Feature: HCOM command for converting variables to time or frequency domain
- Feature: HCOM command for saving models
- Feature: HCOM command for showing and changing offset for variables
- Feature: HCOM command for extracting X-vector from a variable
- Feature: Option to reset all animation data in model to default
- Feature: It is now possible to edit parameter values in subsystems hierarchically using HCOM
- Feature: It is now possible to modify default parameter values for subtype components in CAF files
- Feature: Measured simulation times can now be exported to CSV
- Feature: Multi-marker tool in plot windows, which shows values for several curves at the same time
- Feature: Option to open containing folder of libraries in library widget (by right-clicking)
- Feature: Option to automatically set HCOM working directory to model directory
- Feature: Setting for showing plot windows on top or main window or not
- Feature: Option to plot entropy during optimization
- Feature: Setting for not running the extra evaluations after an optimization
- Feature: Sub-systems can now be saved to components by right-clicking on them
- New component: Symmetric C-type piston
- Fixed component: Start values now work properly for all linear mass components
- Fixed component: Multiply component now works correctly even if neither of the ports are connected
- Fixed component: Incorrect modelling of overlap in open centre valve
- Fixed component: Increased default value of restrictor coefficient in check valve component
- Enhancement: When stepping through HCOM history using arrow keys, history are now filtered by what is already written
- Enhancement: HCOM rmvar command are now be able to exclude specified variables and/or aliases
- Enhancement: HCOM print command will now print text even if echo is off
- Enhancement: Animation color tags can now have divisors/multipliers
- Enhancement: Each movement and resize animation tag can now have individual divisors/multipliers
- Enhancement: Animation movables can now have multiple resize and movement tags using different data variables
- Enhancement: Minimum animation speed was greatly reduced
- Enhancement: Tab key now works correctly in component properties dialog
- Enhancement: Save as function now use current model directory as default directory, if model is saved
- Enhancement: Broken connectors are now always shown on top of other objects
- Enhancement: Generation number of imported data is now shown in plot widget
- Enhancement: Right-click copy is less sensitive, to avoid doing it by mistake
- Enhancement: Power component now use absolute values, to avoid creating imaginary numbers
- Enhancement: Sub-folders are now always sorted on top of components in library widget
- Enhancement: Optimization dialog now shows name of model and script file
- Enhancement: Model is no longer auto-backuped at every iteration during optimization
- Enhancement: Final evaluations are no longer run if animation was aborted
- Enhancement: Optimization parameters can now have custom names
- Enhancement: Warning about aborting the optimization when closing optimization dialog
- Fixed: HCOM Disp command no longer crashes when used without arguments
- Fixed: Animation data for adjustable components are now saved correctly
- Fixed: Crash if closing program while running a real-time animation
- Fixed: Problems compiling exported FMUs with certain versions of GCC
- Fixed: Optimization should no longer steal focus from other applications
- Fixed: Simulink export can now load model even if original model was not saved
- Fixed: Corrected number of state variables in FMI export for model exchange
------------------------------------------------------------------------------------------------------------------------
0.6.8 (2014-07-11)
- Feature: Made it possible to use expressions when specifying plot generations from HCOM
- Feature: Writing multiple HCOM commands on the same line separated by semicolons
- Feature: Controlling curve color, type and thickness from HCOM
- Feature: Numerical input component for animation
- Feature: Lookup table components for 1D, 2D and 3D
- Feature: HCOM command for displaying information about a variable
- Feature: HCOM command for making axes logarithmic in plot windows
- Feature: HCOM command for locking or unlocking axes in plot windows
- Feature: HCOM command for changing diagram limits
- Feature: HCOM command for exporting plot window to graphics
- Feature: HCOM function for absolute value (intended to replace command with same function)
- Feature: It is not possible to disable logging in all nodes except alias variables
- New component: Translational mass with coulomb friction and multi-ports
- Fixed components: Mismatch between position and velocity in translational mass components
- Fixed components: Pressure controlled pump can now be used without reference pressure port connected
- Enhancement: It is not possible to right-click and plot multi-ports if they have only one connection
- Enhancement: No specified generation in HCOM now assume globally highest generation
- Enhancement: Generations now become locked when plotting specified generations for a variable from HCOM
- Enhancement: Change plot window command in HCOM now makes new plot window appear on top of other ones
- Enhancement: New plot windows no longer steal focus from HCOM widget
- Enhancement: The maxof() and minof() functions in HCOM can now compare vectors with scalars
- Enhancement: Optimization dialog now plots newest objective value as well as best and worst
- Enhancement: Most functions and commands in HCOM now evaluates their arguments properly
- Enhancement: Animation now stops correctly when stop time is reached
- Enhancement: Settings for plot graphics export are now saved between sessions
- Enhancement: Generation number of imported variables are now shown in plot widget
- Enhancement: Lossless connector icons have been changed so that they are not confused with pipes
- Enhancement: Exported Simulink S-functions now print messages from HopsanCore
- Fixed: Made it possible to use lookup tables with relative paths in sensitivity analysis widget
- Fixed: Disabling logging in a node now works also after it has been previously simulated
- Fixed: Wrong relative paths for components in embedded subsystems
- Fixed: Mixup of time vectors in interface ports on subsystems
- Fixed: The ddt command in HCOM returns a vector of wrong size
- Fixed: Highlighting function in system parameters widget now also highlights negative instances of the parameter
- Fixed: Highlighting function in system parameters widget now only highlights by name, not by value
- Fixed: Added missing number of parentheses check in HCOM expressions
- Fixed: HCOM operators for greater than and smaller than now work for vectors
- Fixed: Animation data for pressure, levels and flow speed are now remembered when leaving animation mode
- Fixed: Zoom and center view actions now work in animation mode
- Fixed: Crash when removing variables with rmvar from HCOM
- Fixed: Multiplying a vector with zero in HCOM now returns a vector of zeros and not a scalar
- Fixed: Removed errors and warnings in optimization dialog that made no sense
- Fixed: Animation display component no longer shows numbers outside its icon
- Fixed: Aliases no longer lose their connection to plot curves when clicking "ok" in component properties dialog
------------------------------------------------------------------------------------------------------------------------
0.6.7 (2014-05-14)
- Feature: It is now possible to change the unit for constants and start values in the component properties dialog.
Only registered unit scales will be available
Note! The unit ONLY applies to the actual constant value or start value, it will not affect the signals in the connectors
- Feature: Clickable switches in animation
- Feature: Mathematica .nb files added for the automatically generated components. (you will need a .nb reader (free version exist) to view them.
- Feature: It is now possible to distribute components with equal distance vertically or horizontally
- Feature: New chpvx command in HCOM to set common xdata for the current plot window (see hcom help for more details)
- New component: MechanicGearClutch
- New component: HydraulicPressureControlValve33
- New component: Hydraulic 4/2 on-off valve
- Fixed components: Many valves did not initialize the spool position transfer function correctly, making it impossible to start in non-zero positions.
- Fixed components: MechanicJLink2 corrected. Position at 0 was not set
- Fixed components: MechanicRotationalInertiaWithGearRatio (in/out power was not same with no viscous friction and steady state)
- Fixed components: MechanicRotationalInertiaWithSingleGear (in/out power was not same with no viscous friction and steady state)
- Fixed components: HydraulicTurbulentOrifice now simulates once in initialize to correctly calculate initial values
- Fixed components: Disabled some start values that would have no effect in Hydraulic Sources&Sinks
- Fixed components: The White_Noise_Generator utility was generating half of the desired noise std. deviation
- Fixed components: 3_3_Directional_Valve underlap calculation
- Enhancement: Setting plot scale to "-1" will no longer result in loosing unit (-1 and -1.0 is a special case)
- Enhancement: Plot markers are now easier to see, they are black by default and you can now change the symbol (or color) from the right-click menu.
- Enhancement: Adding xdata curves for the entire plot will try to use the same generation as each y-axis curve (instead of latest available generation)
- Enhancement: When you assign variables in HCOM, the current generation will be used if one is not specified (on the left side)
- Enhancement: (For very advanced users) It is now possible to add any type of port to programmed subsystems. They will be treated as "interface ports". This make it possible to avoid using "blank system ports" and should make it possible to set startvalues and aliases on the system interface ports.
- Enhancement: More string (name) based (safe) help functions for setting and getting defaultStartValues and initial values in components.
- Enhancement: It is now possible to read from writeports
- Enhancement: Cleanup (removed) many old deprecated functions for component creation (you should have updated your code by now)
- Enhancement: Connectors to sensor components becomes dashed by default
- Enhancement: Optimization scripts is backed up before executed
- Fixed: Interface port (in programmed subsystems) node data being logged to late (incorrect initial value being logged). (The node belonged to the wrong system)
- Fixed: It is possible to open text box widget properties dialog twice for same widget, but it crashes after closing the second dialog
- Fixed: Optimization seem to crash if objective function from all points are exactly the same
- Fixed: Optimization: Don't change start values options does not seem to be initialized causing crash sometimes
- Fixed: Optimization: Apply buttons are not sorted in same order as parameter line edits
- Fixed: Optimization default functions cannot be found in paths containing spaces
- Fixed: String constants with default value "empty string" will be shown as disabled
- Fixed: setInitialValue (writeNodeSafeSlow) does not work on readPorts
- Fixed: setConstantValue(name, "value") results in call to setConstantValue(name, bool) causing wrong value to be set
- Fixed: Assigning parameters with system parameters from HCOM does not work
- Fixed: Animation crash in Ubuntu release, something with indexing outside of a QList (was a problem with trying to read from multiports)
- Fixed: Animation feature does not evaluate system parameters
- Fixed: Crash when generating plot axis ticks for data containing 'inf'
- Fixed: Ports that have an entry in CAF (but disabled), are still shown if "show ports" is active when creating a component
- Fixed: Crash in Infinite recursion when snap moving objects (snap functions were ping-ponging with each other snapping back and forth)
- Fixed: Error in double integrator with damping and coulomb friction class. Resolves problem with wrong force/torque generated by friction components.
- Fixed: Custom x-data in scope components does not update when new generation becomes available
- Fixed: Matlab m-script export of plotwindow get the subplot index wrong
- Fixed: Exported S-functions can now run with the time sample from the Simulink model (rather then using model file timestep at export time)
- Fixed: Save to script file button in optimization dialog should be disabled before script is created
- Fixed: Removing parameters in sensitivity dialog does not remove min and max boxes
- Fixed: Assigning parameters with system parameters from HCOM does not work
------------------------------------------------------------------------------------------------------------------------
0.6.6 (2014-04-07)
- Feature: Find widget capable of finding by component name, system variables, aliases, highlighting the found component(s)
Ctrl+Shift+F (or find it in the tools menu)
You can also right click an alias in the plot list to find it in the model
- Feature: HCOM minof(var) and maxof(var) functions
- Feature: HCOM ones(size) and zeros(size) commands to create a new vector with ones or zeroes
- Feature: HCOM linspace(min, max, numSamples) and logspace(min, max, numSamples) commands to create a new vector variable
- Feature: Parameter sweep algorithm for optimization
- Feature: Parallel Complex-RF algorithm for optimization
- Feature: Complex-RFM algorithm for optimization
- Feature: The message widget is back! It will receive all model messages and you are able to see old messages of any type even if they were disabled in the terminal.
- New component: Rate limiter
- New component: ElectricMotorGearScrewLink
- Fixed components: HydraulicCylinderQ (Q-type Piston) velocity keep growing even if end stop reached
- Fixed components: 2/2 On-off and Poppet valves can now start with non-zero spool position (that is you can start with an open valve)
- Fixed components: Many hydraulic valves will now initialize the spool position correctly according to the spool position start values, incorrect parameter descriptions have also been corrected.
- Fixed components: HydraulicGasAccumulator have new description and correct parameter units
- Fixed components: Route components now propagates start values
- Fixed components: You can now set a start value in the UnitDelay component. This lets you avoids problems with initial values in signal loops containing a unit delay.
- Fixed components: Electrical components regenerated with an assortment of minor fixes.
- Enhancement: Rewrote python interface code, and added help functions to get data variables into python
Note! Python is NOT included in Windows64 bit releases due to compatibility issues
Note2! Using HCOM instead of Python is currently recommended
- Enhancement: Made it possible to see generation of custom xdata in the plot curve control box
- Enhancement: It is now possible to select "show samples" in the axis context menu.
It possible to show time-domain variables vs. samples instead of time.
- Enhancement: Replaced the generation specifier in HCOM, it is now the '@' sign
Example "disp apa*@5" would display all variables with a name starting with 'apa' at generation 5
- Enhancement: Text can now "Reflow" textbox widgets
- Enhancement: It is now possible to use different color for for text and border in text box widgets
- Enhancement: It is now possible to run "chpw" in HCOM without a name argument, to auto create a new empty plot window
- Enhancement: There is now a clear button next to the sort field in the library widget, to quickly allow you to show everything
- Enhancement: When changing size of a plot window, the zoom is no longer reset (even if axes are not locked)
- Enhancement: Temp variables are now only used as shared pointer that are auto deleted, before they would get stuck in memory and were never deleted in some cases.
- Enhancement: Changing timescale on a frequency domain plot does not make sense, Frequency scaling is supported instead
- Fixed: Unit meta data is forgotten when startvalues are saved to xml (replaced by -)
- Fixed: Sometimes "save undo stack" is activated by default in subsystems, it should be disabled by default.
- Fixed: Depending on the order of variables, sometimes x-data in curves will not be reloaded when a new generation becomes available
- Fixed: Copying a component with a broken connector will crash Hopsan
- Fixed: Crash if simulating multiple systems multi-threaded with more threads than systems
- Fixed: Description does not show when hovering input signal ports
- Fixed: When a plot-axis is locked and you remove the last curve and then add a new one the scale is not kept
- Fixed: If you right click a component the name will be shown again even if it is hidden
- Fixed: Crash if adding container ports to top level system
- Fixed: HCOM "exec" command cannot handle paths with spaces
- Fixed: Global reset-time-vector button only resets time vector for first curve in plot windows
- Fixed: Unit scaling in component properties dialog is not registered if scaling is selected from drop down menu
- Fixed: Output start values can not be selected in optimization wizard (they may still be grayed out, but you can select them)
- Fixed: When importing a data file with variables that has the same name as existing model variable, they are only shown among the imported variables in the plot widget until you simulate again