You are on page 1of 21

Operator splitting techniques

Divide-and-conquer strategy: decompose unwieldy (systems of) PDEs into simpler


subproblems and treat them individually using specialized numerical algorithms
Algebraic splitting

Differential splitting
u
+ Lu = 0,
t

L=

S
X
s=1

Ls

u
+ Lu = 0,
t

L=

S
X

Ls

s=1

Discretization order: time, space


(operator splitting is applied to L
before the discretization in space)

Discretization order: space, time


(operator splitting is applied to L = Lh
resulting from the space discretization)

Ls represent physical phenomena


(convection, diffusion, reaction etc.)
BC are needed for each subproblem

Ls represent discrete operators


(sparse matrices of arbitrary origin)
BC are built into L beforehand

Objective: decoupling of physical


effects in complex IBVPs

Objective: segregated solution of


the (semi-)discretized equations

First-order operator splitting


Initial value problem

u
t

+ Lu = 0 in (0, T )

(Marchuk-)Yanenko method
u(s)
+ Ls u(s) = 0
t

L=

S
P

s=1

Ls

in (tn , tn+1 )

u(s) (tn ) = u(s1) (tn+1 ),

u(0) = u0

(differential or algebraic)
s = 1, . . . , S

u(0) (tn+1 ) = un ,

un+1 = u(S) (tn+1 )

subproblems can be discretized independently using different methods


the splitting error is O(t) so that a first-order time-stepping will do
it is possible to treat some subproblems explicitly and some implicitly
substepping (different time steps for different subproblems) is feasible
Remark. The decomposition of L is non-unique:

L=

S
P

s=1

S
P
Ls =
Ls
s=1

Yanenko splitting in the case S = 2


Initial value problem
u
+ Lu = f,
t

Fractional-step method
L = L1 + L2

un un+1/2 un+1

Subproblems discretized in time by the backward Euler method


1.
2.
n+1
t
n
t

un+1/2 un
+ L1 un+1/2 = 0,
t
un+1 un+1/2
+ L2 un+1 = f n
t
n+1=2
u

L1
u

n+1
u

L2
n

n+1=2
u

Hence,

un+1/2 = [I + tL1 ]1 un
[I + tL2 ]un+1 = un+1/2 + tf n

[I + tL1 ]([I + tL2 ]un+1 tf n ) = un

un+1 un
+ Lun+1 = f n + tL1 (f n L2 un+1 )
t

Remark. Yanenko splitting is first-order accurate and unconditionally stable


if the discrete counterparts of L1 and L2 are nonnegative definite matrices

Example: 1D convection-diffusion equation


u

Convection-dominated problem

u + v u = d 2 u in (0, X) (0, T )
t
x
x2
u(0) = u(1) = 0, u|t=0 = u0
Taylor series expansion
Time derivatives

u
t

= Lu,

= u + t
2u
t2

t=T
d=0

d>0

Caution: standard Galerkin FEM is unstable!


n+1

t=0


u n
t

= L2 u,

X x

(t)2
2

2u
t2

n

+ O(t)3
2

where L = v x
d x
2

It is obvious that Lax-Wendroff/Taylor-Galerkin methods with a fourth-order


operator L2 are not applicable to (multi-)linear finite element approximations
Crank-Nicolson scheme in incremental form
2u
t2

L u
t

n+1
n
L u tu

+ O(t)


I+

 un+1 un

t
2 L

= Lun

Remark. Stabilization term vanishes in the steady state limit un+1 = un

Example: 1D convection-diffusion equation


Yanenko splitting for the convection-diffusion operator L = L1 + L2
1. Convection step: Euler-TG method (explicit, third-order accurate)


t

(t)2 2 un+1/2 un
L1
= L1 un + L21 un ,
where L1 = v
I
6
t
2
x
The pure convection equation is hyperbolic so that the boundary conditions
should be imposed only at the inlet: u(0) = 0 if v > 0, u(1) = 0 if v < 0
2. Diffusion step: Crank-Nicolson scheme (implicit, second-order accurate)

 n+1
t
u
un+1/2
2
n+1/2
I+
L2
= L2 u
,
where L2 = d 2
2
t
x
The pure diffusion equation is parabolic so that the homogeneous boundary
conditions are to be prescribed at both endpoints: u(0) = u(1) = 0
Remark. The overall temporal accuracy is O(t) due to the splitting error

Example: coordinate splitting in two dimensions


2

u
u
Consider the PDE u
discretized in space by CDS
t = x2 + y 2
 2 
 2 
ui1,j 2ui,j +ui+1,j
u
2ui,j +ui,j+1
u
u

i,j1 (y)
,
2
x2
(x)2
y 2
i,j

i,j

Problem: the resulting matrix is banded but not tridiagonal (5-point stencil)
L = L1 + L2

Alternating Direction Implicit (ADI) method


1. Sweep in the xdirection
n+1/2

ui,j

un
i,j
t

n+1/2

L1 = x
2
n+1/2

n+1/2

u
2ui,j
+ui+1,j
i1,j (x)
2

1D subproblems along the line yj = const

2. Sweep in the ydirection


n+1/2
un+1
i,j ui,j

L2

L2 =

2
y
2

yj +1

L1

yj
yj 1

n+1
n+1
un+1
i,j1 2ui,j +ui,j+1

(y)2

1D subproblems along the line xi = const

xi 1

xi

xi+1

Second-order operator splitting


Initial value problem

L = L1 + L2

u
+ Lu = 0 in (0, T )
t

Symmetrized Strang splitting


1.

u
t

2.

u
t

3.

u
t

u(0) = u0
S=2

+ L1 u = 0 in (tn , tn+1/2 )
+ L2 u = 0 in (tn , tn+1 )

+ L1 u = 0 in (tn+1/2 , tn+1 )

n+1
t

n+1=2

n
t

n+1=2

u
~n+1=2

L2

L1
u

u
~

n+1

L1
u

n+1=2

n+1=2

u(tn ) = un u
n+1/2 = u(tn+1/2 )

u(tn ) = u
n+1/2 un+1/2 = u(tn+1 )

u(tn+1/2 ) = un+1/2 un+1 = u(tn+1 )

Strang splitting is second-order accurate and unconditionally stable if the


discrete counterparts of L1 and L2 are positive definite matrices
time-stepping of (at least) second order is mandatory for all subproblems
for S > 2 the operators can be grouped in different ways, e.g. as follows
L = L1 + L2 + L3 = (L1 + L2 ) + L3 = L1 + (L2 + L3 ) = A1 + A2

Second-order operator splitting


Initial value problem
u
+ Lu = f,
t

Fractional step method

un un+1/4 un+1/2 un+1

u(0) = u0

Predictor-corrector scheme
1.

un+1/4 un
t/2

2.

un+1/2 un+1/4
t/2

3.

un+1 un
t

Lu

n+1/2

Hence,

+ L2 un+1/2 = 0

=f

n+1/2

the explicit midpoint rule corrector


yields a second-order accurate un+1

+L

= I+

un+1/2 un
t

un+1 un
t

un+1 +un
2

1
t
2 L2

I+

(differential or algebraic)

first-order accurate Yanenko splitting


is employed to predict u at tn+1/2

+ Lun+1/2 = f n+1/2

un+1 un
t

n+1/2

L = L1 + L2

+ L1 un+1/4 = f n+1/2

Elimination of un+1/4 gives

S=2

+ 21 Lun+1/2 +

n+1/2

= f n+1/2 +
1
t
2 L1

t
n+1/2
4 L1 L2 u

un+1 +un
2

(t)2
n+1/2
4 L1 L2 u

(t)2
n+1/2
,
4 LL1 L2 u

u +

t n+1/2
2 f

= 12 f n+1/2

where

= un + O(t)

Second-order operator splitting


Predictor-corrector
un+1 un
t

Crank-Nicolson up to the second order



(t)2
un+1 +un
n+1/2
n
3
=
f
+
+L
2
4 LL1 L2 u + O(t)

unconditionally stable, at least if the discrete operators are positive-definite


un un+1/2 un+1

Peaceman-Rachford scheme
1.

un+1/2 un
t/2

2.

un+1 un+1/2
t/2

+ L1 un+1/2 = f n+1/2 L2 un
+ L2 u

n+1

=f

n+1/2

L1 u

popular ADI solver

n+1/2

second-order accurate, unconditionally stable for Li =


Douglas-Rachford scheme
1.

un+1/2 un
t

2.

un+1 un+1/2
t

2
x2i

in 2D (not in 3D)

un un+1/2 un+1

+ L1 un+1/2 = f n L2 un
+ L2 un+1 = L2 un

can be generalized to the


case L = L1 + L2 + L3

first-order accurate but unconditionally stable for Li =

2
x2i

in 2D and in 3D

Second-order operator splitting


Iliins generalization
1.

un+1/2 un

2.

un+1 un+1/2

Let =

+ L2 (un+1 un ) = u

un+1/2 un

Rewrite (2) as

un+1 un

This yields
=

t
1+

where (1, 1] is a parameter

+ L1 un+1/2 = f n+1/2 L2 un

Rewrite (1) as

the ratio

t
1+ ,

un+1/2 un

n+1/2

un

DR scheme for = 0
PR scheme for = 1

+ L1 (un+1/2 un ) = f n+1/2 Lun ,

+ L2 (un+1 un ) = (1 + ) u

= (I + L1 )1 (f n+1/2 Lun )

n+1/2

un

L = L1 + L2
and substitute

into the right-hand side

(I + L1 )(I + L2 )(un+1 un ) = (1 + )(f n+1/2 Lun )



 n+1
 n+1 n 
2
(t)
u
+un
un+1 un
u
u
n+1/2
=
f

+
L
L
L
2
1
2
t
1+
(1+)
t

Properties: Iliins method is second-order accurate for = 1 (Peaceman-Rachford)


and first-order accurate otherwise, unconditionally stable for any (1, 1]

Second-order operator splitting


Glowinskis fractional-step scheme
1.
2.
3.

un+ un
t
u

n+1

Parameter

+ L1 un+ = f n L2 un
n+

u
(12)t

un+1 un+1
t

+ L2 un+1 = f n+ L1 un+
+ L1 u

n+1

=f

n+1

second-order accurate for = 1

+1

L2 u

2
2

n+1

+1

n 

1
2

0<<

n 

+1

+1

L1

L2

L1

and first-order accurate otherwise

a complete analysis of stability is not available but the results are good
strongly A-stable if used as a time-stepping method (without splitting)
particularly useful for the treatment of the Navier-Stokes equations
Remark. The notions operator splitting and fractional step methods are used
as synonyms in the literature. In fact, the former should refer to the decomposition
P
L = Ls underlying a particular time-stepping scheme denoted by the latter
s

Incompressible flow problems


Navier-Stokes equations

Boundary condition

u
+ u u = p + u
t
u = 0 in (0, T )
Solvability conditions

u0 = 0,

u(x, t) = g

on (0, T )

Initial condition
u(x, 0) = u0 (x) in
n u0 = n g,

n g ds = 0

this is a coupled PDE system for the velocity u and pressure p


the pressure is determined up to an arbitrary additive constant and
acts as a Lagrange multiplier for the incompressibility constraint
Pressure Poisson equation

(can be used instead of u = 0)



p = [u u u] in ,
n p = n u u u

u
t

on

Caution: the approximation spaces for u and p should satisfy the LBB stability
condition or the discretized equations should be stabilized by extra terms

Chorins projection scheme


Idea: decouple u and p and separate convection-diffusion from incompressibility
Fractional-step method

un un+1/2 (un+1 , pn+1 )

1. Omit the pressure gradient in the momentum equation, disregard the


incompressibility constraint and solve the viscous Burgers equation
un+1/2 un
+ un+1/2 un+1/2 = un+1/2 ,
t

un+1/2 = g

on

2. Project the velocity un+1/2 onto the subspace of solenoidal functions


un+1 un+1/2
t
n+1

= pn+1

=0

Inviscid flow tangential slip


n un+1 = n g

on

1
pn+1 = t
un+1/2 ,

n pn+1 = 0 on

wrong BC results in a spurious pressure boundary layer of width O( t)


Poisson equation

Chorins method is O(t), stable for equal-order interpolations if t Ch2

Example: three-step projection scheme


un un+1/4 un+1/2 (un+1 , pn+1 )

Fractional-step method

1. Convection step: Lax-Wendroff (explicit, second-order accurate)


t
un+1/4 un
= t un +
tt un ,
t
2
Time derivatives

un+1/4 = g

t u = u u,

at the inlet in

where u = u(x, t)

tt u = (t u) u u (t u) = (u u) u + u (u u)
Variational formulation
n+1/4

hw, u

ha, bi :=

a b dx,

ha, bi :=

a b ds

(t)2 n
hu w, un un i
u i = thw, u u i
2
n

+ (t)
[hw, (un un ) un i hw un , un un i hwun n, un un iout ]
2

Linear system

n+1/4

MC u

= MC + tK +

(t)2
2 S

un

can be solved by

a simple Jacobi-like iteration preconditioned by the lumped mass matrix ML

Example: three-step projection scheme


2. Diffusion step: Crank-Nicolson scheme (implicit, second-order accurate)

un+1/2 un+1/4
= [un+1/2 + un+1/4 ],
t
2

un+1/2 = g

on

n+1/2
hw, un+1/2 un+1/4 i = t
i + hw, un+1/4 i]
2 [hw, u

[MC

Linear system

t
n+1/2
2 L]u

= [MC +

t
n+1/4
2 L]u

3. Projection step: Pressure Poisson equation (elliptic, ill-conditioned)


1
pn+1 = t
un+1/2

n pn+1 = 0

1
hq, un+1/2 i
hq, pn+1 i = t

on

1
Lpn+1 = t
BT un+1/2

Remark. Advanced linear algebra tools (CG, multigrid) are needed.


Velocity update

un+1 = un+1/2 tpn+1

hw, un+1 un+1/2 i = thw, pn+1 i

n un+1 = n g

on

un+1 = un+1/2 tML1 Bpn+1

Van Kans projection scheme


Fractional-step method

(un , pn ) un+1/2 (un+1 , pn+1 )

1. Insert the old pressure gradient into the momentum equation, disregard the
incompressibility constraint and solve the viscous Burgers equation

un+1/2 un 1 n+1/2
+ [u
un+1/2 +un un ] = pn + [un+1/2 +un ]
t
2
2
subject to the no-slip boundary condition

un+1/2 = g

on

2. Project the velocity un+1/2 onto the subspace of solenoidal functions


un+1 un+1/2
t

= q n+1

un+1 = 0

pn+1 = pn + 2q n+1
n un+1 = n g

on

1
un+1/2 ,
q n+1 = t

n q n+1 = 0 on

wrong BC results in a spurious pressure boundary layer of width O( t)


Poisson equation

Van Kans method is O(t)2 , stable for equal-order interpolations if t Ch

Glowinskis splitting scheme


Fractional-step method with parameters

0<<

1
2

un (un+ , pn+ ),

1. Linear Stokes problem

and 0 < < 1


un+ = g

on

un+ un
un+ + pn+ = (1 )un un un
t
un+ = 0

can be solved by a variational CG algorithm

2. Viscous Burgers equation

un+ un+1 ,

un+1 = g

on

un+1 un+
(1 )un+1 + un+1 un+1 = un+ pn+
(1 2)t

convection and diffusion can be separated by means of operator splitting


3. Linear Stokes problem

un+1 (un+1 , pn+1 ),

un+1 = g

on

un+1 un+1
un+1 + pn+1 = (1 )un+1 un+1 un+1
t
un+1 = 0
can be solved by a variational CG algorithm

Pressure Schur Complement methods


Discretized Navier-Stokes equations
Au + tBp = f ,


A tB
f
u

=
BT 0
0
p

A = MC t[K(u) + L]

u = A1 [f tBp],
Substitution yields

BT u = 0

BT A1 [f tBp] = 0

Richardson iteration for the PSC equation

1
BT A1 Bp = t
BT A1 f

p(0) = 0

p(l+1) = p(l) + C 1 BT A1 [f tBp(l) ]t1 ,


C 1 =

Additive preconditioners
Global MPSC

Local MPSC

or

l = 0, . . . , L

Ci1 [BT A1 B]1

1
1
C 1 := M A1
M + K AK + L AL

p(0) = pn

(Turek, 1995)

operator splitting

AM BT MC1 B, AK BT K 1 B, AL BT L1 B
P T 1
1
C := [B|i A|i B|i ]1 exact solution on patches i
i

Discrete projection methods


Observation: at high Reynolds numbers the time step must be small for accuracy
reasons so that A MC ML and C := BT ML1 B is a good preconditioner
Practical implementation of a global PSC cycle

l = 0, . . . , L

1. Insert the last pressure iterate p(l) into the viscous Burgers equation
A
u = f tBp(l)

(linearized or nonlinear)

6= 0 in general
such that BT u
and compute an intermediate velocity u
2. Solve the discrete counterpart of the Pressure Poisson equation
BT ML1 Bq =

1 T

B u
t

(p and q may be piecewise constant)

discretely divergence-free
3. Apply the pressure correction and render u
p(l+1) = p(l) + q,

tML1 Bq
u(l+1) = u

Remark. For L = 0 this algorithm is equivalent to classical projection schemes


(Chorin if p(0) = 0, Van Kan if p(0) = pn ) based on discrete operator splitting

Strongly coupled solution strategy


Basic iteration for a local MPSC method

N
p
X
u(l+1)
u(l)
(l+1)

p(l+1)
p(l)
i=1

(Turek, 1999)
A|i

T
B|
i

tB|i
0

(l)

ui

(l)
pi

where Np denotes the total number of patches, (l+1) is a relaxation parameter,


and the global defect vector restricted to a single patch i is given by


(l)
(l)
A
tB
ui
u
g

(l)
BT
0
pi
0
p(l)
|i

In practice, an auxiliary problem is solved for the solution increment

(l+1)
A|i tB|i
vi

(l+1)
T
0
qi
B|i

(l)
ui

,
(l)
pi

(l+1)
u|i

(l+1)
p|i

(l)
u|i

(l)
p|i

(l+1)
v
i

(l+1) (l+1)
qi

Iterative treatment of nonlinearities


Nonlinear algebraic system

A(u)u = f

must be solved iteratively

Defect correction scheme: compute successive approximations


(m) )]1 [f A(u(m) )u(m) ],
u(m+1) = u(m) + (m) [A(u

m = 0, 1, 2, . . .

(m) ) is a suitable preconditioner and (m) is a relaxation parameter


where A(u
Example.

(m) ) := A(u(m) ),
A(u

(m) := 1

A(u(m) )u(m+1) = f

Practical implementation of a defect correction step


1. Evaluate the residual r(m) = f A(u(m) )u(m) of the nonlinear system
(m) )u(m) = r(m) using a direct
2. Solve the auxiliary linear problem A(u
or iterative method (a moderate number of inner iterations will suffice)
3. Multiply the resulting solution increment u(m) by the (under-)relaxation
factor (m) and apply it to the last iterate u(m+1) = u(m) + (m) u(m)

You might also like