Opened 5 years ago

Last modified 2 years ago

#5404 assigned defect

Module RemoveSimpleEquations doesn't support synchronous systems

Reported by: gossen Owned by: Karim.Abdelhak
Priority: high Milestone:
Component: Backend Version:
Keywords: Cc:

Description (last modified by gossen)

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 Changed 5 years ago by casella

  • Milestone changed from Future to 1.14.0

comment:2 Changed 5 years ago by gossen

  • Description modified (diff)
  • Summary changed from postOpt modules dont work with synchronous equations to pre optimisation modules dont work synchronous equations

comment:3 Changed 5 years ago by gossen

  • Owner changed from lochel to gossen
  • Status changed from new to accepted

comment:4 Changed 5 years ago by gossen

  • Owner gossen deleted
  • Status changed from accepted to assigned
  • Summary changed from pre optimisation modules dont work synchronous equations to Module RemoveSimpleEquations doesn't support synchronous systems

comment:5 Changed 5 years ago by casella

  • Milestone changed from 1.14.0 to 1.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 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 3 years ago by casella

  • Milestone changed from 1.17.0 to 1.18.0

Retargeted to 1.18.0 because of 1.17.0 timed release.

comment:8 Changed 3 years ago by casella

  • Milestone 1.18.0 deleted

Ticket retargeted after milestone closed

comment:9 Changed 2 years ago by casella

  • Resolution set to fixed
  • Status changed from assigned to closed

As of 1.19.0, the reported test case works fine.

comment:10 Changed 2 years ago by casella

  • Resolution fixed deleted
  • Status changed from closed to reopened

comment:11 Changed 2 years ago by casella

  • Owner set to Karim.Abdelhak
  • Status changed from reopened to assigned
Note: See TracTickets for help on using tickets.