SLIDE 11 11
Tearing with retained solution space
𝟏 = 𝒉 𝒜 𝒜𝑓 ∶= 𝒉𝑓 𝒜𝑓, 𝒜𝑢 0 = 𝒉𝑠 𝒜𝑓, 𝒜𝑢
𝒜 = [𝒜𝑓, 𝒜𝑢] solve explicitly as much as possible, without changing solution space
- Reduce the size of algebraic equation systems
- Reduce number of states
New algorithm: Otter, Elmqvist 1999 (unpublished) + Bender, Fineman, Gilbert, Tarjan 2016 (incremental cycle detection in DAGs) → Otter, Elmqvist 2017 (section 4.6)
O(n) ≤ tearing ≤ O(nm) Example: Loop with 1 million equations → 1 equation (needs 2s) 𝑨1 = 𝑔
1 𝑨4
𝑨2 = 𝑔
2 𝑨1,𝑨5
𝑨3 = 𝑔
3 𝑨2, 𝑨1
𝑨4 = 𝑔
4 𝑨3, 𝑨2
Core algorithm in Modelica tools
input: 𝑨4
𝑨1 ≔ 𝑔
1 𝑨4
𝑨2 ≔ 𝑔
2 𝑨1,𝑨5
𝑨3 ≔ 𝑔
3 𝑨2, 𝑨1
𝑠 = 𝑨4 − 𝑔
4 𝑨3, 𝑨2
Example
Exact Removal of Singularities
Modelica tools can fail on well-defined models:
- Structurally singular at compile-time
- Singular Jacobian at run-time
New algorithm Otter, Elmqvist 2017 (section 5)
- Extract all linear equations with Integer coefficients
from DAE system (e.g.: 0 = 𝑗1 + 𝑗2; 𝑣𝑠𝑓𝑚 = 𝑣2 − 𝑣1): → 𝐁 ∙ 𝒚 = 𝐂, 𝐁 ϵ ℤ𝑜𝑏1 𝑦 𝑜𝑏2, 𝐂 ϵ ℤ𝑜𝑏1 𝑦 𝑜𝑐2
- Remove all singularities exactly!!!
- Use as pre-processing step
− Remove redundant equation:
− Make potentials well-defined by adding equation: L2.n.v = 0 − Make state constraints structurally visible by replacing
- R1.p.i - R2.p.i - L1.n.i = 0
with
Example
Jubilee Symposium 2019: Future Directions of System Modeling and Simulation