Opened 6 years ago

Last modified 3 years ago

#5404 assigned defect

Module RemoveSimpleEquations doesn't support synchronous systems

Reported by: Maksimov Doe Owned by: Karim Adbdelhak
Priority: high Milestone:
Component: Backend Version:
Keywords: Cc:

Description (last modified by Maksimov Doe)

This simple synchronous equation system

model Example1
  Real x, y;
equation
  when Clock(0.1) then
    x + y = 0;
    x - y = 0;
  end when;
end Example1;

produce an under-determined system

########################################
dumpindxdae
######################################## 
clocked partition(1)
======================================== Variables (2)
========================================
1: y:VARIABLE()  type: Real 
2: x:VARIABLE()  type: Real  
Equations (2, 2)
========================================
1/1 (1): -1.0 = 1.0   [dynamic |0|0|0|0|]
2/2 (1): y = -x   [dynamic |0|0|0|0|] 
Matching
========================================
2 variables and equations
var 1 is solved in eqn 2
var 2 is solved in eqn 1 
StrongComponents
========================================
{1:2} Size: 1 Generic Jacobian via directional derivatives
{2:1} 

BackendDAEType: simulation 
Base partitions (1)
========================================
1: Clock(0.1)[1] 
Sub partitions (1)
========================================
1: factor(1/1) shift(0/1)  event(false) 

optdaedump output shows that module removeSimpleEquations skip synchronous equations and module comSubExp produce wrong equation system.

########################################
pre-optimization module comSubExp (simulation)
######################################## 
clocked partition(1)
======================================== Variables (2)
========================================
1: y:VARIABLE()  type: Real 
2: x:VARIABLE()  type: Real  
Equations (2, 2)
========================================
1/1 (1): (-x) / x = 1.0   [dynamic |0|0|0|0|]
2/2 (1): x + y = 0.0   [dynamic |0|0|0|0|] 
no matching 

BackendDAEType: simulation 
Base partitions (1)
========================================
1: Clock(0.1)[1] 
Sub partitions (1)
========================================
1: factor(1/1) shift(0/1)  event(false) 

Change History (12)

comment:1 by Francesco Casella, 6 years ago

Milestone: Future1.14.0

comment:2 by Maksimov Doe, 6 years ago

Description: modified (diff)
Summary: postOpt modules dont work with synchronous equationspre optimisation modules dont work synchronous equations

comment:3 by Maksimov Doe, 6 years ago

Owner: changed from Lennart Ochel to Maksimov Doe
Status: newaccepted

comment:4 by Maksimov Doe, 6 years ago

Owner: Maksimov Doe removed
Status: acceptedassigned
Summary: pre optimisation modules dont work synchronous equationsModule RemoveSimpleEquations doesn't support synchronous systems

comment:5 by Francesco Casella, 5 years ago

Milestone: 1.14.01.16.0

Releasing 1.14.0 which is stable and has many improvements w.r.t. 1.13.2. This issue is rescheduled to 1.16.0

comment:6 by Francesco Casella, 4 years ago

Milestone: 1.16.01.17.0

Retargeted to 1.17.0 after 1.16.0 release

comment:7 by Francesco Casella, 4 years ago

Milestone: 1.17.01.18.0

Retargeted to 1.18.0 because of 1.17.0 timed release.

comment:8 by Francesco Casella, 3 years ago

Milestone: 1.18.0

Ticket retargeted after milestone closed

comment:9 by Francesco Casella, 3 years ago

Resolution: fixed
Status: assignedclosed

As of 1.19.0, the reported test case works fine.

comment:10 by Francesco Casella, 3 years ago

Resolution: fixed
Status: closedreopened

comment:11 by Francesco Casella, 3 years ago

Owner: set to Karim Adbdelhak
Status: reopenedassigned
Note: See TracTickets for help on using tickets.