Opened 5 years ago
Last modified 3 years ago
#5737 assigned defect
Need to manually insert "each" before fixed = false or true statement when initializing a vector
Reported by: | gijs.schimmel@… | Owned by: | adrpo |
---|---|---|---|
Priority: | blocker | Milestone: | 1.19.0 |
Component: | OMEdit | Version: | v1.14.0-dev.beta2 |
Keywords: | missing each initialization vector | Cc: |
Description
When using an initialization such as a_0(start={0,0,0}) and clicking "fixed" in OMedit, the word "each" is not inserted in front of fixed = true. The translator/compiler does not accept this.
So it should read a_0(each fixed=true, start={0,0,0}), but OMEdit now inserts a_0(fixed = true,start={0,0,0}) everytime something is changed using the dialog of a MultiBody component.
It took me some time to guess I needed to insert "each" in front of the "fixed" keyword and it is annoying that I need to do that everytime whenever I use a dialog to change a parameter.
Applies at least to Modelica.Mechanics.MultiBody.Parts.Body
Change History (9)
comment:1 Changed 5 years ago by casella
- Milestone changed from NeedsInput to 1.16.0
- Priority changed from high to blocker
comment:2 Changed 5 years ago by Karim.Abdelhak
This bug was also noticed in following StackOverflow question and it was mentioned that also some other things are disappearing after changing something in the Diagram View:
StackOverflow - Save Initial Values
Copy paste of relevant information from that question:
But in case of discretized components, such as “pipe” it has to be done via “Text view” by using the operator each e.g. Q(each start = 0.3). However, the operator “each” disappears when one changes any parameter of the component via “Diagram view”, so it has to be given as follows:
- Q(start = {0.3 for i in 1:componentName.Ns+1})
- Q(start = fill(0.3, componentName.Ns+1))
- Q(start = {x1, x2, x3, x4, … xi})
Ns + 1 - for hydraulic nodes / Ns – for thermal nodes
PROBLEM
P.1.1 - Normally, one should write:
Q(start = fill(0.3, Ns+1), fixed = fill(true/false, Ns+1))
But it is the same story as with operator each, after changing any parameter of the component via “Diagram view”, the attribute fixed changes automatically to fixed=false, although an array is needed. I tried creating a Boolean parameter and using array comprehension but I always get the same outcome. Any advice or workaround?
comment:3 Changed 5 years ago by casella
- Milestone changed from 1.16.0 to 1.15.0
I guess the workaround in these cases is to only use the textual view for data input, which is of course ugly.
The proper solution is to implement this feature in OMEdit properly. I previously marked it as a blocker for 1.16.0, which is due next summer, maybe we can cram it in 1.15.0, if @adeas31 can work on it when he's back to work.
comment:4 Changed 4 years ago by casella
- Milestone changed from 1.15.0 to 1.16.0
Release 1.15.0 was scrapped, because replaceable support eventually turned out to be more easily implemented in 1.16.0. Hence, all 1.15.0 tickets are rescheduled to 1.16.0
comment:5 Changed 4 years ago by casella
- Owner changed from adeas31 to adrpo
- Status changed from new to assigned
comment:6 Changed 4 years ago by casella
- Milestone changed from 1.16.0 to 1.17.0
Retargeted to 1.17.0 after 1.16.0 release
comment:7 Changed 4 years ago by casella
- Milestone changed from 1.17.0 to 1.18.0
Rescheduled to 1.18.0
comment:8 Changed 3 years ago by casella
- Milestone 1.18.0 deleted
Ticket retargeted after milestone closed
comment:9 Changed 3 years ago by casella
- Milestone set to 1.19.0
1.18.0 blocker tickets moved to 1.19.0
Related to #5405. Basically, OMEdit still lack proper management of the each prefix. I tentatively make this and #5405 a blocker for 1.16.0, because this is really needed to use libraries such as MultiBody.