Improving the Solution Method in Wanda

36
Improving the Solution Method in Wanda Leonard Huijzer Delft University of Technology, The Netherlands March 6, 2018

Transcript of Improving the Solution Method in Wanda

Page 1: Improving the Solution Method in Wanda

Improving the Solution Method in Wanda

Leonard Huijzer

Delft University of Technology, The Netherlands

March 6, 2018

Page 2: Improving the Solution Method in Wanda

Water Hammer

2

Page 3: Improving the Solution Method in Wanda

Water Hammer

2

Page 4: Improving the Solution Method in Wanda

Water Hammer

2

Page 5: Improving the Solution Method in Wanda

Structure

1 Model

2 Current Situation

(a) Robustness(b) Performance(c) Maintainability

3 Research Approach

(a) Robustness(b) Performance(c) Maintainability

4 Summary and Approach

5 Planning

3

Page 6: Improving the Solution Method in Wanda

Model – Steady State Flow

Liquid module quantities:

• Energy head: H = pρg + z

• Volumetric flow rate: Q = Av

Example: Small System (incompressible, viscous)

4

Page 7: Improving the Solution Method in Wanda

Model – Steady State Flow

Example: Small System (incompressible, viscous)

H1 = c1QA + Q1 − Q2 = 0

QA = 0HA = H1

HA = H2

H2 − H3 =λL

8A/O

Q2|Q2|A2g

Q2 = Q3

HB = H3

HB = H4

QB = 0QB + Q3 + Q4 = 0

H4 = c2

4

Page 8: Improving the Solution Method in Wanda

Model – Steady State Flow

Apply Newton-Raphson method:

f(u(k+1)) ≈ f(u(k)) + J(u(k))�u(k+1) − u(k)

�= 0

where u(k) = [Q(k)1 H

(k)1 . . . Q

(k)n H

(k)n ]� and J(u(k)) is the Jacobian

5

Page 9: Improving the Solution Method in Wanda

Model – Steady State FlowApply Newton-Raphson method:

Example: Small System

0 1 0 0 0 0 0 0 0 0 0 01 0 1 0 −1 0 0 0 0 0 0 00 0 1 0 0 0 0 0 0 0 0 00 1 0 −1 0 0 0 0 0 0 0 00 0 0 −1 0 1 0 0 0 0 0 00 0 0 0 −c3 1 0 −1 0 0 0 00 0 0 0 1 0 −1 0 0 0 0 00 0 0 0 0 0 0 1 0 −1 0 00 0 0 0 0 0 0 0 0 −1 0 10 0 0 0 0 0 0 0 1 0 0 00 0 0 0 0 0 1 0 1 0 1 00 0 0 0 0 0 0 0 0 0 0 1

Q1

H1

QA

HA

Q2

H2

Q3

H3

QB

HB

Q4

H4

=

c10000c400000c2

5

Page 10: Improving the Solution Method in Wanda

Model – Transient FlowViscous , compressible in pipes

∂v

∂t+ g

∂H

∂x+

λ

8A/Ov |v | = 0

∂H

∂t+

c2

g

∂v

∂x= 0

c = pressure wave speedSolution method:

1 Solve internal pipe points atΔt/2

2 Solve internal pipe points atΔt

3 Solve rest of system + pipeboundaries at Δt usingNewton-Raphson

6

Page 11: Improving the Solution Method in Wanda

Model – Transient Flow

Example: Sewage System

7

Page 12: Improving the Solution Method in Wanda

Current Situation – Robustness

Example: Steady Flow H

Now:

H2 − H3 =λL

8A/O

Q2|Q2|A2g

has an infinite number of solutions. Fix: Prescribe H on A or B .

8

Page 13: Improving the Solution Method in Wanda

Current Situation – Robustness

Example: Transient Flow H

Component phases can cause trouble.Fix: Take H from previous time-step.

9

Page 14: Improving the Solution Method in Wanda

Current Situation – Robustness

Example: Steady State Q

H1 = c1H1 = HA

QA + Q1 + Q2 = 0QA = 0H2 = HA

H2 = c2

Fix??Can also happen in transient flow simulations.Furthermore, if c1 �= c2 then contradiction!

10

Page 15: Improving the Solution Method in Wanda

Current Situation – Performance

What are we working with?

(a) Drinking water (b) Noord-Holland 1

11

Page 16: Improving the Solution Method in Wanda

Current Situation – Performance

What are we working with?

(a) Drinking water (b) Noord-Holland 1

Small (but many), asymmetric, sparse and banded� LU-decomposition

11

Page 17: Improving the Solution Method in Wanda

Current Situation – PerformanceCurrent solution method

1 Determine component ordering2 For each time step

(a) If phase change: detect if and where H is undetermined; apply fix(b) Solve internal pipe points(c) Solve system using Newton-Raphson � IMSL matrix solver

Matrix: solve using LU-decomposition with Markowitz pivoting:Select pivot which minimises fill-in

(a) 2D Laplacian (b) L (c) U

12

Page 18: Improving the Solution Method in Wanda

Current Situation – Maintainability

Some systems are unsolvable:

• Underdetermined

• Contradictory

Lead to singular matrices

Why is this a problem?:

• International Mathematics and Statistics Library (IMSL) matrixsolver crashes or loops

• Limited troubleshooting

• Paid license

13

Page 19: Improving the Solution Method in Wanda

Research Goals

• Robustness: prevent or handle singular matrices

• Performance: no concessions

• Maintainability: open source library with permissive license

Goal:Find and implement numerical library which satisfies these requirements

14

Page 20: Improving the Solution Method in Wanda

Research Approach – RobustnessGoal: prevent singular matrices• Physical model• Structurally singular systems

Definition

Let M ∈ Rn×n. M is called structurally singular if every N ∈ Rn×n,with Nij = 0 whenever Mij = 0, is singular.

H1 = c1H1 = HA

QA + Q1 + Q2 = 0QA = 0H2 = HA

H2 = c2

15

Page 21: Improving the Solution Method in Wanda

Research Approach – Robustness

Let the matrix M ∈ R6×6 bedefined by

Mij =

�1, if variable j in equation i0, otherwise

H1 = c1H1 = HA

QA + Q1 + Q2 = 0QA = 0H2 = HA

H2 = c2

M =

1 0 0 0 0 01 0 1 0 0 00 1 0 1 0 10 0 0 1 0 00 0 1 0 1 00 0 0 0 1 0

15

Page 22: Improving the Solution Method in Wanda

Research Approach – Robustness

6

5

4

3

2

1

Q2

H2

QA

HA

Q1

H1

H1 = c1H1 = HA

QA + Q1 + Q2 = 0QA = 0H2 = HA

H2 = c2

M =

1 0 0 0 0 01 0 1 0 0 00 1 0 1 0 10 0 0 1 0 00 0 1 0 1 00 0 0 0 1 0

15

Page 23: Improving the Solution Method in Wanda

Research Approach – Robustness

Goal: detect ’singular’ matricesDeterminant not useful in finite precision.

Definition: Condition Number

Let M ∈ Rn×n. The condition number of M is defined as

κ(M) = �M� · �M−1�

Use estimation techniques.

16

Page 24: Improving the Solution Method in Wanda

Research Approach – Robustness

Goal: detect ’singular’ matricesDeterminant not useful in finite precision.

Singular Value Decomposition

Let M ∈ Rn×n. The SVD is given by

M = UΣV�

where Σ = diag(σ1,σ2, . . . ,σn) and σ1 ≥ σ2 ≥ · · · ≥ σn ≥ 0.

Note that: κ2(M) =σmax

σminAlternatives: QR-decomposition, . . .

16

Page 25: Improving the Solution Method in Wanda

Research Approach – Performance

Test cases

(a) Noord-Holland 1 (b) Noord-Holland 2

17

Page 26: Improving the Solution Method in Wanda

Research Approach – Performance

Test cases

H-detect IMSL solver Matrix build Miscellaneous0

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

Perc

enta

ge o

f tim

e

Total time: 68s

(a) Noord-Holland 1

H-detect IMSL solver Matrix build Miscellaneous0

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

Perc

enta

ge o

f tim

e

Total time: 1654s

(b) Noord-Holland 2

17

Page 27: Improving the Solution Method in Wanda

Research Approach – PerformancePerformance improvements:• Fill-in reduction by component ordering; now Breadth-First Search

18

Page 28: Improving the Solution Method in Wanda

Research Approach – PerformancePerformance improvements:• Fill-in reduction by component ordering; now Breadth-First Search• Fill-in reduction via matrix reordering: e.g., Cuthill-McKee

18

Page 29: Improving the Solution Method in Wanda

Research Approach – Performance

Performance improvements:

• Fill-in reduction by component ordering; now Breadth-First Search

• Fill-in reduction via matrix reordering: e.g., Cuthill-McKee

• Fill-in reduction via pivoting: e.g., Markowitz

At each step minimise

(r(k)i − 1)(c

(k)j − 1)

where r(k)i = nnz(M(k)(i , :)) and c

(k)j = nnz(M(k)(:, j))

18

Page 30: Improving the Solution Method in Wanda

Research Approach – Performance

Performance improvements:

• Fill-in reduction by component ordering; now Breadth-First Search

• Fill-in reduction via matrix reordering: e.g., Cuthill-McKee

• Fill-in reduction via pivoting: e.g., Markowitz

• (LU-decomposition + condition number estimation vs.SVD,QR ,. . . )

18

Page 31: Improving the Solution Method in Wanda

Research Approach – Performance

Other potential improvements:

• Newton-Raphson alternatives: Quasi-Newton, Picard iteration

• Algorithm that detects undetermined nodes

19

Page 32: Improving the Solution Method in Wanda

Research Approach – Maintainability

Requirements:

• Open source

• Permissive license

• (Free)

Candidates:

• Linear Algebra Package (LAPACK)

• PLASMA, MAGMA

• Multi-frontal Massively Parallel Solver (MUMPS)

Which offers best performance?

20

Page 33: Improving the Solution Method in Wanda

Summary and ApproachSummary:• The Wanda model: steady and transient flow• Current situation: robustness, performance, maintainability

Approach:1 Prevent singular matrices:

• detect structural singularities• physical model

2 Matrix solver performance vs. other routines3 Implement LAPACK

• condition number estimation• rank-revealing decomposition• Matrix reordering• Evaluate performance

4 If necessary, implement PLASMA, MAGMA, MUMPS5 Other improvements

• Algorithm which detects undetermined nodes• Newton-Raphson alternatives• . . .

21

Page 34: Improving the Solution Method in Wanda

Planning

1 March: Detect structural singularities, matrix solver performancevs. other routines (using test cases)

2 April: Replace IMSL by LAPACK, detect singular matrices,improve matrix ordering

3 May: Condition number estimation, rank-revealingdecompositions, evaluate performance and robustness

4 June: Test PLASMA, MAGMA, MUMPS

5 July: Report draft, other improvements

6 August: Finish report, presentation

22

Page 35: Improving the Solution Method in Wanda

Improving the Solution Method in Wanda

Leonard Huijzer

Delft University of Technology, The Netherlands

March 6, 2018

Page 36: Improving the Solution Method in Wanda

Bibliography

Anderson, E., Z. Bai, C. Bischof, S. Blackford, J. Demmel, J. Dongarra, J. Du Croz,A. Greenbaum, S. Hammarling, A. McKenney, and D. Sorensen (1999). LAPACK Users’Guide. Third. Philadelphia, PA: Society for Industrial and Applied Mathematics.

Golub, G. and C. Van Loan (1996). Matrix Computations. Johns Hopkins Studies in theMathematical Sciences. Johns Hopkins University Press. isbn: 9780801854149.

Hydrodynamica van Leidingsystemem (2015). Deltares.

IMSL Fortran Math Library (2014). RogueWave Software.

Multifrontal Massively Parallel Solver. User’s Guide (2016).

WANDA 4.5 User Manual (2017). Deltares.

Wylie, E. and V. Streeter (1978). Fluid transients. Advanced book program v. 1977.McGraw-Hill International Book Co.

24