Opened 6 years ago

Last modified 3 years ago

#5404 assigned defect

pre optimisation modules dont work synchronous equations — at Version 2

Reported by: gossen Owned by: lochel
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 (2)

comment:1 Changed 6 years ago by casella

  • Milestone changed from Future to 1.14.0

comment:2 Changed 6 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
Note: See TracTickets for help on using tickets.