A Fast Stokes Solver Isuru Fernando University of Illinois, Urbana Champaign idf2@illinois.edu December 6, 2017 Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 1 / 18
Stokes PDEs µ ∇ 2 u − ∇ p + f = 0 ∇ · u = 0 where u is the velocity vector, µ is the viscosity, p is the pressure and f is the force. Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 2 / 18
Stokes PDEs: 3D case � ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 + ∂ 2 u � − ∂ p µ ∂ x + f x = 0 ∂ z 2 � ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 + ∂ 2 v � − ∂ p µ ∂ y + f y = 0 ∂ z 2 � ∂ 2 w ∂ x 2 + ∂ 2 w ∂ y 2 + ∂ 2 w � − ∂ p µ ∂ z + f z = 0 ∂ z 2 ∂ u ∂ x + ∂ v ∂ y + ∂ w ∂ z = 0 Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 3 / 18
Green’s Function solution: The Stokeslet u ( r ) = F · J ( r ) p ( r ) = F · r 4 π | r | 3 where � � r = x y z � I 1 | r | + rr � J ( r ) = | r | 3 8 πµ Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 4 / 18
Green’s Function solution: The Stokeslet | r | 2 + x 2 u xy xz f x | r | 2 + y 2 1 v xy yz = f y | r | 2 + z 2 8 πµ | r | 3 w xz yz f z p 2 µ x 2 µ y 2 µ z Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 5 / 18
Current implementation pytential uses 9 kernel functions. (Reuse 3 kernels) Drawbacks of this method are, Takes more storage than necessary Redundant computations Derivative relationships in Taylor series Common Subexpression Elimination Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 6 / 18
Revisiting local expansion Let x be the targets and y be the sources and f be the charge/force D p � x f ( y ) φ ( x − y ) � � x = c ( x − c ) p f ( y ) φ ( x − y ) ≈ p ! | p |≤ k � f ( y ) D p x φ ( x − y ) � y = c depends on source and center, while ( x − c ) p Here p ! depends on target and center Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 7 / 18
Local expansion for Stokes In the stokes equation case u is a linear combination of 3 functions φ 1 , φ 2 , φ 3 and there are 3 charges f 1 , f 2 , f 3 3 � u ( x − y ) = f i ( y ) φ i ( x − y ) i =1 �� 3 � � D p i =1 f i ( y ) φ i ( x − y ) x � x = c � ( x − c ) p ≈ p ! | p |≤ k Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 8 / 18
Revisiting multipole expansion Let x be the targets and y be the sources and f be the charge/force D p � x φ ( x − y ) � � y = c ( y − c ) p f ( y ) φ ( x − y ) ≈ f ( y ) p ! | p |≤ k or equivalently D p � x φ ( x − y ) � y = c � f ( y )( y − c ) p f ( y ) φ ( x − y ) ≈ p ! | p |≤ k � D p x φ ( x − y ) � depends on target and center, while f ( y )( y − c ) p y = c Here p ! depends on source and center Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 9 / 18
Multipole expansion for Stokes In the stokes equation case conside the first velocity component u which is a linear combination of 3 functions φ 1 , φ 2 , φ 3 and there are 3 charges f 1 , f 2 , f 3 D p 3 3 � x φ i ( x − y ) � y = c � � � ( y − c ) p u ( x − y ) = f i ( y ) φ i ( x − y ) ≈ f i ( y ) p ! i =1 i =1 | p |≤ k � 3 D p � � x φ i ( x − y ) � y = c � � f i ( y )( y − c ) p u ( x − y ) ≈ p ! i =1 | p |≤ k Needs 12 multipoles Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 10 / 18
Multipole to local translation for Stokes Let φ 1 , 1 , φ 1 , 2 , φ 1 , 3 , φ 2 , 1 , . . . , φ 3 , 3 be the 12 multipole kernels. Then, u = φ 1 , 1 + φ 1 , 2 + φ 1 , 3 v = φ 2 , 1 + φ 2 , 2 + φ 2 , 3 w = φ 3 , 1 + φ 3 , 2 + φ 3 , 3 p = φ 4 , 1 + φ 4 , 2 + φ 4 , 3 Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 11 / 18
Stokes PDE Derivatives � ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 + ∂ 2 u � − ∂ p µ ∂ x + f x = 0 (1) ∂ z 2 � ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 + ∂ 2 v � − ∂ p µ ∂ y + f y = 0 (2) ∂ z 2 � ∂ 2 w ∂ x 2 + ∂ 2 w ∂ y 2 + ∂ 2 w � − ∂ p µ ∂ z + f z = 0 (3) ∂ z 2 ∂ u ∂ x + ∂ v ∂ y + ∂ w ∂ z = 0 (4) Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 12 / 18
Stokes PDE Derivatives � ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 + ∂ 2 u � − ∂ p µ ∂ x + f x = 0 (1) ∂ z 2 � ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 + ∂ 2 v � − ∂ p µ ∂ y + f y = 0 (2) ∂ z 2 � ∂ 2 w ∂ x 2 + ∂ 2 w ∂ y 2 + ∂ 2 w � − ∂ p µ ∂ z + f z = 0 (3) ∂ z 2 ∂ u ∂ x + ∂ v ∂ y + ∂ w ∂ z = 0 (4) ∂ (1) ∂ x + ∂ (2) ∂ y + ∂ (3) gives us ∂ z ∂ 2 p ∂ x 2 + ∂ 2 p ∂ y 2 + ∂ 2 p ∂ z 2 = 0 (5) Pressure term satisfies the Laplace equation ! Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 12 / 18
Laplace Derivative Reduction ∂ 2 p ∂ x 2 + ∂ 2 p ∂ y 2 + ∂ 2 p ∂ z 2 = 0 ∂ a + b +2 p ∂ x a +2 y b + ∂ a + b +2 p ∂ x a y b +2 + ∂ a + b +2 p ∂ x a y b z 2 = 0 ∂ a + b +2 p ∂ x a y b z 2 = − ∂ a + b +2 p ∂ x a +2 y b − ∂ a + b +2 p ∂ x a y b +2 Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 13 / 18
Laplace Derivative Reduction Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 14 / 18
Stokes Derivative Reduction � ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 + ∂ 2 u � − ∂ p µ ∂ x + f x = 0 (1) ∂ z 2 ∂ a + b +2 u � ∂ a + b +1 p ∂ x a +1 y b − ∂ a + b +2 u ∂ x a +2 y b − ∂ a + b +2 u ∂ x a y b z 2 = 1 � (a) ∂ x a y b +2 µ Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 15 / 18
Stokes Derivative Reduction � ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 + ∂ 2 u � − ∂ p µ ∂ x + f x = 0 (1) ∂ z 2 ∂ a + b +2 u � ∂ a + b +1 p ∂ x a +1 y b − ∂ a + b +2 u ∂ x a +2 y b − ∂ a + b +2 u ∂ x a y b z 2 = 1 � (a) ∂ x a y b +2 µ � ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 + ∂ 2 v � − ∂ p ∂ y + f y = 0 (2) µ ∂ z 2 ∂ a + b +2 v � ∂ a + b +1 p ∂ x a y b +1 − ∂ a + b +2 v ∂ x a +2 y b − ∂ a + b +2 v ∂ x a y b z 2 = 1 � (b) ∂ x a y b +2 µ Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 15 / 18
Stokes Derivative Reduction � ∂ 2 u ∂ x 2 + ∂ 2 u ∂ y 2 + ∂ 2 u � − ∂ p µ ∂ x + f x = 0 (1) ∂ z 2 ∂ a + b +2 u � ∂ a + b +1 p ∂ x a +1 y b − ∂ a + b +2 u ∂ x a +2 y b − ∂ a + b +2 u ∂ x a y b z 2 = 1 � (a) ∂ x a y b +2 µ � ∂ 2 v ∂ x 2 + ∂ 2 v ∂ y 2 + ∂ 2 v � − ∂ p ∂ y + f y = 0 (2) µ ∂ z 2 ∂ a + b +2 v � ∂ a + b +1 p ∂ x a y b +1 − ∂ a + b +2 v ∂ x a +2 y b − ∂ a + b +2 v ∂ x a y b z 2 = 1 � (b) ∂ x a y b +2 µ ∂ x + ∂ v ∂ u ∂ y + ∂ w ∂ z = 0 (4) ∂ a + b +1 w = − ∂ a + b +1 u ∂ x a +1 y b − ∂ a + b +1 v (c) ∂ x a y b +1 ∂ x a y b z Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 15 / 18
Stokes Derivative Reduction ∂ a + b +2 u � ∂ a + b +1 p ∂ x a +1 y b − ∂ a + b +2 u ∂ x a +2 y b − ∂ a + b +2 u ∂ x a y b z 2 = 1 � (a) ∂ x a y b +2 µ ∂ a + b +2 v � ∂ a + b +1 p ∂ x a y b +1 − ∂ a + b +2 v ∂ x a +2 y b − ∂ a + b +2 v � ∂ x a y b z 2 = 1 (b) ∂ x a y b +2 µ ∂ a + b +1 w = − ∂ a + b +1 u ∂ x a +1 y b − ∂ a + b +1 v (c) ∂ x a y b z ∂ x a y b +1 ∂ a + b +2 p ∂ x a y b z 2 = − ∂ a + b +2 p ∂ x a +2 y b − ∂ a + b +2 p (d) ∂ x a y b +2 Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 16 / 18
Stokeslet Kernel Derivative Reduction | r | 2 + x 2 u xy xz f x | r | 2 + y 2 1 v xy yz = f y | r | 2 + z 2 8 πµ | r | 3 w xz yz f z p 2 µ x 2 µ y 2 µ z � � satisfies the Stokes PDEs u v w p Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 17 / 18
Stokeslet Kernel Derivative Reduction | r | 2 + x 2 u xy xz f x | r | 2 + y 2 1 v xy yz = f y | r | 2 + z 2 8 πµ | r | 3 w xz yz f z p 2 µ x 2 µ y 2 µ z � � satisfies the Stokes PDEs u v w p | r | 2 + x 2 u 0 1 v 0 xy = 8 πµ | r | 3 w 0 xz p 0 2 µ x � � u 0 v 0 w 0 p 0 satisfies the Stokes PDEs Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 17 / 18
Questions? Isuru Fernando (UIUC) A Fast Stokes solver December 6, 2017 18 / 18
Recommend
More recommend