Special Solutions of Nonlinear PDEs

Ünal Gökta\(TraditionalForm\`s\+ . \)                       Willy Hereman

Wolfram Research, Inc.      Colorado School of Mines

Collaborator: Douglas Baldwin, Colorado School of Mines

Aim

Developing and implementing various methods to find closed form solutions of nonlinear partial differential equations (PDEs) such as hyperbolic and elliptic function methods to compute exact solitary wave solutions.

Motivation

Class of nonlinear PDEs solvable with such methods includes famous evolution and wave equations. Typical examples are Korteweg-de Vries, Fisher and Boussinesq PDEs.

Solutions of tanh (kink) or sech(pulse) type, model solitary waves in fluid dynamics, plasmas, electrical circuits, optical fibers, biogenetics, etc.

Example: Korteweg-de Vries (KdV) Equation

(Subscript[u, t]) + 6 u (Subscript[u, x]) + (Subscript[u, 3 x]) == 0

Solitary wave solution:

u(x, t) == ((8 (Subscript[c, 1]^3) - (Subscript[c, 2]))/(6 (Subscript[c, 1])))-2 ((Subscript[c, 1])^2)(tanh^2)((Subscript[c, 1]) x + (Subscript[c, 2]) t + Δ),

or, equivalently,

u(x, 
            t) == -((4 (Subscript[c, 1]^3) + (Subscript[c, 2]))/(6  (Subscript[c, 1])))+2 ((Subscript[c, 1])^2) (sech^2)((Subscript[c, 1]) x + (Subscript[c, 2]) 
                  t + Δ) .

Cnoidal wave solution:

u(x, 
              t) == ((4 (Subscript[c, 1]^3) (1 - 2 m) - (Subscript[c, 2]))/(Subscript[c, 1]))+12 m (Subscript[c, 1]^2)((cn((Subscript[c, 1]) x + (Subscript[c, 2]) 
                        t + Δ \[VerticalSeparator] m))^2) ,

modulus m .

Example: The modified Korteweg-de Vries (mKdV) Equation

(Subscript[u, t]) + 6 (u^2) (Subscript[u, x])  + (Subscript[u, 3 x]) == 
      0

Solitary wave solution:

u(x, t) == ∓(Subscript[c, 1]) sech((Subscript[c, 1]) x - (Subscript[c, 1]^3) t + Δ).

Example: Three-dimensional modified Korteweg-de Vries Equation

(Subscript[u, t])+6 (u^2) (Subscript[u, x]) +(Subscript[u, xyz])==0

Solitary wave solution:

u(x, y, z, t) == ∓(Sqrt[(Subscript[c, 2]) (Subscript[c, 3])])sech((Subscript[c, 1]) x + (Subscript[c, 2]) y + (Subscript[c, 3]) z - 
              (Subscript[c, 1]) (Subscript[c, 2]) (Subscript[c, 3]) t + Δ).

Example: The Boussinesq (wave) Equation

(Subscript[u, tt]) - (Subscript[u, 2 x]) + 3 u (Subscript[u, 2 x]) + 3 (Subscript[u, x]^2) + 
        (Subscript[u, 4 x]) == 0

Can be written as a first order system (v auxiliary variable):

(Subscript[u, t]) + (Subscript[v, x])==0,
  (Subscript[v, t]) + (Subscript[u, x]) - 3 u (Subscript[u, x]) - (Subscript[u, 3 x]) == 0.

Solitary wave solution:

u(x, t)==(((Subscript[c, 1]^2) - (Subscript[c, 2]^2)+8 (Subscript[c, 1]^4))/(3 (Subscript[c, 1]^2)))-4 (Subscript[c, 1]^2) (tanh^2)((Subscript[c, 1])x+(Subscript[c, 2]) t+Δ),

                 v(x, t)==(Subscript[c, 3])+4 (Subscript[c, 1]) (Subscript[c, 2])(tanh^2)((Subscript[c, 1]) x + (Subscript[c, 2]) 
                    t + Δ) .

Algorithm for Tanh Solutions for Systems of PDEs

Given: System of nonlinear PDEs of order m

Δ(u(x),u'(x),u''(x),...,(u^((m)))(x))==0 .

Dependent variable u has M components (Subscript[u, i]) (or u, v, w, ...).

Independent variable x has N components (Subscript[x, j]) (or x, y, x, ...,t).

Step1

Seek solution u(x) == U(T), with T = 
                tanh(ξ) == 
                  tanh((∑_(j = 1)^N) (Subscript[c, j]) (Subscript[x, j]) + Δ).

Observe tanh'(ξ)==1 - (tanh^2)(ξ) or T'==1 - (T^2) . Hence, all derivatives of T are polynomial in T. For example, T''==-2 T(1 - (T^2)), etc.

Repeatedly applying the operator rule

\(∂•\/∂x\_j == \(\(d\ •\)\/\(d  
              T\)\) ∂T\/∂x\_j == \(\(c\_j\) \((1 - 
            T\^2)\) \(\(d\ •\)\/\(d  
              T\)\)\(\ \)\)\)

produces a nonlinear system of ODEs

Δ(T,U(T),U'(T),U''(T),...,(U^((m)))(T))==0 .

Step2

Seek polynomial solutions

\(TraditionalForm\`\(U\_i\)(
        T) == ∑\+\(j = 0\)\%\(M\_i\)a\_ij\ \(\(T\^j\)\(\ \)\(.\)\)\)

Determine the highest exponents (Subscript[M, i]) ≥ 1. Substitute (Subscript[U, i])(T) == (Subscript[(T^M), i]) into the LHS of ODE system. Gives polynomial P(T). For every (Subscript[P, i]) consider all possible balances of the highest exponents in T. Solve the resulting linear system(s) for the unknowns (Subscript[M, i]).

Step3

Derive algebraic system for the unknown coefficients (Subscript[a, ij]) by setting to zero the coefficients of the power terms in T.

Step4

Solve the resulting nonlinear algebraic systems with parameters.

Step5

Substitute the solution and return to the original variables.

◀ Previous   Next ▶

Example: Dispersive Long Wave System

(Subscript[u, t]) + u (Subscript[u, x]) + (Subscript[v, x]) == 
      0,  

(Subscript[u, yy]) + 2 (Subscript[u, x]) (Subscript[v, x]) + 
        (Subscript[v, xt]) + (Subscript[u, xx]) v + (Subscript[u, xx]) + u (Subscript[v, xx]) + (Subscript[u, 4  x]) == 
      0.

Timing[
      longwavesolution = 
        PDESpecialSolutions[
{D[u[x, y, t],  t]  +  
                D[v[x, y, t], x] +  1/2*D[u[x, y, t]^2, x]  ==  
              0, 
D[v[x, y, t],  x, t]  +  
                D[u[x, y, t]*v[x, y, t]  +  u[x, y, t]  +  
                    D[u[x, y, t],  {x,  2}],  {x, 2}]  +  
                D[u[x, y, t],  {y, 2}]  ==  
              0}, 
{u[x, y, t],  
            v[x, y, t]}, 
{x, y, 
            t}, 
{}
]]

U[x_, y_, 
          t_]  :=  u[x, y, t] /. 
            First[longwavesolution]  /.  {c[1] -> 1, c[2] -> 1, 
            c[3] -> -1, 
            phase -> 0};
V[x_, y_, 
        t_] := v[x, y, t] /. 
          First[longwavesolution] /.  {c[1] -> 1, c[2] -> 1, 
          c[3] -> -1, phase -> 0}

Table[
        Plot3D[U[x, y, t],  {x,  -10,  10}, {y, -10, 10},  
          PlotRange -> All],  {t, -10, 10, 2}];

Table[
        Plot3D[V[x, y, t],  {x,  -10,  10}, {y, -10, 10},  
          PlotRange -> All,  PlotPoints -> 30],  {t, -10, 10, 
          2}];

Example: Fisher Equation

(Subscript[u, t]) - (Subscript[u, 2  x]) + u (1 - u) == 
      0

Timing[
      PDESpecialSolutions[{D[u[x, t], t]  - D[u[x, t], {x, 2}]  - 
              u[x, t]*(1 - u[x, t])  ==  0}, {u[x, t]}, {x, 
          t}, {}]]

Example: KdV Equation

(Subscript[u, t]) + 6  u (Subscript[u, x]) + (Subscript[u, 3  x]) == 0

Timing[
      PDESpecialSolutions[
        D[u[x, t],  t]  +  6*u[x, t]*D[u[x, t], x]  +  
            D[u[x, t], {x, 3}]  ==  0,  u[x, t],  {x, t},  {}, 
        Form -> sech]]

Timing[
      PDESpecialSolutions[
        D[u[x, t],  t]  +  6*u[x, t]*D[u[x, t], x]  +  
            D[u[x, t], {x, 3}]  ==  0,  u[x, t],  {x, t},  {}, 
        Form -> tanh]]

Future Work

- Testing

- Hooking it up into DSolve

- Extending the implementation to JacobiCN and JacobiSN type solutions