改进的ADM方法解克莱因-戈登方程

这个新方法是文献IJAMR 2016,5,69 A modified Adomian decomposition method for singular initial value Emden-Fowler type equations提出来的,好处是不需要计算阿多米安多项式,并且只需迭代一次。

方法

非线性方程为:

\begin{equation} Lu(x,t)=h(x,t)+Ru(x,t)+Nu(x,t) \label{DE} \end{equation}

其中$L$是最高阶线性算符,$R$是低阶线性算符,$N$是非线性算符。

解\eqref{DE},得:

\begin{equation} \begin{split} u(x,t)=&\phi(x,t)+L^{-1}h(x,t)+L^{-1}Ru(x,t)+L^{-1}Nu(x,t) \\ =&\phi(x,t)+L^{-1}h(x,t)+L^{-1}Ru(x,t)+L^{-1}\sum_{n=0}^{\infty}A_n \end{split} \label{SOL} \end{equation}

方程的解可写为级数形式:

\begin{equation} u(x,t)=\sum_{n=0}^{\infty}u_n(x,t) \label{useries} \end{equation}

代入\eqref{SOL},得

\begin{equation} \sum_{n=0}^{\infty}u_n(x,t)=\phi(x,t)+L^{-1}h(x,t)+L^{-1}R\sum_{n=0}^{\infty}u_n(x,t)+L^{-1}\sum_{n=0}^{\infty}A_n \label{unSOL} \end{equation}

在上式右边增加一项:$L^{-1}\sum_{n=0}^{\infty}a_nt^n-pL^{-1}\sum_{n=0}^{\infty}a_nt^n$,代入\eqref{unSOL},得:

\begin{equation} \begin{split} \sum_{n=0}^{\infty}u_n(x,t)=&\phi(x,t)+L^{-1}\sum_{n=0}^{\infty}a_nt^n-pL^{-1}\sum_{n=0}^{\infty}a_nt^n+\\ & L^{-1}h(x,t)+L^{-1}R\sum_{n=0}^{\infty}u_n(x,t)+L^{-1}\sum_{n=0}^{\infty}A_n \end{split} \label{unmSOL} \end{equation}

迭代格式::

\begin{equation} \begin{split} u_0=&\phi(x,t)+L^{-1}\sum_{n=0}^{\infty}a_nt^n \\ u_1=& -pL^{-1}\sum_{n=0}^{\infty}a_nt^n+L^{-1}h(x,t)+L^{-1}Ru_0+L^{-1}A_0 \\ u_2=& L^{-1}Ru_1+L^{-1}A_1 \\ u_3=& L^{-1}Ru_2+L^{-1}A_2 \\ & \vdots \end{split} \label{iteration} \end{equation}

如何定出位置参数$a_n$?如何设定$p$?

令$u_1=0$,得关于$a_n$的方程,解出$a_n$,再令$p=1$,得$a_n$,得方程的解为:

\begin{equation} u(x,t)=\phi(x,t)+L^{-1}\sum_{n=0}^{\infty}a_nt^n \label{usol} \end{equation}

下面应用此方法解一个非线性克莱因-戈登方程。

克莱因-戈登方程

参考文献:MCS 2020, 171, 94 The solution of Klein–Gordon equation by using modified Adomian decomposition method

克莱因-戈登方程形式为:

\begin{equation} \begin{split} & u_{tt}(x,t)-u_{xx}(x,t)+cu(x,t)+Nu(x,t)=h(x,t) \\ & u(x,0)=f(x),\quad u_t(x,0)=g(x) \end{split} \label{KG} \end{equation}

应用上节的方法:

\begin{equation} \begin{split} u_0=&f(x)+g(x)t+L^{-1}\sum_{n=0}^{\infty}a_nt^n\\ =&f(x)+g(x)t+\int_0^t\int_0^t (a_0+a_1t+a_2t^2+a_3t^3+\cdots)dtdt\\ =&f(x)+g(x)t+\frac{1}{2}a_0t^2+\frac{1}{6}a_1t^3+\frac{1}{12}a_2t^4+\cdots \\ =&f(x)+g(x)t+\sum_{n=0}^{\infty}\frac{1}{(n+1)(n+2)}a_nt^{n+2} \end{split} \label{u0} \end{equation}

\begin{equation} \begin{split} u_1=&-pL^{-1}\sum_{n=0}^{\infty}a_nt^n+L^{-1}h(x,t)+L^{-1}[u_{0xx}-cu_0(x,t)]+L^{-1}A_0\\ =&-p\sum_{n=0}^{\infty}\frac{1}{(n+1)(n+2)}a_nt^{n+2}+\int_0^t\int_0^t h(x,t) dtdt +\\ &\frac{1}{2}f''t^2+\frac{1}{6}g''t^3-\frac{c}{2}ft^2-\frac{c}{6}gt^3-\\ &c\sum_{n=0}^{\infty}\frac{1}{(n+1)(n+2)(n+3)(n+4)}a_nt^{n+4}-\int_0^t\int_0^tNu_0 dtdt \end{split} \label{u1} \end{equation}

令$u_1=0$,则各$t^n$的系数为零,定出$a_n$,再令$p=1$,得$a_n$的具体表达式。

下面举一个具体的例子,令$c=0$,$h(x,t)=1+2xt+x^2t^2$,$f(x)=1$,$g(x)=x$,$Nu=u^2$。

由\eqref{u0}式,得:

\begin{equation} u_0=1+xt+\sum_{n=0}^{\infty}\frac{1}{(n+1)(n+2)}a_nt^{n+2} \label{exu0} \end{equation}

由\eqref{u1}式,得:

\begin{equation} \begin{split} u_1=&-p\sum_{n=0}^{\infty}\frac{1}{(n+1)(n+2)}a_nt^{n+2}+\int_0^t\int_0^t (1+2xt+x^2t^2) dtdt - \\ & \int_0^t\int_0^t\left(1+xt+\sum_{n=0}^{\infty}\frac{1}{(n+1)(n+2)}a_nt^{n+2}\right)^2 dtdt \\ =&-p\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}+\int_0^t\int_0^t (1+xt)^2 dtdt- \\ & \int_0^t\int_0^t\left[(1+xt)^2+ \left(\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}\right)^2+2(1+xt)\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}\right] dtdt\\ =&-p\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}- \\ & \int_0^t\int_0^t\left(\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}\right)^2dtdt\\ &\int_0^t\int_0^t2(1+xt)\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}dtdt- \\ =&-p\sum_{n=0}^{\infty}\frac{a_nt^{n+2}}{(n+1)(n+2)}-\\ &\int_0^t\int_0^t\left(\sum_{n=0}^{\infty}\frac{a_n^2t^{2n+4}}{(n+1)^2(n+2)^2}+2 \sum_{\substack{n=1\\i+j=n\\i

上式中用到
$\left( \sum_{n=0}^\infty a_n x^n \right)^2 = \sum_{n=0}^\infty a_n^2 x^{2n} + 2 \sum_{\substack{n=1\i+j=n\i<j}}^{\infty} a_i a_j x^n$。

令$u_1=0$,易得$a_0=a_1=a_2=\cdots=0$,于是,方程的解为:

\begin{equation} u_0=1+xt+L^{-1}\sum_{n=0}^{\infty}a_nt^n=1+xt \label{exsol} \end{equation}

标签: 阿多米安分解法, 克莱因-戈登方程

添加新评论

captcha
请输入验证码