35
Optimization-Based Mesh Correction M. D’Elia, D. Ridzal, K. Peterson , P. Bochev Sandia National Laboratories M. Shashkov Los Alamos National Laboratory MultiMat September 9, 2015 SAND 2015-7334C Sandia National Laboratories is a multi-program laboratory managed and operated by Sandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the U.S. Department of Energy’s National Nuclear Security Administration under contract DE-AC04-94AL85000. SAND 2015-7334C 1

Optimization-Based Mesh Correction

  • Upload
    others

  • View
    7

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Optimization-Based Mesh Correction

Optimization-Based Mesh Correction

M. D’Elia, D. Ridzal, K. Peterson, P. BochevSandia National Laboratories

M. ShashkovLos Alamos National Laboratory

MultiMatSeptember 9, 2015

SAND 2015-7334C

Sandia National Laboratories is a multi-program laboratory managed and operated bySandia Corporation, a wholly owned subsidiary of Lockheed Martin Corporation, for the

U.S. Department of Energy’s National Nuclear Security Administrationunder contract DE-AC04-94AL85000.

SAND 2015-7334C 1

Page 2: Optimization-Based Mesh Correction

MotivationDivergence Free Lagrangian Motion

Given cell κ at initial time t0

Compute nodal displacement fromvelocity field u

Updated cell κ(t1) has both temporal andspatial errors

Violation of volume preservationd

dt

Zκ(t)

dV 6= 0

Consider ρ = const

Let cell mass Mκ(t) =

Zκ(t)

ρdV and cell density ρκ =Mκ(t)

|κ(t)|,

where |κ(t)| =R

κ(t) dV

ρκ(t1) =Mκ(t1)

|κ(t1)|6=

Mκ(t0)

|κ(t0)|= ρκ(t0)

Cannot maintain a constant density!

SAND 2015-7334C 2

Page 3: Optimization-Based Mesh Correction

MotivationDivergence Free Lagrangian Motion

Given cell κ at initial time t0

Compute nodal displacement fromvelocity field u

Updated cell κ(t1) has both temporal andspatial errors

Violation of volume preservationd

dt

Zκ(t)

dV 6= 0

Consider ρ = const

Let cell mass Mκ(t) =

Zκ(t)

ρdV and cell density ρκ =Mκ(t)

|κ(t)|,

where |κ(t)| =R

κ(t) dV

ρκ(t1) =Mκ(t1)

|κ(t1)|6=

Mκ(t0)

|κ(t0)|= ρκ(t0)

Cannot maintain a constant density!

SAND 2015-7334C 3

Page 4: Optimization-Based Mesh Correction

MotivationDivergence Free Lagrangian Motion

Given cell κ at initial time t0

Compute nodal displacement fromvelocity field u

Updated cell κ(t1) has both temporal andspatial errors

Violation of volume preservationd

dt

Zκ(t)

dV 6= 0

Consider ρ = const

Let cell mass Mκ(t) =

Zκ(t)

ρdV and cell density ρκ =Mκ(t)

|κ(t)|,

where |κ(t)| =R

κ(t) dV

ρκ(t1) =Mκ(t1)

|κ(t1)|6=

Mκ(t0)

|κ(t0)|= ρκ(t0)

Cannot maintain a constant density!

SAND 2015-7334C 4

Page 5: Optimization-Based Mesh Correction

MotivationDivergence Free Lagrangian Motion

Given cell κ at initial time t0

Compute nodal displacement fromvelocity field u

Updated cell κ(t1) has both temporal andspatial errors

Violation of volume preservationd

dt

Zκ(t)

dV 6= 0

Consider ρ = const

Let cell mass Mκ(t) =

Zκ(t)

ρdV and cell density ρκ =Mκ(t)

|κ(t)|,

where |κ(t)| =R

κ(t) dV

ρκ(t1) =Mκ(t1)

|κ(t1)|6=

Mκ(t0)

|κ(t0)|= ρκ(t0)

Cannot maintain a constant density!

SAND 2015-7334C 5

Page 6: Optimization-Based Mesh Correction

Geometric Conservation Law (GCL)

d

dt

Zκi(t)

dV =

Z∂κi(t)

u · n ds

Some recent work:Use more Lagrangian points

Enforces GCL approximatelyLauritzen, Nair, Ullrich (2010), A conservative semi-Lagrangianmulti-tracer transport scheme on the cubed-sphere grid, JCP.

Heuristic mesh adjustment procedure

No theoretical assurance of completionArbogast and Huang (2006), A fully mass and volumeconserving implementation of a characteristic method fortransport problems, SISC.

Monge-Ampére trajectory correction

Accuracy of the MAE scheme determinesaccuracy of GCL approximation

Cossette, Smolarkiewicz, Charbonneau (2014), TheMonge-Ampere trajectory correction for semi-Lagrangianschemes, JCP.

pcorrij = pij + (t − tn)∇φ;

det∂pij

∂x= 1

SAND 2015-7334C 6

Page 7: Optimization-Based Mesh Correction

Optimization-Based Solution

Given a source mesh K(Ω), and desired cell volumes c0 ∈ Rm suchthat

m∑i=1

c0,i = |Ω| and co,i > 0∀i = 1, ...,m

Find a volume compliant mesh K(Ω) such that

1 K(Ω) has the same connectivity as the source mesh2 The volumes of its cells match the volumes prescribed in c0

3 Every cell κi ∈ K(Ω) is valid or convex4 Boundary points in K(Ω) correspond to boundary points in eK(Ω)

SAND 2015-7334C 7

Page 8: Optimization-Based Mesh Correction

Requirements for Quadrilateral CellsOriented volume of quad cell:

ci(K(Ω)) =1

2

`(xi,1−xi,3)(yi,2−yi,4)+(xi,2−xi,4)(yi,3−yi,1)

´Partitioning of quad into triangles:

(ar, br, cr) =

8>><>>:(1, 2, 4) r = 1(2, 3, 4) r = 2(1, 3, 4) r = 3(1, 2, 3) r = 4.

Oriented volume of triangle cell:

tri (K(Ω)) =

1

2(xi,ar (yi,cr−yi,br )−xi,br (yi,ar−yi,cr )−xi,cr (yi,br−yi,ar )).

Convexity indicator for a quad cell:

Ii(K(Ω)) =

(1 if ∀tr

i ∈ κi, |tri | > 0

0 otherwise

SAND 2015-7334C 8

Page 9: Optimization-Based Mesh Correction

Optimization Problem

Objective:

Mesh distance J0(p) =1

2d(K(Ω), K(Ω)

)2= |p− p|2l2

Constraints:(1) Volume equality ∀κi ∈ K(Ω), |κi| = c0,i

(2) Cell convexity ∀κi ∈ K(Ω) ,∀tri ∈ κi , |tri | > 0

(3) Boundary compliance ∀pi ∈ ∂Ω , γ(pi) = 0

Nonlinear programming problem (NLP)

p∗ = arg minJ0(p) subject to (1),(2), and (3)

SAND 2015-7334C 9

Page 10: Optimization-Based Mesh Correction

Simplified Formulation

For polygonal domainsboundary compliance can be subsumed in the volume constraint

convexity can be enforced weakly by logarithmic barrier functions

Objective:

Mesh distance - log barrier J(p) = J0(p)− β

m∑i=1

4∑r=1

log tri (p)

J0(p) = |p− p|2l2Constraints:

(1) Volume equality ∀κi ∈ K(Ω), |κi| = c0,i

Simplified NLP

p∗ = arg minJ(p) subject to (1)

SAND 2015-7334C 10

Page 11: Optimization-Based Mesh Correction

Scalable Optimization AlgorithmBased on the inexact trust region sequential programming (SQP) methodwith key properties:

Fast local convergence

Use of very coarse iterative solvers

Handles rank-deficient constraints

Linear systems for an optimization iterate pk are of the form„I ∇C(pk)T

∇C(pk) 0

« „v1

v2

«=

„b1

b2

«,

where C(pk) is a nonlinear vector function of coordinates.

Preconditioner

πk =

„I 0

0`∇C(pk)∇C(pk)T + εI

´−1

« ε > 0 small parameter 10−8h

∇C(pk)∇C(pk)T formedexplicitly

Smoothed aggregation AMGused for inverse

Heinkenschloss, Ridzal (2014), A matrix-free trust-region SQP method for equality constrained optimization SIOPT.

SAND 2015-7334C 11

Page 12: Optimization-Based Mesh Correction

Scalablility TestTo challenge the algorithm we test performance as follows:

Start with uniform n× n mesh and advance to final time using velocity fieldApply algorithm to the deformed mesh at the final time using initial mesh volumes

Analytic Hessian

n SQP CG GMRES tot. GMRES av. CPU % ML time64 5 15 101 2.8 2.475 66128 4 9 106 4.1 8.799 78256 5 5 130 5.0 45.733 83512 6 1 100 3.8 184.446 83

Gauss-Newton Hessian

n SQP CG GMRES tot. GMRES av. CPU % ML time64 5 5 64 2.5 1.666 63128 4 4 79 3.8 6.466 82256 5 5 126 4.8 43.241 86512 6 6 100 3.8 183.697 86

Almost constant GMRES iterationsCPU per SQP iteration scales linearly with problemComputational time dominated by AMG (ML) preconditionerThe algorithm inherits its scalability from the AMG solver

SAND 2015-7334C 12

Page 13: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 13

Page 14: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 14

Page 15: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 15

Page 16: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 16

Page 17: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 17

Page 18: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 18

Page 19: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 19

Page 20: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 20

Page 21: Optimization-Based Mesh Correction

Lagrangian Motion

Swirling velocity field: u(x, t) =

(cos(

tπT)sin(πx)2 sin(2πy)

− cos(

tπT)sin(πy)2 sin(2πx)

)8x8 mesh, T = 8, CFL = 2, β = 0, forward Euler for trajectories.

Exact Uncorrected Optimized

SAND 2015-7334C 21

Page 22: Optimization-Based Mesh Correction

Improvements in Mesh Geometry

We observe significant improvements in the geometry of the corrected mesh:

The shapes of the corrected cells are closer to the exact Lagrangian shapes

The barycenters of the corrected cells are closer to the exact barycenters

The trajectories of the corrected cells are closer to the exact Lagrangiantrajectories

Exact Uncorrected Optimized

SAND 2015-7334C 22

Page 23: Optimization-Based Mesh Correction

Improvements in Mesh Geometry

We observe significant improvements in the geometry of the corrected mesh:

The shapes of the corrected cells are closer to the exact Lagrangian shapes

The barycenters of the corrected cells are closer to the exact barycenters

The trajectories of the corrected cells are closer to the exact Lagrangiantrajectories

Uncorrected Optimized

SAND 2015-7334C 23

Page 24: Optimization-Based Mesh Correction

Improvements in Mesh GeometryWe observe significant improvements in the geometry of the corrected mesh:

The shapes of the corrected cells are closer to the exact Lagrangian shapesThe barycenters of the corrected cells are closer to the exact barycentersThe trajectories of the corrected cells are closer to the exact Lagrangiantrajectories

Rotation Swirl

0.4 0.5 0.6

0.4

0.5

0.6

uncorrected

correctedexact

0.5 0.6 0.7

0.4

0.5

0.6

0.7

uncorrected

correctedexact

SAND 2015-7334C 24

Page 25: Optimization-Based Mesh Correction

Enforcement of Convexity Constraintsβ = 0 β = 2.0× 10−6 β = 2.0× 10−5

SAND 2015-7334C 25

Page 26: Optimization-Based Mesh Correction

Enforcement of Convexity Constraints

β = 0

SAND 2015-7334C 26

Page 27: Optimization-Based Mesh Correction

Enforcement of Convexity Constraints

β = 2.0× 10−6

SAND 2015-7334C 27

Page 28: Optimization-Based Mesh Correction

Enforcement of Convexity Constraints

β = 2.0× 10−5

SAND 2015-7334C 28

Page 29: Optimization-Based Mesh Correction

Application to Semi-Lagrangian Transport

Want to solve:∂ρ

∂t+∇ · (ρu) = 0

Given cell volume ci =R

κidV , cell mass mi =

Rκi

ρ(x, t)dV , and cell averagedensity ρi = mi/ci at time t

!K (Ω ,t)

K0 (Ω )

ρi (t)!ρi (t)

ρi (t +Δt)

K0 (Ω )

Remap Lagrangian Update

1 Define Lagrangian departure cells: ci → ci

2 Remap from fixed grid to departure grid: ρi → ρi, mi = ρici

3 Lagrangian update: mi(t + ∆t) = mi, ρi(t + ∆t) = mi(t + ∆t)/ci

We use linear reconstruction of density with Van Leer limiting for remap.Dukowicz and Baumgardner (2000), Incremental remapping as a transport/advection algorithm, JCP.

SAND 2015-7334C 29

Page 30: Optimization-Based Mesh Correction

Application to Semi-Lagrangian Transport

Want to solve:∂ρ

∂t+∇ · (ρu) = 0

Given cell volume ci =R

κidV , cell mass mi =

Rκi

ρ(x, t)dV , and cell averagedensity ρi = mi/ci at time t

!K (Ω ,t)

K0 (Ω )

ρi (t)!ρi (t)

ρi (t +Δt)

K0 (Ω )

Remap Lagrangian Update

1 Define Lagrangian departure cells: ci → ci

2 Volume correction: ci → ci

3 Remap from fixed grid to departure grid: ρi → ρi, mi = ρici

4 Lagrangian update: mi(t + ∆t) = mi, ρi(t + ∆t) = mi(t + ∆t)/ci

We use linear reconstruction of density with Van Leer limiting for remap.Dukowicz and Baumgardner (2000), Incremental remapping as a transport/advection algorithm, JCP.

SAND 2015-7334C 30

Page 31: Optimization-Based Mesh Correction

Application to Semi-Lagrangian Transport

Want to solve:∂ρ

∂t+∇ · (ρu) = 0

Given cell volume ci =R

κidV , cell mass mi =

Rκi

ρ(x, t)dV , and cell averagedensity ρi = mi/ci at time t

!K (Ω ,t)

K0 (Ω )

ρi (t)!ρi (t)

ρi (t +Δt)

K0 (Ω )

Remap Lagrangian Update

1 Define Lagrangian departure cells: ci → ci

2 Volume correction: ci → ci

3 Remap from fixed grid to departure grid: ρi → ρi, mi = ρici

4 Lagrangian update: mi(t + ∆t) = mi, ρi(t + ∆t) = mi(t + ∆t)/ci

We use linear reconstruction of density with Van Leer limiting for remap.Dukowicz and Baumgardner (2000), Incremental remapping as a transport/advection algorithm, JCP.

SAND 2015-7334C 31

Page 32: Optimization-Based Mesh Correction

Semi-Lagrangian Transport Results

Constant density, rotational flow

Uncorrected Corrected Comparison

0 0.2 0.4 0.6 0.8 11.99

2

2.01

2.02

2.03

2.04

2.05

2.06

2.07

exact

correction

no correction

Forward Euler with ∆t = 0.006.

SAND 2015-7334C 32

Page 33: Optimization-Based Mesh Correction

Semi-Lagrangian Transport Results

Cylindrical density, rotational flow

Uncorrected Corrected Comparison

0 0.2 0.4 0.6 0.8 1

1

1.2

1.4

1.6

1.8

2

x

exact

correction

no correction

Forward Euler with ∆t = 0.006.

SAND 2015-7334C 33

Page 34: Optimization-Based Mesh Correction

Multi-Material Semi-Lagrangian TransportConsider transport of volume fractionof material s

∂Ts

∂t+ u · ∇Ts = 0, s = 1, . . . , 3,

Ts,i(t) =

Rκi(t)

Ts dVRκi(t)

dV=

|κs,i(t)||κi(t)|

|Ωns | =

mXi=1

T ns,i|κi|

Without volume correction:

0 200 400 600 800 1000 1200 1400 160010

−20

10−15

10−10

10−5

T1 - no correction

T1 - correction

0 200 400 600 800 1000 1200 1400 160010

−20

10−15

10−10

10−5

T2 - no correction

T2 - correction

0 200 400 600 800 1000 1200 1400 160010

−20

10−15

10−10

10−5

T3 - no correction

T3 - correction

|Ωn+1s | =

mXi=1

T n+1s,i |κi| =

mXi=1

eT ns,i|κi| 6=

mXi=1

eT ns,i|eκi(t

n)| = |eΩns | = |Ωn

s | .

SAND 2015-7334C 34

Page 35: Optimization-Based Mesh Correction

Conclusions

Presented a new approach for improving the accuracy and physicalfidelity of numerical schemes that rely on Lagrangian mesh motion

Optimization-based volume correctionIs computationally efficientProvides significant geometric improvements in corrected meshesEnables semi-Lagrangian transport methods to preserve volumesand constant densities

Future workFurther development of mesh quality constraints and rigorousenforcement of mesh validityInvestigate utility of algorithm for mesh quality improvement

SAND 2015-7334C 35