Symbolic Computation of Conservation Laws of Nonlinear PDEs in Multi-dimensions Willy Hereman Department of Mathematical and Computer Sciences Colorado School of Mines Golden, Colorado, U.S.A. whereman@mines.edu http://www.mines.edu/fs home/whereman/ CISL Science Club – IMAGe The National Center for Atmospheric Research Thursday, April 5, 2007, 12:00p.m. Acknowledgements Collaborators: Mark Hickman (Canterbury, NZ), Bernard Deconinck (UW), Michael Colagrosso (CSM). Graduate students: Douglas Poole (CSM), Michael Nivala (UW). Several undergraduate and graduate students. Research supported in part by NSF under Grant CCR-9901929 This presentation was made in TeXpower Outline • Conservation Laws of PDEs in multi-dimensions • Example: shallow water wave equations (Dellar) • Algorithmic Methods for conservation laws • Computer Demonstration • Tools: • Euler operators (testing exactness) • Calculus-based formulas for homotopy operator ? symbolic integration by parts ? inversion of the total divergence operator • Application: shallow water wave equations • Conclusions: future work, software and publications Notations – Computations on the Jet Space • Independent variables x = (x, y, z) • Dependent variables u = (u(1) , u(2) , . . . , u(j) , . . . , u(N ) ) In examples: u = (u, v, θ, h, . . .) ∂k u , ∂xk ∂ k+l u , ∂xk y l • Partial derivatives ukx = • Differential functions Example: f = uvvx + x2 u3x vx + ux vxx for u(x), v(x) • Total derivative (with respect to x) ukx ly = (1) ∂ Dx = + ∂x (1) Mx M x X k=0 etc. (2) ∂ u(k+1)x + ∂ukx M x X k=0 ∂ v(k+1)x ∂vkx is the order of f in u (with respect to x), etc. Conservation Laws • Conservation law in (1 + 1) dimensions Dt ρ + Dx J = 0 (on PDE) conserved density ρ and flux J • Example: Korteweg-de Vries (KdV) equation ut + uux + u3x = 0 • Sample conservation law Dt u3 − 3ux 2 + 3 4 Dx u − 6uux 2 + 3u2 u2x + 3u2x 2 − 6ux u3x = 0 4 • Key property: Dilation invariance • Example: KdV equation and its density-flux pairs are invariant under the scaling symmetry x t (x, t, u) → ( , 3 , λ2 u), λ λ λ is arbitrary parameter. • Some density-flux pairs for the KdV equation: 2 u ρ(1) = u J (1) = + u2x 2 ρ(2) = u2 J (2) 2u3 = + 2uu2x − ux 2 3 ρ(3) = u3 − 3ux 2 J (3) 3 4 = u − 6uux 2 + 3u2 u2x + 3u2x 2 − 6ux u3x 4 .. . ρ(6) = u6 − 60 u3 ux 2 − 30 ux 4 + 108 u2 u2x 2 720 648 216 3 2 + u2x − uu3x + u4x 2 7 7 7 .. . • Conservation law in (3 + 1) dimensions Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 + Dz J3 = 0 (on PDE) conserved density ρ and flux J = (J1 , J2 , J3 ) • Example: Shallow water wave (SWW) equations [P. Dellar, Phys. Fluids 15 (2003) 292-297] 1 ut + (u·∇)u + 2 Ω × u + ∇(θh) − h∇θ = 0 2 θt + u·(∇θ) = 0 ht + ∇·(uh) = 0 where u(x, y, t), θ(x, y, t) and h(x, y, t). • In components: 1 ut + uux + vuy − 2 Ωv + hθx + θhx = 0 2 1 vt + uvx + vvy + 2 Ωu + hθy + θhy = 0 2 θt + uθx + vθy = 0 ht + hux + uhx + hvy + vhy = 0 • SWW equations are invariant under (x, y, t, u, v, h, θ, Ω) → (λ−1 x, λ−1 y, λ−b t, λb−1 u, λb−1 v, λa h, λ2b−a−2 θ, λb Ω) where W (h) = a and W (Ω) = b (a, b ∈ Q). • First few densities-flux pairs of SWW system: uh (1) (1) ρ =h J = vh uhθ (2) (2) ρ = hθ J = vhθ 2 uhθ ρ(3) = hθ2 J(3) = vhθ2 3 h + uv 2 h + 2uh2 θ u ρ(4) = (u2 + v 2 )h + h2 θ J(4) = v 3 h + u2 vh + 2vh2 θ ρ(5) = vx θ − uy θ + 2Ωθ 4Ωuθ − 2uuy θ + 2uvx θ − hθθy 1 (5) J =2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Importance of Conservation Laws • Physical relevance (conserved energy, momentum, entropy, · · · ) • Testing of numerical code • Testing if model is properly closed (constitutive relations) • Predictor of complete integrability • Tuning of parameters in a system • Special solutions (solitons) • Applicability of Inverse Scattering Transform . Computer Demonstration Algorithmic Methods for Conservation Laws • Use Noether’s Theorem (Lagrangian formulation). • Direct methods (Anderson, Bluman, Anco, Wolf, etc.) based on solving ODEs (or PDEs). • Strategy (linear algebra and variational calculus). • Density is linear combination of scaling invariant terms with undetermined coefficients. • Use variational derivative (Euler operator) to compute the undetermined coefficients. • Use the homotopy operator to compute the flux (invert Dx or Div) (Deconinck and Nivala). • Work with linearly independent pieces in finite dimensional spaces. Review of Vector Calculus • The curl annihilates gradients! • The divergence annihilates curls! • The Euler operator annihilates divergences! Formula for Euler operator (variational derivative) in 1D: (j) (0) Lu(j) (x) = M x X k=0 (−Dx ) k ∂ (j) ∂ukx ∂ ∂ 2 ∂ 3 ∂ = − Dx (j) + Dx (j) − Dx (j) + · · · (j) ∂u ∂ux ∂u ∂u 2x 3x Formula for Euler operator in 2D: (j) (0,0) Lu(j) (x,y) = (j) M y x X M X kx (−Dx ) (−Dy ) kx =0 ky =0 ∂ ky (j) ∂ukx x ky y ∂ ∂ ∂ = (j) − Dx (j) − Dy (j) ∂u ∂ux ∂uy + D2x ∂ ∂ 2 ∂ 3 ∂ +Dx Dy (j) +Dy (j) −Dx (j) (j) ∂u2x ∂uxy ∂u2y ∂u3x ··· Inverting Dx and Div Problem Statement • In 1D: Example: For u(x) and v(x) f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x Z • Find F = f dx Thus, f = Dx F. Inverting Dx and Div Problem Statement • In 1D: Example: For u(x) and v(x) f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x Z • Find F = • Result (by hand): f dx Thus, f = Dx F. F = 4 vx2 + u2x cos u − 3 v 2 cos u Inverting Dx and Div Problem Statement • In 1D: Example: For u(x) and v(x) f = 3ux v 2 sin u−u3x sin u−6vvx cos u+2ux u2x cos u+8vx v2x Z • Find F = • Result (by hand): f dx Thus, f = Dx F. F = 4 vx2 + u2x cos u − 3 v 2 cos u Mathematica cannot compute this integral! • In 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx • Find F = Div−1 f Thus, f = Div F. • In 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx • Find F = Div−1 f Thus, f = Div F. • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) • In 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx • Find F = Div−1 f Thus, f = Div F. • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! • In 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx • Find F = Div−1 f Thus, f = Div F. • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! Can this be done without integration by parts? • In 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx • Find F = Div−1 f Thus, f = Div F. • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! Can this be done without integration by parts? Can this be reduced to single integral in one variable? • In 2D or 3D: Example: For u(x, y) and v(x, y) f = ux vy − u2x vy − uy vx + uxy vx • Find F = Div−1 f Thus, f = Div F. • Result (by hand): F̃ = (uvy − ux vy , −uvx + ux vx ) Mathematica cannot do this! Can this be done without integration by parts? Can this be reduced to single integral in one variable? Yes! With the Homotopy operator. Integration by Parts with Homotopy Operator • Theorem (integration with homotopy operator): • In 1D: If f is exact then F = D−1 x f = Z f dx = Hu(x) f • In 2D: If f is a divergence then F = Div −1 f = (x) (y) (Hu(x,y) f, Hu(x,y) f ) • In 3D: If f is a divergence then (x) (y) (z) F = Div−1 f = (Hu(x,y,z) f, Hu(x,y,z) f, Hu(x,y,z) f ) Simplified Formula for Homotopy Operator • In 1D (with variable x): Z Hu(x) f = N 1X 0 dλ (Iu(j) f )[λu] λ j=1 with integrand (j) Iu(j) f = MX x −1 Dix (j) (i+1) u Lu(j) (x) f i=0 (j) = MX x −1 i=0 (j) (j) uix M x X k=i+1 (−Dx ) k−(i+1) ∂f (j) ∂ukx N dependent variables, (Iu(j) f )[λu] means that in Iu(j) f one replaces u(x) → λu(x), ux (x) → λux (x), . . . • In 2D (with variables x and y): (x) Hu(x,y) f Z = N 1X 0 j=1 (x) (Iu(j) f )[λu] dλ λ with integrand (j) Mx −1 (x) Iu(j) f = (j) My X X ix =0 iy =0 (j) = 1 + ix 1 + ix + iy (j) ! i Dixx Dyy (j) MX y x −1 M X M x X (1+ix ,iy ) u(j) Lu(j) (x,y) f (j) My X ix +iy uix x iy y ix ix =0 iy =0 kx =ix +1 ky =iy (−Dx ) kx −ix −1 −Dy kx +ky −ix −iy −1 kx −ix −1 kx +ky kx ∂f ky −iy (j) ∂ukx x ky y Analogous formulas for (y) Hu(x,y) f and (y) Iu(j) f Application of Homotopy Operator in 1D Example: f = 3ux v 2 sin u − u3x sin u − 6vvx cos u + 2ux u2x cos u + 8vx v2x • Compute Iu f • ∂f ∂f ∂f = u + ux − uDx ∂ux ∂u2x ∂u2x = 3uv 2 sin u − uu2x sin u + 2u2x cos u Similarly, Iv f ∂f ∂f ∂f = v + vx − vDx ∂vx ∂v2x ∂v2x = −6v 2 cos u + 8vx2 • Finally, Z F = Hu(x) f = 0 Z = 0 1 1 dλ (Iu f + Iv f ) [λu] λ 3λ2 uv 2 sin(λu) − λ2 uu2x sin(λu) + 2λu2x cos(λu) −6λv 2 cos(λu) + 8λvx2 dλ = 4vx2 + u2x cos u − 3v 2 cos u Computation of Conservation Laws for SWW Quick Recapitulation • Conservation law in (2 + 1) dimensions Dt ρ + ∇ · J = Dt ρ + Dx J1 + Dy J2 = 0 (on PDE) conserved density ρ and flux J = (J1 , J2 ) • Example: Shallow water wave (SWW) equations 1 ut + uux + vuy − 2 Ωv + hθx + θhx = 0 2 1 vt + uvx + vvy + 2 Ωu + hθy + θhy = 0 2 θt + uθx + vθy = 0 ht + hux + uhx + hvy + vhy = 0 • Typical density-flux pair: ρ(5) = vx θ − uy θ + 2Ωθ 1 4Ωuθ − 2uuy θ + 2uvx θ − hθθy (5) J = 2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Algorithm • Step 1: Construct the form of the density The SWW equations are invariant under the scaling symmetries (x, y, t, u, v, θ, h, Ω) → (λ−1 x, λ−1 y, λ−2 t, λu, λv, λθ, λh, λ2 Ω) and (x, y, t, u, v, θ, h, Ω) → (λ−1 x, λ−1 y, λ−2 t, λu, λv, λ2 θ, λ0 h, λ2 Ω) Construct a candidate density, for example, ρ = c1 Ωθ + c2 uy θ + c3 vy θ + c4 ux θ + c5 vx θ which is scaling invariant under both symmetries. • Step 2: Determine the constants ci Compute E = −Dt ρ and remove time derivatives ∂ρ ∂ρ ∂ρ ∂ρ ∂ρ E = −( θt ) utx + uty + vtx + vty + ∂ux ∂uy ∂vx ∂vy ∂θ = c4 θ(uux + vuy − 2Ωv + 12 hθx + θhx )x + c2 θ(uux + vuy − 2Ωv + 12 hθx + θhx )y + c5 θ(uvx + vvy + 2Ωu + 12 hθy + θhy )x + c3 θ(uvx + vvy + 2Ωu + 12 hθy + θhy )y + (c1 Ω + c2 uy + c3 vy + c4 ux + c5 vx )(uθx + vθy ) Require that (0,0) (0,0) (0,0) (0,0) Lu(x,y) E = Lv(x,y) E = Lθ(x,y) E = Lh(x,y) E ≡ 0 • Solution: c1 = 2, c2 = −1, c3 = c4 = 0, c5 = 1 gives ρ = 2Ωθ − uy θ + vx θ • Step 3: Compute the flux J E = θ(ux vx + uv2x + vx vy + vvxy + 2Ωux + 12 θx hy − ux uy − uuxy − uy vy − u2y v +2Ωvy − 12 θy hx ) +2Ωuθx + 2Ωvθy − uuy θx −uy vθy + uvx θx + vvx θy Apply the 2D homotopy operator: (x) (y) J = (J1 , J2 ) = Div−1 E = (Hu(x,y) E, Hu(x,y) E) Compute Iu(x) E ∂E ∂E ∂E 1 ∂E 1 ∂E =u +ux −uDx + uy − uDy ∂ux ∂u2x ∂u2x 2 ∂uxy 2 ∂uxy 1 2 = uvx θ + 2Ωuθ + u θy − uuy θ 2 Similarly, compute 1 2 = vvy θ + v θy + uvx θ 2 1 2 (x) Iθ E = θ hy + 2Ωuθ − uuy θ + uvx θ 2 1 (x) Ih E = − θθy h 2 Iv(x) E Next, J1 = = (x) Hu(x,y) E Z 1 Iu(x) E 0 Z = 0 1 dλ (x) (x) (x) + Iv E + Iθ E + Ih E [λu] λ 1 2 2 4λΩuθ + λ 3uvx θ + u θy − 2uuy θ + vvy θ 2 ! 1 2 1 2 1 + v θy + θ hy − θθy h dλ 2 2 2 2 1 1 2 = 2Ωuθ− uuy θ+ uvx θ+ vvy θ+ u θy 3 3 6 1 2 1 1 + v θy − hθθy + hy θ2 6 6 6 Analogously, J2 = (y) Hu(x,y) E 2 1 1 2 1 2 = 2Ωvθ + vvx θ − vuy θ − uux θ − u θx − v θx 3 3 6 6 1 1 + hθθx − hx θ2 6 6 Hence, 112Ωuθ−4uuy θ+6uvx θ+2vvy θ+u2 θy +v 2 θy −hθθy +hy θ2 J= 6 12Ωvθ+4vvx θ−6vuy θ−2uux θ−u2 θx −v 2 θx +hθθx −hx θ2 After removing the curl term (by hand) J̃ (5) 1 4Ωuθ − 2uuy θ + 2uvx θ − hθθy = 2 4Ωvθ + 2vvx θ − 2vuy θ + hθθx Needed: Algorithm to remove curl terms! Conclusions and Future Work • Usefulness of the homotopy operator: Integration −1 by parts, D−1 , and Div . x • To do: integration of non-exact expressions. Example: f = ux v + uvx + u2 u2x R R 2 f dx = uv + u u2x dx. • To do: integration of parametrized differential functions. Example: f = aux v + buvx R f dx = uv if a = b. • To do: broader class of PDEs (other than those of evolution type). • To do: full implementation in Mathematica. Software packages in Mathematica Codes are available via the Internet: URL: http://www.mines.edu/fs home/whereman/ and via anonymous FTP from mines.edu in directory: pub/papers/math cs dept/software/ Publications 1. W. Hereman, M. Colagrosso, R. Sayers, A. Ringler, B. Deconinck, M. Nivala, and M. S. Hickman, Continuous and Discrete Homotopy Operators and the Computation of Conservation Laws. In: Differential Equations with Symbolic Computation, Eds.: D. Wang and Z. Zheng, Birkhäuser Verlag, Basel (2005), Chapter 15, pp. 249-285. 2. W. Hereman, Symbolic computation of conservation laws of nonlinear partial differential equations in multi-dimensions, Int. J. Quan. Chem. 106(1), 278-299 (2006). 3. W. Hereman, B. Deconinck, and L. D. Poole, Continuous and discrete homotopy operators: A theoretical approach made concrete, Math. Comput. Simul. 74(4-5), 352-360 (2007).