<html><head><meta name="color-scheme" content="light dark"></head><body><pre style="word-wrap: break-word; white-space: pre-wrap;">\documentclass[a4j,12pt]{jreport}
\usepackage{Dennou6}
\usepackage{times}
\usepackage{ascmac}
\usepackage{float}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage{amsfonts}
\usepackage{graphicx}
\usepackage{bm}

\Dauthor{荻原 弘尭}
\Ddate{2011 年 03 月 17 日}% 日付の指定
\Dtitle{GFDワークノート}      % 左上ヘッダー指定
\Dfile{2011-03-ogihara.tex}
\markright{第10章 1次元移流方程式の数値解法} % 右上ヘッダの指定

\pagenumbering{roman}
\setcounter{page}{12}       
\setcounter{chapter}{11}     
\setcounter{section}{0}     
\setcounter{subsection}{0}  
\setcounter{equation}{0}   
\setcounter{figure}{0}      
\setlength{\parskip}{1em}   

%\makeatletter  % 再定義する際に必要. documentclass の後ろに書く必要があ
	       % る. 
%\renewcommand{\chapter}{%
%  \thispagestyle{jpl@in}%
%  \global\@topnum\z@
%  \@afterindenttrue
%  \secdef\@chapter\@schapter}
 % chapter の直前で改行しないように設定. 
%\makeatother

\def\thesecion{\arabic{chapter}.\arabic{section}}
\def\thesection{\arabic{chapter}.\arabic{section}}
\def\theequation{\arabic{chapter}.\arabic{section}.\arabic{equation}}
\def\thepage{\arabic{page}} % 数字
%\def\thepage{\roman{page}} % ローマ数字
\def\thetable{\arabic{chapter}.\arabic{section}.\arabic{table}}
\def\thefootnote{\arabic{footnote} )}
\def\thefigure{\arabic{chapter}.\arabic{section}.\arabic{figure}}
\def\thesubsection{\arabic{section}.\arabic{subsection}}

\begin{document}
\chapter*{付録3:Adams-Bashforce公式}
以下のような1次元移流方程式を, 2位のAdams-Bashforceスキームと3位のAdams-Bashforce公式で解く.
\begin{align}
	\DP{U(x,t)}{t} + c\DP{U(x,t)}{t} = 0
	\Deqlab{1}
\end{align}
\begin{align*}
	\begin{array}{cl}
		初期条件:&amp;u(x, 0) = \cos{2\pi x}(0&lt;x&lt;1),\\
		         &amp;u(x,0) = 0.0(1.0&lt;x)\\
		境界条件:&amp;u(0, t) = u(1.0, t).
	\end{array}
\end{align*}
ただし, 今回は$\displaystyle{c=1.0}$とし, 空間差分には二次精度の中心差分をとる. 

\section*{2位のAdams-Bashforce公式}
Adams-Bashforce公式は多段階の公式である. そのため前のステップを1段階の公式を用いて解く必要がある.
今回は1ステップ目の計算では2段2位公式であるホイン法を用いて解く. 
ホイン法を\Deqref{1}に当てはめると,
\begin{align*}
	k_1(i\Delta x, n\Delta t) &amp;= -c\Delta t \frac{U^{n}_{i+1} - U^{n}_{i-1}}{2\Delta x}\\
	k_2(i\Delta x, n\Delta t) &amp;= -c\Delta t \frac{U^{*}_{i+1} - U^{*}_{i-1}}{2\Delta x}\\
	U^{n+1}_{i} &amp;= U_i^{n} + \frac{1}{2}(k_1 + k_2)
\end{align*}
となる. このとき, 
\begin{align*}
	U^{*}_{i+1} &amp;= U^{n}_{i+1} + k_1((i+1)\Delta x)\\
	U^{*}_{i-1} &amp;= U^{n}_{i-1} + k_1((i-1)\Delta x)
\end{align*}
である. 2ステップ目以降はこの$U^{n+1}$を2位のAdams-Bashforce 公式に当てはめることで求めるられる.
実際に$n+2$以降をAdams-Bashforce 公式に当てはめると,  
% 2位のAdams-Bashforce公式は
% \begin{align*}
% 	U_{n + 1} = x_n + h\left(\frac{3}{2}f_n - \frac{1}{2}f_{n - 1}\right).
% \end{align*}
\begin{align*}
	U^{n+2}_{i} &amp;= U^{n+1}_{i} + \Delta t\left(\frac{3}{2}\cdot \frac{U^{n+1}_{i+1} - U^{n+1}_{i-1}}{2\Delta x}-\frac{1}{2}\cdot \frac{U^{n}_{i+1} - U^{n}_{i-1}}{2\Delta x}\right)
\end{align*}
となる. 実際に計算するときは, 1 ステップ目で計算した$k_1$を用いることで計算量を減らすことができる. 


\begin{figure}[H]
	\begin{tabular}{cc}
	\begin{minipage}{0.5\hsize}
		%\centering
		\begin{center}
		\includegraphics[scale=0.5,keepaspectratio,clip]{adams0.ps}  
		\caption{$\displaystyle{N=50,\Delta t=\frac{1}{100}t=0}$ }
		\label{1}
		\end{center}
	\end{minipage}
	\begin{minipage}{0.5\hsize}
	\begin{center}
	\includegraphics[scale=0.5,keepaspectratio,clip]{adams5.ps}  
	\caption{$\displaystyle{N=50,\Delta t=\frac{1}{100} t=0.5}$}
	\label{2}
	\end{center}
	\end{minipage}
	\end{tabular}
\end{figure}
格子点数$50$個, 時間格子間隔を$0.01$, 空間ステップを$0.02$, として計算した. このときCurant 数は$0.51$である.
この結果が図\ref{1}と図\ref{2}である. 図\ref{1}は0秒時, 図\ref{2}は0.5秒時の図である. 

移流しているのは見られるが数値分散性も見られる. 

\section*{3位のAdams-Bashforce公式}
同様に3位のAdams-Bashforce公式の時も求める. 
1ステップ目と２ステップ目の計算では3段3位公式であるホインの3次公式を用いて解く. 
ホインの3次公式を\Deqref{1}に当てはめると,
\begin{align*}
	k_1(i\Delta x, n\Delta t) &amp;= -c\Delta t \frac{U^{n}_{i+1} - U^{n}_{i-1}}{2\Delta x}\\
	k_2(i\Delta x, n\Delta t) &amp;= -c\Delta t \frac{U^{*}_{i+1} - U^{*}_{i-1}}{2\Delta x}\\
	k_3(i\Delta x, n\Delta t) &amp;= -c\Delta t \frac{U^{**}_{i+1} - U^{**}_{i-1}}{2\Delta x}\\
	U^{n+1}_{i} &amp;= U_i^{n} + \frac{1}{4}(k_1 + \frac{1}{3}k_3)
\end{align*}
となる. このとき, 
\begin{align*}
	U^{*}_{i+1} &amp;= U^{n}_{i+1} + \frac{1}{3}k_1((i+1)\Delta x)\\
	U^{*}_{i-1} &amp;= U^{n}_{i-1} + \frac{1}{3}k_1((i-1)\Delta x)\\
	U^{**}_{i+1} &amp;= U^{n}_{i+1} + \frac{2}{3}k_2((i+1)\Delta x)\\
	U^{**}_{i-1} &amp;= U^{n}_{i-1} + \frac{2}{3}k_2((i-1)\Delta x)
\end{align*}
である. この計算を２ステップ行うことで$U^{n+1},U^{n+2}$を得ることができる. 3ステップ目以降はこの$U^{n+1}$と$U^{n+2}$を3位のAdams-Bashforce 公式に当てはめることで求めるられる.
実際に$n+3$以降をAdams-Bashforce 公式に当てはめると,  
% 2位のAdams-Bashforce公式は
% \begin{align*}
% 	U_{n + 1} = x_n + h\left(\frac{3}{2}f_n - \frac{1}{2}f_{n - 1}\right).
% \end{align*}
\begin{align*}
	U^{n+3}_{i} &amp;= U^{n+2}_{i} + \frac{\Delta t}{12}\left(23\frac{U^{n+2}_{i+1} - U^{n+2}_{i-1}}{2\Delta x}
	-16\frac{U^{n+1}_{i+1} - U^{n+1}_{i-1}}{2\Delta x}+5\frac{U^{n}_{i+1} - U^{n}_{i-1}}{2\Delta x}\right)
\end{align*}
となる. 実際に計算するときは, 1 ステップ目と２ステップ目
で計算した$k_1$を用いることで計算量を減らすことができる. 


\begin{figure}[H]
	\begin{tabular}{cc}
	\begin{minipage}{0.5\hsize}
		%\centering
		\begin{center}
		\includegraphics[scale=0.5,keepaspectratio,clip]{3adams0.ps}  
		\caption{$\displaystyle{N=50,\Delta t=\frac{1}{100}t=0}$ }
		\label{3}
		\end{center}
	\end{minipage}
		\begin{minipage}{0.5\hsize}
		\begin{center}
		\includegraphics[scale=0.5,keepaspectratio,clip]{3adams5.ps}  
		\caption{$\displaystyle{N=50,\Delta t=\frac{1}{100} t=0.5}$}
		\label{4}
		\end{center}
	\end{minipage}
	\end{tabular}
\end{figure}
条件は2位公式の時と同様にして計算した結果が図\ref{3}と図\ref{4}である. 図\ref{3}は0秒時, 図\ref{4}は0.5秒時の図である. 

2位公式のときよりも数値的分散が抑えられている.  
	
	
	
\end{document}</pre></body></html>