46
Hierarchical Approximate Proper Orthogonal Decomposition Christian Himpe, Tobias Leibner and Stephan Rave MPI Magdeburg March 13, 2018 living knowledge WWU Münster Westfälische Wilhelms-Universität Münster

Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

  • Upload
    others

  • View
    10

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

Hierarchical ApproximateProper Orthogonal DecompositionChristian Himpe, Tobias Leibner and Stephan Rave

MPI MagdeburgMarch 13, 2018

living knowledgeWWU Münster

WestfälischeWilhelms-UniversitätMünster

Page 2: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2 /36

Outline

I Reduced Basis Methods and POD.

I HAPOD – Hierarchical Approximate POD.

I Model Order Reduction with pyMOR.

,,

Stephan Rave ([email protected])

Page 3: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2 /36

Outline

I Reduced Basis Methods and POD.

I HAPOD – Hierarchical Approximate POD.

I Model Order Reduction with pyMOR.

,,

Stephan Rave ([email protected])

Page 4: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 3 /36

Reduced Basis Methods and POD

,,

Stephan Rave ([email protected])

Page 5: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 4 /36

RB for Nonlinear Evolution Equations

Full order modelFor given parameter µ ∈ P, find uµ(t) ∈ Vh s.t.

∂tuµ(t) + Lµ(uµ(t)) = 0, uµ(0) = u0,

where Lµ : P × Vh → Vh is a nonlinear finite volume operator.

Reduced order modelFor given VN ⊂ Vh, let uµ,N(t) ∈ VN be given by Galerkin proj. onto VN , i.e.

∂tuµ,N(t) + PVN(Lµ(uµ,N(t))) = 0, uµ,N(0) = PVN

(u0),

where PVN: Vh → VN is orthogonal proj. onto VN .

I Still expensive to evaluate projected operator PVN◦ Lµ : VN −→ Vh −→ VN

=⇒ use hyper-reduction (e.g. empirical interpolation).

,,

Stephan Rave ([email protected])

Page 6: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 4 /36

RB for Nonlinear Evolution Equations

Full order modelFor given parameter µ ∈ P, find uµ(t) ∈ Vh s.t.

∂tuµ(t) + Lµ(uµ(t)) = 0, uµ(0) = u0,

where Lµ : P × Vh → Vh is a nonlinear finite volume operator.

Reduced order modelFor given VN ⊂ Vh, let uµ,N(t) ∈ VN be given by Galerkin proj. onto VN , i.e.

∂tuµ,N(t) + PVN(Lµ(uµ,N(t))) = 0, uµ,N(0) = PVN

(u0),

where PVN: Vh → VN is orthogonal proj. onto VN .

I Still expensive to evaluate projected operator PVN◦ Lµ : VN −→ Vh −→ VN

=⇒ use hyper-reduction (e.g. empirical interpolation).

,,

Stephan Rave ([email protected])

Page 7: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 4 /36

RB for Nonlinear Evolution Equations

Full order modelFor given parameter µ ∈ P, find uµ(t) ∈ Vh s.t.

∂tuµ(t) + Lµ(uµ(t)) = 0, uµ(0) = u0,

where Lµ : P × Vh → Vh is a nonlinear finite volume operator.

Reduced order modelFor given VN ⊂ Vh, let uµ,N(t) ∈ VN be given by Galerkin proj. onto VN , i.e.

∂tuµ,N(t) + PVN(Lµ(uµ,N(t))) = 0, uµ,N(0) = PVN

(u0),

where PVN: Vh → VN is orthogonal proj. onto VN .

I Still expensive to evaluate projected operator PVN◦ Lµ : VN −→ Vh −→ VN

=⇒ use hyper-reduction (e.g. empirical interpolation).

,,

Stephan Rave ([email protected])

Page 8: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 5 /36

Basis GenerationOffline phase

Basis for VN is computed from solution snapshots uµs (t) of full order problem via:I Proper Orthogonal Decomposition (POD)I POD-Greedy (= greedy search in µ + POD in t)

POD (a.k.a. PCA, Karhunen–Loève decomposition)

Given Hilbert space V , S := {v1, . . . , vS} ⊂ V , the k-th POD mode of S isthe k-th left-singular vector of the mapping

Φ : RS → V , es → Φ(es) := vs

Φ ∼= V

RS

Optimality of POD

Let VN be the linear span of first N POD modes, then:∑s∈S‖s − PVN

(s)‖2 =

|S|∑m=N+1

σ2m = min

X⊂Vdim X≤N

∑s∈S‖s − PX (s)‖2

,,

Stephan Rave ([email protected])

Page 9: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 5 /36

Basis GenerationOffline phase

Basis for VN is computed from solution snapshots uµs (t) of full order problem via:I Proper Orthogonal Decomposition (POD)I POD-Greedy (= greedy search in µ + POD in t)

POD (a.k.a. PCA, Karhunen–Loève decomposition)

Given Hilbert space V , S := {v1, . . . , vS} ⊂ V , the k-th POD mode of S isthe k-th left-singular vector of the mapping

Φ : RS → V , es → Φ(es) := vs

Φ ∼= V

RS

Optimality of POD

Let VN be the linear span of first N POD modes, then:∑s∈S‖s − PVN

(s)‖2 =

|S|∑m=N+1

σ2m = min

X⊂Vdim X≤N

∑s∈S‖s − PX (s)‖2

,,

Stephan Rave ([email protected])

Page 10: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 6 /36

Example: RB Approximation of Li-Ion Battery ModelsExperimental Data

MathematicalModeling

MultiscaleNumerics

ModelReduction

IntegrationValidation

MULTIBAT: Gain understandingof degradation processes inrechargeable Li-Ion Batteriesthrough mathematical modelingand simulation.

I Focus: Li-Plating.

I Li-plating initiated atinterface between activeparticles and electrolyte.

I Need microscale modelswhich resolve activeparticle geometry.

I Very large nonlineardiscrete models.

,,

Stephan Rave ([email protected])

Page 11: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 7 /36

Example: Numerical ResultsFull order model:

I 2.920.000 DOFsI Simulation time: ≈ 13h

Model order reduction:I Snapshots: 3I Reduction time: ≈ 9h

Reduced order model:I dimVN = 145I M = 1484I Rel. err.: < 1.5 · 10−3

I Simulation time: ≈ 5mI Speedup: 154

0 0.2 0.4 0.6

0.09

0.10

0.11

0.12

0.13

transferred charge / nAhce

llvo

ltage

/V

0 0.2 0.4 0.6

19.60

19.70

19.80

avg.

Lico

ncen

tr./

kmol

/m3

5.74 nA 11.64 nA 18.09 nA 23.66 nA

36.73 nA full model red. model

0 0.2 0.4 0.6

0.09

0.10

0.11

0.12

0.13

transferred charge / nAh

cell

volta

ge/

V

0 0.2 0.4 0.6

19.60

19.70

19.80

avg.

Lico

ncen

tr./

kmol

/m3

5.74 nA 11.64 nA 18.09 nA 23.66 nA

36.73 nA full model red. model

0 0.2 0.4 0.6

0.09

0.10

0.11

0.12

0.13

transferred charge / nAh

cell

volta

ge/

V

0 0.2 0.4 0.6

19.60

19.70

19.80

avg.

Lico

ncen

tr./

kmol

/m3

5.74 nA 11.64 nA 18.09 nA 23.66 nA

36.73 nA full model red. model

,,

Stephan Rave ([email protected])

Page 12: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 8 /36

HAPOD – Hierarchical Approximate POD

,,

Stephan Rave ([email protected])

Page 13: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 9 /36

Are your tall and skinny matrices not soskinny anymore?

tall

skinny

not so skinny

POD of large snapshot sets:

I large computational effort

I hard to parallelize

I data> RAM =⇒ disaster

Solution: PODs of PODs!

,,

Stephan Rave ([email protected])

Page 14: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 9 /36

Are your tall and skinny matrices not soskinny anymore?

tall

skinny

not so skinny

POD of large snapshot sets:

I large computational effort

I hard to parallelize

I data> RAM =⇒ disaster

Solution: PODs of PODs!

,,

Stephan Rave ([email protected])

Page 15: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 10 /36

Disclaimer

I You might have done this before.

I Others have done it before – often well-hidden in a paper on entirely different topic.We are aware of:[Qu, Ostrouchov, Samatova, Geist, 2002], [Paul-Dubois-Taine, Amsallem, 2015],[Brands, Mergheim, Steinmann, 2016], [Iwen, Ong, 2017].

I Our contributions:1. Formalization for arbitrary trees of worker nodes.2. Extensive theoretical error and performance analysis.3. A recipe for selecting local truncation thresholds.4. Extensive numerical experiments for different application scenarios.

I Can be trivially extended to low-rank approximation of snapshot matrix by keepingtrack of right-singular vectors.

,,

Stephan Rave ([email protected])

Page 16: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 10 /36

Disclaimer

I You might have done this before.

I Others have done it before – often well-hidden in a paper on entirely different topic.We are aware of:[Qu, Ostrouchov, Samatova, Geist, 2002], [Paul-Dubois-Taine, Amsallem, 2015],[Brands, Mergheim, Steinmann, 2016], [Iwen, Ong, 2017].

I Our contributions:1. Formalization for arbitrary trees of worker nodes.2. Extensive theoretical error and performance analysis.3. A recipe for selecting local truncation thresholds.4. Extensive numerical experiments for different application scenarios.

I Can be trivially extended to low-rank approximation of snapshot matrix by keepingtrack of right-singular vectors.

,,

Stephan Rave ([email protected])

Page 17: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 10 /36

Disclaimer

I You might have done this before.

I Others have done it before – often well-hidden in a paper on entirely different topic.We are aware of:[Qu, Ostrouchov, Samatova, Geist, 2002], [Paul-Dubois-Taine, Amsallem, 2015],[Brands, Mergheim, Steinmann, 2016], [Iwen, Ong, 2017].

I Our contributions:1. Formalization for arbitrary trees of worker nodes.2. Extensive theoretical error and performance analysis.3. A recipe for selecting local truncation thresholds.4. Extensive numerical experiments for different application scenarios.

I Can be trivially extended to low-rank approximation of snapshot matrix by keepingtrack of right-singular vectors.

,,

Stephan Rave ([email protected])

Page 18: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 11 /36

HAPOD – Hierarchical Approximate POD

ρ

α1

β1 β2 β3

α2

β5 β6

I Input: Assign snapshot vectors to leaf nodes βi as input.

I At each node α:1. Perform POD of input vectors with given local `2-error tolerance ε(α).2. Scale POD modes by singular values.3. Send scaled modes to parent node as input.

I Output: POD modes at root node ρ.

,,

Stephan Rave ([email protected])

Page 19: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 12 /36

HAPOD – Special Cases

Distributed HAPOD

ρ

β1 β2 β3 β4

I Distributed, communication avoidingPOD computation.

Incremental HAPOD

ρ

α3

α2

α1 β1

β2

β3

I On-the-fly compression of largetrajectories.

,,

Stephan Rave ([email protected])

Page 20: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 13 /36

HAPOD – Some Notation

TreesT the treeρT root nodeNT (α) nodes of T below or equal node αLT leafs of TLT depth of T

HAPODS snapshot setD : S → LT snapshot to leaf assignmentε(α) error tolerance at α|HAPOD[S, T ,D, ε](α)| number of HAPOD modes at α|POD(S, ε)| number of POD modes for error tolerance εPα orth. proj. onto HAPOD modes at αSα snapshots at leafs below α

,,

Stephan Rave ([email protected])

Page 21: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 14 /36

HAPOD – Theoretical Analysis

Theorem (Error bound1)∑s∈Sα

‖s − Pα(s)‖2 ≤∑

γ∈NT (α)

ε(γ)2.

Theorem (Mode bound)∣∣∣HAPOD[S, T ,D, ε](α)∣∣∣ ≤ ∣∣∣POD

(Sα, ε(α)

)∣∣∣.But how to choose ε in practice?

I Prescribe error tolerance ε∗ for final HAPOD modes.I Balance quality of HAPOD space (number of additional modes) and computational

efficiency (ω ∈ [0, 1]).I Number of input snapshots should be irrelevant for error measure (might be even

unknown a priori). Hence, control `2-mean error 1|S|∑

s∈S ‖s − PρT (s)‖2.

1For special cases in appendix of [Paul-Dubois-Taine, Amsallem, 2015].,,

Stephan Rave ([email protected])

Page 22: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 14 /36

HAPOD – Theoretical Analysis

Theorem (Error bound1)∑s∈Sα

‖s − Pα(s)‖2 ≤∑

γ∈NT (α)

ε(γ)2.

Theorem (Mode bound)∣∣∣HAPOD[S, T ,D, ε](α)∣∣∣ ≤ ∣∣∣POD

(Sα, ε(α)

)∣∣∣.

But how to choose ε in practice?I Prescribe error tolerance ε∗ for final HAPOD modes.I Balance quality of HAPOD space (number of additional modes) and computational

efficiency (ω ∈ [0, 1]).I Number of input snapshots should be irrelevant for error measure (might be even

unknown a priori). Hence, control `2-mean error 1|S|∑

s∈S ‖s − PρT (s)‖2.

1For special cases in appendix of [Paul-Dubois-Taine, Amsallem, 2015].,,

Stephan Rave ([email protected])

Page 23: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 14 /36

HAPOD – Theoretical Analysis

Theorem (Error bound1)∑s∈Sα

‖s − Pα(s)‖2 ≤∑

γ∈NT (α)

ε(γ)2.

Theorem (Mode bound)∣∣∣HAPOD[S, T ,D, ε](α)∣∣∣ ≤ ∣∣∣POD

(Sα, ε(α)

)∣∣∣.But how to choose ε in practice?

I Prescribe error tolerance ε∗ for final HAPOD modes.I Balance quality of HAPOD space (number of additional modes) and computational

efficiency (ω ∈ [0, 1]).I Number of input snapshots should be irrelevant for error measure (might be even

unknown a priori). Hence, control `2-mean error 1|S|∑

s∈S ‖s − PρT (s)‖2.

1For special cases in appendix of [Paul-Dubois-Taine, Amsallem, 2015].,,

Stephan Rave ([email protected])

Page 24: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 15 /36

HAPOD – Theoretical AnalysisTheorem (`2-mean error and mode bounds)

Choose local POD error tolerances ε(α) for `2-approximation error as:

ε(ρT ) :=√|S| · ω · ε∗, ε(α) :=

√Sα · (LT − 1)−1/2 ·

√1− ω2 · ε∗.

Then:

1|S|∑s∈S‖s − PρT (s)‖2 ≤ ε∗2 and |HAPOD[S, T ,D, ε]| ≤ |POD(S, ω · ε∗)|,

where POD(S, ε) := POD(S, |S| · ε).

Moreover:

|HAPOD[S, T ,D, ε](α)| ≤ |POD(Sα, (LT − 1)−1/2 ·√

1− ω2 · ε∗)|

≤ minN∈N

(dN(S) ≤ (LT − 1)−1/2 ·√

1− ω2 · ε∗).

,,

Stephan Rave ([email protected])

Page 25: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 16 /36

Incremental HAPOD ExampleCompress state trajectory of forced inviscid Burgers equation:

∂tz(x , t) + z(x , t) · ∂xz(x , t) = u(t) exp(−120

(x −12

)2), (x , t) ∈ (0, 1)× (0, 1),

z(x , 0) = 0, x ∈ [0, 1],

z(0, t) = 0, t ∈ [0, 1],

where u(t) ∈ [0, 1/5] iid. for 0.1% random timesteps, otherwise 0.

I Upwind finite difference scheme on uniform mesh withN = 500 nodes.

I 104 explicit Euler steps.

I 100 sub-PODs, ω = 0.75.

I All computations on Raspberry Pi 1B single boardcomputer (512MB RAM).

1 0.8 0.6Space

0.4 0.2 0

0

0.2

0.4

0.6

0.8

1

Time

10.8

0.60.4

0.2

,,

Stephan Rave ([email protected])

Page 26: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 17 /36

Incremental HAPOD Example

100 10−1 10−2 10−3

100

10−1

10−2

10−3

Prescribed Mean Proj. Error (N = 500)

Mea

nPr

ojec

tion

Erro

r

100 10−1 10−2 10−3

10

20

30

40

50

60

70

80

90

Prescribed Mean Proj. Error (N = 500)

Num

bero

fMod

es

100 10−1 10−2 10−3

200

400

600

Prescribed Mean Proj. Error (N = 500)

Com

puta

tion

alTi

me

[s]

500 1,000 1,500 2,000

102

103

State Dimension N (ε∗ = 10−3/2 )

Com

puta

tion

alTi

me

[s]

POD

HAPOD

Bound

Intermed.

,,

Stephan Rave ([email protected])

Page 27: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 18 /36

Distributed HAPOD ExampleDistributed computation and POD of empirical cross Gramian:

WX ,ij :=M∑

m=1

∫ ∞0〈xmi (t), y j

m(t)〉 dt ∈ RN×N

I ‘Synthetic’ benchmark model2 from MORWiki with parameter θ = 110 .

I Partition WX into 100 slices of size 10.000× 100.

10−2 10−4 10−6 10−8 10−10

10−5

10−3

10−1

Prescribed Mean Proj. Error (ω = 0.5)

Mod

elRe

duct

ion

Erro

r

POD

HAPOD

101 102 103101

102

103

104

105

Block Size (ε∗ = 10−6 ,ω = 0.5)

Spee

dup

LT = 2

LT = 3

LT = 4

LT = 5

2See: http://modelreduction.org/index.php/Synthetic_parametric_model,,

Stephan Rave ([email protected])

Page 28: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 19 /36

HAPOD – HPC Example

2D neutron transport equation:I Moment closure/FV approximation.

I Varying absorbtion and scattering coefficients.

I Distributed snapshot and HAPOD computation onPALMA cluster (125 cores).

,,

Stephan Rave ([email protected])

Page 29: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 20 /36

HAPOD – HPC Exampleαn

α2n

α1n

τ 1n,1 · · · τ 1

n,12

τ 2n,1 · · · τ 2

n,12

τ sn,1 · · · τ s

n,12

I HAPOD on compute node n. Time steps are split into sslices. Each processor core computes one slice at atime, performs POD and sends resulting modes to mainMPI rank on the node.

ρ

α1 α2

α3

α11

I Incremental HAPOD is performed onMPI rank 0 with modes collected oneach node.

,,

Stephan Rave ([email protected])

Page 30: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 21 /36

HAPOD – HPC Example

10−510−410−310−2

10−4

10−3

Prescribed Mean Proj. Error (k = 20,ω = 0.95)

Mea

nM

odel

Redu

ctio

nEr

ror

10−510−410−310−2

0

10

20

2 10 35 94

Prescribed Mean Proj. Error (k = 20)

Add

itio

nalM

odes

POD modes

0 100 20010−1

101

103

Grid size k (ε∗ = 10−4 ,ω = 0.95)

Com

puta

tion

alTi

me

[s]

POD

HAPOD

Data gen.

10−510−410−310−2

0

100

200

300

Prescribed Mean Proj. Error (k = 20)

Com

puta

tion

alTi

me

[s]

ω = 0.1ω = 0.25ω = 0.5ω = 0.75ω = 0.9ω = 0.95ω = 0.99ω = 0.999

POD

I ≈ 39.000 · k3 doubles of snapshot data (≈ 2.5 terabyte for k = 200).,,

Stephan Rave ([email protected])

Page 31: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 22 /36

HAPOD

Rigorous!

Error bounds Mode bounds

Fast!

Single passlive data

compression

OvercomeRAM

limitations

Reducedcomputational

complexity

Simple!

Cloud-friendlyBring-your-own-SVD

Easyparallelization

,,

Stephan Rave ([email protected])

Page 32: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 23 /36

Model Order Reduction with pyMOR

pyMOR main developers

Rene Milk Petar Mlinaric Stephan Rave Felix Schindler

,,

Stephan Rave ([email protected])

Page 33: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 24 /36

Classic RB Software Designs

Design 1: write data needed for reduction to disk (e.g. rbMIT)

Handle reduction and reduced solving by dedicated MOR code. Read all needed data fromdisk after run of PDE solver in special MOR output mode.

Design 2: add MOR mode to PDE solver (e.g. libMesh)

Add all MOR code needed directly to the PDE solver. Optionally, implement specialized MORversion of solver to run on small devices.

Design 3: communicate only reduced data (e.g. RBmatlab + dune-rb)

Write MOR code which communicates with running PDE solver. MOR code can, e.g., instructsolver to enrich basis with snapshot for certain µ and to compute data for reduced model.

,,

Stephan Rave ([email protected])

Page 34: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 25 /36

RB Software Design Comparison

via disk in solver low-dim

large (e.g. matrix-free) problems

empirical interpolation

reusability w. new solver library

reusability w. new MOR alg.

MOR alg. easy to implement

easy to use w. new FOM

easy to maintain

MOR and solver dev. decoupled

,,

Stephan Rave ([email protected])

Page 35: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 26 /36

pyMOR – Model Order Reduction with Python

GoalOne tool for algorithm development and large-scale applications.

I Started late 2012, 20k lines of Python code, 3.7k single commits.

I BSD-licensed, fork us on Github!

I Quick prototyping with Python 3.

I Comes with small NumPy/SciPy-based discretization toolkit for getting started quickly.

I Seamless integration with high-performance PDE solvers.

,,

Stephan Rave ([email protected])

Page 36: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 27 /36

Generic Algorithms and Interfaces for MOR

Discretization

Operator

product

operator, rhs

LincombOperator

Operator

Operator

. . .

VectorArray

Reductor

apply inverse

apply2

apply2

Gram-Schmidt

apply2

axpy

scal

Greedyreductor(d, basis)

gram schmidt basis extension(basis, U, prod)

U = d.solve(mu)

Generic algorithms . . .

pyMOR

PDE solver deal.II FEniCS DUNE . . .

dune-pymordolfinpymor-deal.II

dealii model()

fenics model()

dune model()

example.py

User Code

U = d.solve(mu)

d.visualize(U)

greedy(d, ...)

d, prod = ...

I VectorArray, Operator, Discretization classes represent objects in solver’smemory.

I No communication of high-dimensional data.I Tight, low-level integration with external solver.I No MOR-specific code in solver.

,,

Stephan Rave ([email protected])

Page 37: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 28 /36

Implemented Algorithms

I Gram-Schmidt, POD, HAPOD (in hapod branch).

I Adaptive greedy basis generation with different extension algorithms.

I Automatic (Petrov-)Galerkin projection of arbitrarily nested affine combinations ofoperators.

I Interpolation of arbitrary (nonlinear) operators, EI-Greedy, DEIM.

I A posteriori error estimation.

I Iterative linear solvers, Newton algorithm, time-stepping algorithms.

I System theory Methods: balanced truncation, IRKA, . . . (in sys-mor branch)

,,

Stephan Rave ([email protected])

Page 38: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 29 /36

RB Software Design Comparison

via disk in solver low-dim pyMOR

large (e.g. matrix-free) problems

empirical interpolation

reusability w. new solver library

reusability w. new MOR alg.

MOR alg. easy to implement

easy to use w. new FOM

easy to maintain

MOR and solver dev. decoupled

,,

Stephan Rave ([email protected])

Page 39: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 29 /36

RB Software Design Comparison

via disk in solver low-dim pyMOR

large (e.g. matrix-free) problems

empirical interpolation

reusability w. new solver library

reusability w. new MOR alg.

MOR alg. easy to implement

easy to use w. new FOM

easy to maintain

MOR and solver dev. decoupled

,,

Stephan Rave ([email protected])

Page 40: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 30 /36

FEniCS Support Included

I Directly interfaces FEniCSLA backend, no copies needed.

I Use same MOR code with both backends!

I Thermal block demo:30 LOC FEniCS +15 LOC wrapping for pyMOR.

I Easily increase FEM order, etc.

Figure: 3x3 thermal block problemtop: red. solution, bottom: red. errorleft: pyMOR solver, right: FEniCS solver

,,

Stephan Rave ([email protected])

Page 41: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 31 /36

Empirical Operator Interpolation with FEniCS

Two approaches for local operator evaluation:

1. Use dolfin.assemble_local (210 ms)

2. Use dolfin.SubMesh (35 ms)

See fenics_nonlinear branch.

Nonlinear Poisson problem from FEniCS docs (for µ = 1)

−∇ ·{

(1 + µu2(x , y)) · ∇u(x , y)}

= x · sin(y) for x , y ∈ (0, 1)

u(x , y) = 1 for x = 1

∇u(x , y) · n = 0 otherwise

I mesh = UnitSquareMesh(100, 100); V = FunctionSpace(mesh, "CG", 2)I Time for solution: 3.4 sI µ ∈ [1, 1000], RB size: 3, EI DOFs: 5, rel. error< 10−6

,,

Stephan Rave ([email protected])

Page 42: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 32 /36

Empirical Operator Interpolation with FEniCS

Determine mesh elements to visit to compute DOFs of interest

1 elements_to_visit = set()2 for c in cells(mesh):3 cell_index = c.index()4 local_dofs = V.dofmap.cell_dofs(cell_index)5 if any(ld in dofs_of_interest for ld in local_dofs):6 elements_to_visit.add(cell_index)

Local evaluation with assemble_local

1 source_vec[source_dofs] = u2 for cell, dof_map in zip(cells, dof_maps):3 local_evaluations = assemble_local(form, cell)4 r[dof_map] += local_evaluations

,,

Stephan Rave ([email protected])

Page 43: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 33 /36

deal.II Support

I pymor-deall.II support modulehttps://github.com/pymor/pymor-deal.II

I Python bindings forI dealii::Vector,

I dealii::SparseMatrix.

I pyMOR wrapper classes.

I MOR demo for linear elasticity examplefrom tutorial.

0 5 1010−12

10−7

10−2

maximum red. error

0 5 10

0.4

0.6

0.8

1

estimator effectivity

Figure: top: Solutions for (µ, λ) = (1, 1) and(µ, λ) = (1, 10), bottom: red. errs. and max./min.estimator effectivities vs. dim VN .

,,

Stephan Rave ([email protected])

Page 44: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 34 /36

NGSolve Support

I Based on NGSolve - Python.

I pyMOR wrappers for vector and matrixclasses.

I 3d thermal block demo: 40 LOC NGSolve+ 11 LOC wrapping for pyMOR.

I Joint work withChristoph Lehrenfeld.

Figure: 3d thermal block problemtop: full/red. sol., bottom: err. for worst approx. µand max. red. error vs. dim VN .

,,

Stephan Rave ([email protected])

Page 45: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 35 /36

Tools for interfacing MPI parallel solvers

I Automatically make sequentialbindings MPI aware.

I Reduce HPC-Cluster modelswithout thinking about MPI atall.

I Interactively debug MPI parallelsolvers.

Figure: FV solution of 3D Burgers-type equation (27.6 · 106 DOFs,

600 time steps) using Dune .

Table: Time (s) needed for solution using DUNE / DUNE with pyMOR timestepping.

MPI ranks 1 2 3 6 12 24 48 96 192

DUNE 17076 8519 5727 2969 1525 775 395 202 107pyMOR 17742 8904 6014 3139 1606 816 418 213 120

overhead 3.9% 4.5% 5.0% 5.7% 5.3% 5.3% 6.0% 5.4% 11.8%

,,

Stephan Rave ([email protected])

Page 46: Hierarchical Approximate Proper Orthogonal …...WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 2/36 Outline I Reduced Basis Methods and POD. I HAPOD – Hierarchical

WestfälischeWilhelms-UniversitätMünster Hierarchical Approximate POD 36 /36

Thank you for your attention!

C. Himpe, T. Leibner, S. Rave, Hierarchical Approximate Proper Orthogonal DecompositionarXiv:1607.05210

pyMOR – Generic Algorithms and Interfaces for Model Order ReductionSIAM J. Sci. Comput., 38(5), pp. S194–S216pip install git+https://github.com/pymor/pymor@hapod

Matlab HAPOD implementation:git clone https://github.com/gramian/hapod

My homepage:https://stephanrave.de/

,,

Stephan Rave ([email protected])