\hypertarget{namespaceae__module}{}\doxysection{ae\+\_\+module Module Reference}
\label{namespaceae__module}\index{ae\_module@{ae\_module}}


\doxysubsection{Detailed Description}
1 次元周期境界\+: 実フーリエ変換 

\begin{DoxyAuthor}{Author}
Shin-\/ichi Takehiro, Youhei S\+A\+S\+A\+KI 
\end{DoxyAuthor}
\begin{DoxyCopyright}{Copyright}
Copyright (C) S\+P\+M\+O\+D\+EL Development Group, 2019. License is M\+I\+T/\+X11. see \mbox{\hyperlink{COPYRIGHT}{C\+O\+P\+Y\+R\+I\+G\+HT}} in detail
\end{DoxyCopyright}
1 次元周期境界条件の下での流体運動を 実フーリエ変換によるスペクトル法で数値計算するための Fortran90関数を提供する. 2 次元データの 1 次元に関して同時にスペクトル計算を実行するための 関数も提供しており, 2,3次元領域での計算のベースも提供する.

このモジュールは内部で\+I\+S\+P\+A\+C\+K3/\+F\+X\+P\+A\+C\+Kのサブルーチンを呼んでいる. スペクトルデータの格納方法については\+I\+S\+P\+A\+C\+K3/\+F\+X\+P\+A\+CK と異なっているので, 以下のコメントに注意されたい.

\doxysubsubsection*{関数・変数の名前と型について}

\doxyparagraph*{命名法}


\begin{DoxyItemize}
\item 関数名の先頭 ({\ttfamily e\+\_\+}, {\ttfamily g\+\_\+}, {\ttfamily ae\+\_\+}, {\ttfamily ag\+\_\+}) は, 返す値の形を示している.
\begin{DoxyItemize}
\item {\ttfamily e\+\_\+} \+:: スペクトルデータ,
\item {\ttfamily g\+\_\+} \+:: 1 次元格子点データ,
\item {\ttfamily ae\+\_\+} \+:: 1 次元スペクトルデータが複数並んだ 2 次元データ,
\item {\ttfamily ag\+\_\+} \+:: 1 次元格子点データが複数並んだ 2 次元データ.
\end{DoxyItemize}
\item 関数名の間の文字列({\ttfamily Dx})は, その関数の作用を表している.
\item 関数名の最後 ({\ttfamily \+\_\+e}, {\ttfamily \+\_\+ae}, {\ttfamily \+\_\+g}, {\ttfamily \+\_\+ag}) は, 入力変数の形スペクトルデータおよび格子点データであることを示している.
\begin{DoxyItemize}
\item {\ttfamily \+\_\+e} \+:: スペクトルデータ
\item {\ttfamily \+\_\+g} \+:: 1 次元格子点データ
\item {\ttfamily \+\_\+ae} \+:: 1 次元スペクトルデータが複数並んだ 2 次元データ
\item {\ttfamily \+\_\+ag} \+:: 1 次元格子点データが複数並んだ 2 次元データ
\end{DoxyItemize}
\end{DoxyItemize}

\doxyparagraph*{各データの種類の説明}


\begin{DoxyItemize}
\item 以下 {\ttfamily DP = kind(1.\+0D)} である
\item {\ttfamily g} \+: 1 次元格子点データ.
\begin{DoxyItemize}
\item 変数の種類と次元は {\ttfamily real(\+D\+P), dimension(0\+:im-\/1)}.
\item {\ttfamily im} は X 座標の格子点数であり, サブルーチン \mbox{\hyperlink{namespaceae__module_a22cd0d2c74c2ddf99e3ededde22ff373}{ae\+\_\+initial()}} にて あらかじめ設定しておく.
\end{DoxyItemize}
\item {\ttfamily e} \+: スペクトルデータ.
\begin{DoxyItemize}
\item 変数の種類と次元は {\ttfamily real(\+D\+P), dimension(-\/km\+:km)}.
\item {\ttfamily km} は X 方向の最大波数であり, サブルーチン \mbox{\hyperlink{namespaceae__module_a22cd0d2c74c2ddf99e3ededde22ff373}{ae\+\_\+initial()}} にて あらかじめ設定しておく.
\item スペクトルデータの格納のされ方は {\ttfamily 0\+:km} までが $\cos(kx)$ の係数, {\ttfamily -\/km\+:-\/1} が $sin(kx)$ の係数となっている.
\end{DoxyItemize}
\item {\ttfamily ag} \+: 1 次元(\+X)格子点データの並んだ 2 次元データ.
\begin{DoxyItemize}
\item 変数の種類と次元は {\ttfamily real(\+D\+P), dimension(\+:,0\+:im-\/1)}. 第 2 次元が X 方向を表す.
\end{DoxyItemize}
\item {\ttfamily ae} \+: 1 次元スペクトルデータの並んだ 2 次元データ.
\begin{DoxyItemize}
\item 変数の種類と次元は {\ttfamily real(\+D\+P), dimension(\+:,-\/km\+:km)}. 第 2 次元がスペクトルを表す.
\end{DoxyItemize}
\item {\ttfamily g\+\_\+} で始まる関数が返す値は 1 次元格子点データに同じ.
\item {\ttfamily e\+\_\+} で始まる関数が返す値はスペクトルデータに同じ.
\item {\ttfamily ag\+\_\+} で始まる関数が返す値は 1 次元格子点データの並んだ 2 次元データに同じ.
\item {\ttfamily ae\+\_\+} で始まる関数が返す値は 1 次元スペクトルデータの並んだ 2 次元データに同じ.
\item スペクトルデータに対する微分等の作用とは, 対応する格子点データに 微分などを作用させたデータをスペクトル変換したもののことである. 
\end{DoxyItemize}\doxysubsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \mbox{\hyperlink{namespaceae__module_a22cd0d2c74c2ddf99e3ededde22ff373}{ae\+\_\+initial}} (i, k, xmin, xmax)
\begin{DoxyCompactList}\small\item\em スペクトル変換の格子点数, 波数, 領域の大きさを設定する. \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ae, 1), 0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), public \mbox{\hyperlink{namespaceae__module_aa608f5e636b985d941beee7b193b296d}{ag\+\_\+ae}} (ae)
\begin{DoxyCompactList}\small\item\em スペクトルデータから格子点データへ逆変換する(2 次元データ用) \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), public \mbox{\hyperlink{namespaceae__module_af6ac1c9eaf6bd191607a83fb2104d19b}{g\+\_\+e}} (e)
\begin{DoxyCompactList}\small\item\em スペクトルデータから格子点データへ逆変換する(1 次元データ用) \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ag, 1),-\/km\+:km), public \mbox{\hyperlink{namespaceae__module_aad2e28fa11da59980edab6814da4e8c1}{ae\+\_\+ag}} (ag)
\begin{DoxyCompactList}\small\item\em 格子点データからスペクトルデータへ正変換する(2 次元データ用) \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km), public \mbox{\hyperlink{namespaceae__module_ae911d8ef5ea4591945efb0abf89f7d69}{e\+\_\+g}} (g)
\begin{DoxyCompactList}\small\item\em 格子点データからスペクトルデータへ正変換する(1 次元データ用) \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ae, 1),-\/km\+:km), public \mbox{\hyperlink{namespaceae__module_a364fd96fdcbe1eb523e8aa55f3b26cb2}{ae\+\_\+dx\+\_\+ae}} (ae)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータに X 微分を作用する(2 次元データ). \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km), public \mbox{\hyperlink{namespaceae__module_ab680d91e6d9b4516c765c6d1ade9845a}{e\+\_\+dx\+\_\+e}} (e)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータに X 微分を作用する(1 次元データ). \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ag, 1)), public \mbox{\hyperlink{namespaceae__module_a4ab0f41d2d21a6c84b221be04e340fb0}{a\+\_\+int\+\_\+ag}} (ag)
\begin{DoxyCompactList}\small\item\em 1 次元格子点データが並んだ 2 次元配列の積分 \end{DoxyCompactList}\item 
real(dp) function, public \mbox{\hyperlink{namespaceae__module_a031c3822a9f04b1aac406c499c31f6c9}{int\+\_\+g}} (g)
\begin{DoxyCompactList}\small\item\em 1 次元格子点データの積分 \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ag, 1)), public \mbox{\hyperlink{namespaceae__module_a124cd8243702b93c236dd0c1073eb7a4}{a\+\_\+avr\+\_\+ag}} (ag)
\begin{DoxyCompactList}\small\item\em 1 次元格子点データが並んだ 2 次元配列の平均 \end{DoxyCompactList}\item 
real(dp) function, public \mbox{\hyperlink{namespaceae__module_a8615721aa4b03e40a1747a3813732cab}{avr\+\_\+g}} (g)
\begin{DoxyCompactList}\small\item\em 1 次元格子点データの平均 \end{DoxyCompactList}\item 
real(dp) function, public \mbox{\hyperlink{namespaceae__module_a603a60271157a32efcac3798791b86e5}{interpolate\+\_\+e}} (e\+\_\+data, xval)
\begin{DoxyCompactList}\small\item\em 補間計算(1次元) \end{DoxyCompactList}\item 
real(dp) function, dimension(size(ae\+\_\+data, 1)), public \mbox{\hyperlink{namespaceae__module_add3a6d40d54fef16f93cb3065e9ade73}{a\+\_\+interpolate\+\_\+ae}} (ae\+\_\+data, xval)
\begin{DoxyCompactList}\small\item\em 補間計算(2次元) \end{DoxyCompactList}\end{DoxyCompactItemize}
\doxysubsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(dp), dimension(\+:), allocatable, save, public \mbox{\hyperlink{namespaceae__module_a3eb0921a2074c61a68f63315f974fa2e}{g\+\_\+x}}
\begin{DoxyCompactList}\small\item\em 格子点座標(\+X)を格納した1次元配列. \end{DoxyCompactList}\item 
real(dp), dimension(\+:), allocatable, save, public \mbox{\hyperlink{namespaceae__module_a415b7681bdd5824affa2e8d5d6c9643b}{g\+\_\+x\+\_\+weight}}
\begin{DoxyCompactList}\small\item\em 重み座標を格納した 1 次元配列. X方向の格子点の間隔が格納してある. \end{DoxyCompactList}\item 
integer(8), save \mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}} = 32
\item 
integer(8), save \mbox{\hyperlink{namespaceae__module_ab74449bbc0fb7c5e513728467f84dc6a}{km}} = 10
\item 
real(dp), save \mbox{\hyperlink{namespaceae__module_a5e97bdc4b0a6e24399288fdf2454d036}{xl}} = 1.\+0\+D0
\item 
integer(8), dimension(\+:), allocatable, save \mbox{\hyperlink{namespaceae__module_abafd4b1224f710b3508a0c02ab1e321d}{it}}
\item 
real(dp), dimension(\+:), allocatable, save \mbox{\hyperlink{namespaceae__module_a05990350cf9686ef5b441b54e3e10c77}{t}}
\end{DoxyCompactItemize}


\doxysubsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespaceae__module_a124cd8243702b93c236dd0c1073eb7a4}\label{namespaceae__module_a124cd8243702b93c236dd0c1073eb7a4}} 
\index{ae\_module@{ae\_module}!a\_avr\_ag@{a\_avr\_ag}}
\index{a\_avr\_ag@{a\_avr\_ag}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{a\_avr\_ag()}{a\_avr\_ag()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ag,1)), public ae\+\_\+module\+::a\+\_\+avr\+\_\+ag (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,0\+:), intent(in)}]{ag }\end{DoxyParamCaption})}



1 次元格子点データが並んだ 2 次元配列の平均 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ag} & 格子点データ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均結果 
\end{DoxyReturn}


Definition at line 388 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{388 }
\DoxyCodeLine{389 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)}, \textcolor{keywordtype}{intent(in)}     :: ag}
\DoxyCodeLine{391 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ag,1))}           :: a\_Avr\_ag}
\DoxyCodeLine{392 }
\DoxyCodeLine{393     a\_avr\_ag = a\_int\_ag(ag)/sum(g\_x\_weight)}
\DoxyCodeLine{394 }

\end{DoxyCode}


References a\+\_\+int\+\_\+ag(), and g\+\_\+x\+\_\+weight.

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=333pt]{namespaceae__module_a124cd8243702b93c236dd0c1073eb7a4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_a4ab0f41d2d21a6c84b221be04e340fb0}\label{namespaceae__module_a4ab0f41d2d21a6c84b221be04e340fb0}} 
\index{ae\_module@{ae\_module}!a\_int\_ag@{a\_int\_ag}}
\index{a\_int\_ag@{a\_int\_ag}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{a\_int\_ag()}{a\_int\_ag()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ag,1)), public ae\+\_\+module\+::a\+\_\+int\+\_\+ag (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,0\+:), intent(in)}]{ag }\end{DoxyParamCaption})}



1 次元格子点データが並んだ 2 次元配列の積分 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ag} & 格子点データ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分結果 
\end{DoxyReturn}


Definition at line 352 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{352 }
\DoxyCodeLine{353 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)}, \textcolor{keywordtype}{intent(in)}     :: ag}
\DoxyCodeLine{355 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ag,1))}           :: a\_Int\_ag}
\DoxyCodeLine{356 }
\DoxyCodeLine{357     \textcolor{keywordtype}{integer(8)} :: i}
\DoxyCodeLine{358 }
\DoxyCodeLine{359     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(ag,2) < im ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{360        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ae\_Int\_ag'}, \&}
\DoxyCodeLine{361             \textcolor{stringliteral}{'The Grid points of input data too small.'})}
\DoxyCodeLine{362     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(ag,2) > im ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{363        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'ae\_Int\_ag'}, \&}
\DoxyCodeLine{364             \textcolor{stringliteral}{'The Grid points of input data too large.'})}
\DoxyCodeLine{365 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{366 }
\DoxyCodeLine{367     a\_int\_ag = 0.0d0}
\DoxyCodeLine{368     \textcolor{keywordflow}{do} i=0,im-\/1}
\DoxyCodeLine{369        a\_int\_ag(:) = a\_int\_ag(:) + ag(:,i)*g\_x\_weight(i)}
\DoxyCodeLine{370 \textcolor{keywordflow}{    enddo}}

\end{DoxyCode}


References g\+\_\+x\+\_\+weight, and im.



Referenced by a\+\_\+avr\+\_\+ag().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=333pt]{namespaceae__module_a4ab0f41d2d21a6c84b221be04e340fb0_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_add3a6d40d54fef16f93cb3065e9ade73}\label{namespaceae__module_add3a6d40d54fef16f93cb3065e9ade73}} 
\index{ae\_module@{ae\_module}!a\_interpolate\_ae@{a\_interpolate\_ae}}
\index{a\_interpolate\_ae@{a\_interpolate\_ae}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{a\_interpolate\_ae()}{a\_interpolate\_ae()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ae\+\_\+data,1)), public ae\+\_\+module\+::a\+\_\+interpolate\+\_\+ae (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,-\/km\+:), intent(in)}]{ae\+\_\+data,  }\item[{real(dp), intent(in)}]{xval }\end{DoxyParamCaption})}



補間計算(2次元) 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ae\+\_\+data} & 入力スペクトルデータ \\
\hline
\mbox{\texttt{ in}}  & {\em xval} & 補間する点の座標 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
補間した結果の値 
\end{DoxyReturn}


Definition at line 433 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{433 }
\DoxyCodeLine{434 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,-\/km:)}, \textcolor{keywordtype}{intent(IN)}   :: ae\_data}
\DoxyCodeLine{436 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{intent(in)}                      :: xval}
\DoxyCodeLine{438 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ae\_data,1))}      :: a\_Interpolate\_ae}
\DoxyCodeLine{439 }
\DoxyCodeLine{440     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{441 }
\DoxyCodeLine{442     a\_interpolate\_ae = ae\_data(:,0)}
\DoxyCodeLine{443 }
\DoxyCodeLine{444     \textcolor{keywordflow}{do} k=1,km}
\DoxyCodeLine{445        a\_interpolate\_ae = a\_interpolate\_ae                          \&}
\DoxyCodeLine{446             \&  + 2.0d0 * (   ae\_data(:,k)  * cos(2*pi*k/xl*xval)    \&}
\DoxyCodeLine{447             \&              -\/ ae\_data(:,-\/k) * sin(2*pi*k/xl*xval) )}
\DoxyCodeLine{448 \textcolor{keywordflow}{    end do}}
\DoxyCodeLine{449 }

\end{DoxyCode}


References km, and xl.

\mbox{\Hypertarget{namespaceae__module_aad2e28fa11da59980edab6814da4e8c1}\label{namespaceae__module_aad2e28fa11da59980edab6814da4e8c1}} 
\index{ae\_module@{ae\_module}!ae\_ag@{ae\_ag}}
\index{ae\_ag@{ae\_ag}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{ae\_ag()}{ae\_ag()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ag,1),-\/km\+:km), public ae\+\_\+module\+::ae\+\_\+ag (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,\+:), intent(in)}]{ag }\end{DoxyParamCaption})}



格子点データからスペクトルデータへ正変換する(2 次元データ用) 

スペクトル正変換の定義は以下のとおり\+:
\begin{DoxyItemize}
\item 格子点データ $g_j \, (j=-0,...,im-1)$
\item スペクトルデータ $e_k \, (k=-km,...,km)$ \begin{align*} e_0 & = (1/im)\sum_{j=0}^{im-1} g_j \\ e_k & = (1/im)\sum_{j=0}^{im-1} g_j \cos(2\pi jk/im) \quad (k=1,2,...,km) \\ e_{-k} & = - (1/im)\sum_{j=0}^{im-1} g_j \sin(2\pi jk/im) \quad (k=1,2,...,km) \end{align*} 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ag} & 格子点データ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータ 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 245 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{245 }
\DoxyCodeLine{246 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}   :: ag}
\DoxyCodeLine{248 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ag,1),-\/km:km)} :: ae\_ag}
\DoxyCodeLine{249 }
\DoxyCodeLine{250 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ag,1),0:im-\/1)} :: ag\_work}
\DoxyCodeLine{251     \textcolor{keywordtype}{integer(8)} :: nm, k}
\DoxyCodeLine{252 }
\DoxyCodeLine{253     nm = \textcolor{keyword}{size}(ag,1)}
\DoxyCodeLine{254     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(ag,2) < im ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{255        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ae\_ag'}, \&}
\DoxyCodeLine{256             \textcolor{stringliteral}{'The Grid points of input data too small.'})}
\DoxyCodeLine{257     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(ag,2) > im ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{258        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'ae\_ag'}, \&}
\DoxyCodeLine{259             \textcolor{stringliteral}{'The Grid points of input data too large.'})}
\DoxyCodeLine{260 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{261     ag\_work = ag}
\DoxyCodeLine{262 }
\DoxyCodeLine{263     \textcolor{keyword}{call }fxrtfa(nm,im,ag\_work,it,t)}
\DoxyCodeLine{264 }
\DoxyCodeLine{265     \textcolor{keywordflow}{do} k=1,min(km,im/2-\/1)}
\DoxyCodeLine{266        ae\_ag(:, k) = ag\_work(:,2*k)}
\DoxyCodeLine{267        ae\_ag(:,-\/k) = ag\_work(:,2*k+1)}
\DoxyCodeLine{268 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{269     ae\_ag(:,0) = ag\_work(:,0)}
\DoxyCodeLine{270     \textcolor{keywordflow}{if} ( km == im/2 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{271       ae\_ag(:,km) = ag\_work(:,1)}
\DoxyCodeLine{272 \textcolor{keywordflow}{    end if}}
\DoxyCodeLine{273 }

\end{DoxyCode}


References im, it, km, and t.



Referenced by e\+\_\+g().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{namespaceae__module_aad2e28fa11da59980edab6814da4e8c1_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_a364fd96fdcbe1eb523e8aa55f3b26cb2}\label{namespaceae__module_a364fd96fdcbe1eb523e8aa55f3b26cb2}} 
\index{ae\_module@{ae\_module}!ae\_dx\_ae@{ae\_dx\_ae}}
\index{ae\_dx\_ae@{ae\_dx\_ae}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{ae\_dx\_ae()}{ae\_dx\_ae()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ae,1),-\/km\+:km), public ae\+\_\+module\+::ae\+\_\+dx\+\_\+ae (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,-\/km\+:), intent(in)}]{ae }\end{DoxyParamCaption})}



入力スペクトルデータに X 微分を作用する(2 次元データ). 

スペクトルデータの X 微分とは, 対応する格子点データに X 微分を 作用させたデータのスペクトル変換のことである. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ae} & 入力スペクトルデータ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
入力スペクトルデータの X 微分 
\end{DoxyReturn}


Definition at line 310 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{310 }
\DoxyCodeLine{311 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,-\/km:)}, \textcolor{keywordtype}{intent(in)}  :: ae}
\DoxyCodeLine{313 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ae,1),-\/km:km)}   :: ae\_dx\_ae}
\DoxyCodeLine{314 }
\DoxyCodeLine{315     \textcolor{keywordtype}{integer(8)} ::  k}
\DoxyCodeLine{316 }
\DoxyCodeLine{317     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(ae,2) < 2*km+1 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{318        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'ae\_Dx\_ae'}, \&}
\DoxyCodeLine{319             \textcolor{stringliteral}{'The Fourier dimension of input data too small.'})}
\DoxyCodeLine{320     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(ae,2) > 2*km+1 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{321        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'ae\_Dx\_ae'}, \&}
\DoxyCodeLine{322             \textcolor{stringliteral}{'The Fourier dimension of input data too large.'})}
\DoxyCodeLine{323 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{324 }
\DoxyCodeLine{325     \textcolor{keywordflow}{do} k=-\/km,km}
\DoxyCodeLine{326        ae\_dx\_ae(:,k) = -\/(2*pi*k/xl)*ae(:,-\/k)}
\DoxyCodeLine{327 \textcolor{keywordflow}{    enddo}}

\end{DoxyCode}


References km, and xl.



Referenced by e\+\_\+dx\+\_\+e().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=329pt]{namespaceae__module_a364fd96fdcbe1eb523e8aa55f3b26cb2_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_a22cd0d2c74c2ddf99e3ededde22ff373}\label{namespaceae__module_a22cd0d2c74c2ddf99e3ededde22ff373}} 
\index{ae\_module@{ae\_module}!ae\_initial@{ae\_initial}}
\index{ae\_initial@{ae\_initial}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{ae\_initial()}{ae\_initial()}}
{\footnotesize\ttfamily subroutine, public ae\+\_\+module\+::ae\+\_\+initial (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{i,  }\item[{integer, intent(in)}]{k,  }\item[{real(dp), intent(in)}]{xmin,  }\item[{real(dp), intent(in)}]{xmax }\end{DoxyParamCaption})}



スペクトル変換の格子点数, 波数, 領域の大きさを設定する. 

他の関数や変数を呼ぶ前に, 最初にこのサブルーチンを呼んで 初期設定をしなければならない. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em i} & 格子点の数 \\
\hline
\mbox{\texttt{ in}}  & {\em k} & 切断波数 \\
\hline
\mbox{\texttt{ in}}  & {\em xmin} & X座標下端 \\
\hline
\mbox{\texttt{ in}}  & {\em xmax} & X座標上端 \\
\hline
\end{DoxyParams}


Definition at line 122 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{122 }
\DoxyCodeLine{123     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: i}
\DoxyCodeLine{125     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{intent(in)} :: k}
\DoxyCodeLine{127 \textcolor{keywordtype}{    real}(DP),\textcolor{keywordtype}{intent(in)} :: xmin}
\DoxyCodeLine{129 \textcolor{keywordtype}{    real}(DP),\textcolor{keywordtype}{intent(in)} :: xmax}
\DoxyCodeLine{130     \textcolor{keywordtype}{integer(8)}          :: ii}
\DoxyCodeLine{131 }
\DoxyCodeLine{132     im = i}
\DoxyCodeLine{133     km = k}
\DoxyCodeLine{134     xl = xmax -\/ xmin}
\DoxyCodeLine{135 }
\DoxyCodeLine{136     \textcolor{keywordflow}{if} ( im <= 0 .or. km <= 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{137        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ae\_Initial'}, \&}
\DoxyCodeLine{138             \textcolor{stringliteral}{'Number of grid points and waves should be positive'})}
\DoxyCodeLine{139     \textcolor{keywordflow}{elseif} ( mod(im,2\_8) /= 0 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{140        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ae\_Initial'}, \&}
\DoxyCodeLine{141             \textcolor{stringliteral}{'Number of grid points should be even'})}
\DoxyCodeLine{142     \textcolor{keywordflow}{elseif} ( km > im/2 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{143        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ae\_Initial'}, \&}
\DoxyCodeLine{144             \textcolor{stringliteral}{'KM shoud be less equal to IM/2'})}
\DoxyCodeLine{145 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{146 }
\DoxyCodeLine{147     \textcolor{keyword}{allocate}(it(im/2),t(im*3/2))}
\DoxyCodeLine{148 }
\DoxyCodeLine{149     \textcolor{keyword}{call }fxrini(im,it,t)}
\DoxyCodeLine{150 }
\DoxyCodeLine{151     \textcolor{keyword}{allocate}(g\_x(0:im-\/1))}
\DoxyCodeLine{152     \textcolor{keywordflow}{do} ii=0,im-\/1}
\DoxyCodeLine{153        g\_x(ii) = xmin + (xl/im)*ii}
\DoxyCodeLine{154 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{155 }
\DoxyCodeLine{156     \textcolor{keyword}{allocate}(g\_x\_weight(0:im-\/1))}
\DoxyCodeLine{157     g\_x\_weight = xl/im}
\DoxyCodeLine{158 }
\DoxyCodeLine{159     \textcolor{keyword}{call }messagenotify(\&}
\DoxyCodeLine{160          \textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'ae\_initial'},\textcolor{stringliteral}{'ae\_module (2019/09/17) is initialized'})}
\DoxyCodeLine{161 }

\end{DoxyCode}


References g\+\_\+x, g\+\_\+x\+\_\+weight, im, it, km, t, and xl.



Referenced by et\+\_\+module\+::et\+\_\+initial().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=328pt]{namespaceae__module_a22cd0d2c74c2ddf99e3ededde22ff373_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_aa608f5e636b985d941beee7b193b296d}\label{namespaceae__module_aa608f5e636b985d941beee7b193b296d}} 
\index{ae\_module@{ae\_module}!ag\_ae@{ag\_ae}}
\index{ag\_ae@{ag\_ae}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{ag\_ae()}{ag\_ae()}}
{\footnotesize\ttfamily real(dp) function, dimension(size(ae,1),0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), public ae\+\_\+module\+::ag\+\_\+ae (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,-\/km\+:), intent(in)}]{ae }\end{DoxyParamCaption})}



スペクトルデータから格子点データへ逆変換する(2 次元データ用) 

スペクトル逆変換の定義は以下のとおり\+:
\begin{DoxyItemize}
\item スペクトルデータ\+: $e_k \, (k=-km,...,km)$
\item 格子点データ\+: $g_j \, (j=-0,...,im-1)$ \begin{align*} g_j = e_0 + 2\sum_{k=1}^{km}e_k\cos(2\pi jk/im) - e_{-k}\sin(2\pi jk/im)) \quad (j=0,1,...,im-1). \end{align*} 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em ae} & スペクトルデータ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データ 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 176 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{176 }
\DoxyCodeLine{177 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,-\/km:)}, \textcolor{keywordtype}{intent(in)}  :: ae}
\DoxyCodeLine{179 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(ae,1),0:im-\/1)}   :: ag\_ae}
\DoxyCodeLine{180 }
\DoxyCodeLine{181     \textcolor{keywordtype}{integer(8)} :: nm, k}
\DoxyCodeLine{182     nm=\textcolor{keyword}{size}(ae,1)}
\DoxyCodeLine{183 }
\DoxyCodeLine{184     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(ae,2) < 2*km+1 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{185        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ag\_ae'}, \&}
\DoxyCodeLine{186             \textcolor{stringliteral}{'The Fourier dimension of input data too small.'})}
\DoxyCodeLine{187     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(ae,2) > 2*km+1 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{188        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'ag\_ae'}, \&}
\DoxyCodeLine{189             \textcolor{stringliteral}{'The Fourier dimension of input data too large.'})}
\DoxyCodeLine{190 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{191 }
\DoxyCodeLine{192     ag\_ae       = 0.0d0}
\DoxyCodeLine{193     ag\_ae(:,0)  = ae(:,0)}
\DoxyCodeLine{194     \textcolor{keywordflow}{do} k=1,min(km,im/2-\/1)}
\DoxyCodeLine{195        ag\_ae(:,2*k)   = ae(:,k)}
\DoxyCodeLine{196        ag\_ae(:,2*k+1) = ae(:,-\/k)}
\DoxyCodeLine{197 \textcolor{keywordflow}{    enddo}}
\DoxyCodeLine{198     \textcolor{keywordflow}{if} ( km == im/2 ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{199       ag\_ae(:,1) = ae(:,km)}
\DoxyCodeLine{200 \textcolor{keywordflow}{    end if}}
\DoxyCodeLine{201 }
\DoxyCodeLine{202     \textcolor{keyword}{call }fxrtba(nm,im,ag\_ae,it,t)}
\DoxyCodeLine{203 }

\end{DoxyCode}


References im, it, km, and t.



Referenced by g\+\_\+e().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{namespaceae__module_aa608f5e636b985d941beee7b193b296d_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_a8615721aa4b03e40a1747a3813732cab}\label{namespaceae__module_a8615721aa4b03e40a1747a3813732cab}} 
\index{ae\_module@{ae\_module}!avr\_g@{avr\_g}}
\index{avr\_g@{avr\_g}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{avr\_g()}{avr\_g()}}
{\footnotesize\ttfamily real(dp) function, public ae\+\_\+module\+::avr\+\_\+g (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), intent(in)}]{g }\end{DoxyParamCaption})}



1 次元格子点データの平均 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em g} & 格子点データ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均値 
\end{DoxyReturn}


Definition at line 400 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{400 }
\DoxyCodeLine{401 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:im-\/1)}, \textcolor{keywordtype}{intent(in)}   :: g}
\DoxyCodeLine{403 \textcolor{keywordtype}{    real}(DP)                                  :: Avr\_g}
\DoxyCodeLine{404 }
\DoxyCodeLine{405     avr\_g = int\_g(g)/sum(g\_x\_weight)}
\DoxyCodeLine{406 }

\end{DoxyCode}


References g\+\_\+x\+\_\+weight, and int\+\_\+g().

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=301pt]{namespaceae__module_a8615721aa4b03e40a1747a3813732cab_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_ab680d91e6d9b4516c765c6d1ade9845a}\label{namespaceae__module_ab680d91e6d9b4516c765c6d1ade9845a}} 
\index{ae\_module@{ae\_module}!e\_dx\_e@{e\_dx\_e}}
\index{e\_dx\_e@{e\_dx\_e}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{e\_dx\_e()}{e\_dx\_e()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km), public ae\+\_\+module\+::e\+\_\+dx\+\_\+e (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km), intent(in)}]{e }\end{DoxyParamCaption})}



入力スペクトルデータに X 微分を作用する(1 次元データ). 

スペクトルデータの X 微分とは, 対応する格子点データに X 微分を 作用させたデータのスペクトル変換のことである. 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em e} & 入力スペクトルデータ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
入力スペクトルデータの X 微分 
\end{DoxyReturn}


Definition at line 336 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{336 }
\DoxyCodeLine{337 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(-\/km:km)}, \textcolor{keywordtype}{intent(in)}     :: e}
\DoxyCodeLine{339 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(-\/km:km)}                 :: e\_Dx\_e}
\DoxyCodeLine{340 }
\DoxyCodeLine{341 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,-\/km:km)}               :: ae\_work}
\DoxyCodeLine{342 }
\DoxyCodeLine{343     ae\_work(1,:) = e}
\DoxyCodeLine{344     ae\_work = ae\_dx\_ae(ae\_work)}
\DoxyCodeLine{345     e\_dx\_e = ae\_work(1,:)}
\DoxyCodeLine{346 }

\end{DoxyCode}


References ae\+\_\+dx\+\_\+ae().

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=329pt]{namespaceae__module_ab680d91e6d9b4516c765c6d1ade9845a_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_ae911d8ef5ea4591945efb0abf89f7d69}\label{namespaceae__module_ae911d8ef5ea4591945efb0abf89f7d69}} 
\index{ae\_module@{ae\_module}!e\_g@{e\_g}}
\index{e\_g@{e\_g}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{e\_g()}{e\_g()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km), public ae\+\_\+module\+::e\+\_\+g (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), intent(in)}]{g }\end{DoxyParamCaption})}



格子点データからスペクトルデータへ正変換する(1 次元データ用) 

スペクトル正変換の定義は以下のとおり\+:
\begin{DoxyItemize}
\item 格子点データ\+: $g_j \, (j=-0,...,im-1)$
\item スペクトルデータ\+: $e_k \, (k=-km,...,km)$ \begin{align*} e_0 & = (1/im)\sum_{j=0}^{im-1} g_j \\ e_k & = (1/im)\sum_{j=0}^{im-1} g_j \cos(2\pi jk/im) \quad (k=1,2,...,km) \\ e_{-k} & = - (1/im)\sum_{j=0}^{im-1} g_j \sin(2\pi jk/im) \quad (k=1,2,...,km) \end{align*} 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em g} & 格子点データ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータ 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 290 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{290 }
\DoxyCodeLine{291 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:im-\/1)}, \textcolor{keywordtype}{intent(in)}  :: g}
\DoxyCodeLine{293 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(-\/km:km)}              :: e\_g}
\DoxyCodeLine{294 }
\DoxyCodeLine{295 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,size(g))}        :: ag\_work}
\DoxyCodeLine{296 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,-\/km:km)}         :: ae\_work}
\DoxyCodeLine{297 }
\DoxyCodeLine{298     ag\_work(1,:) = g}
\DoxyCodeLine{299     ae\_work = ae\_ag(ag\_work)}
\DoxyCodeLine{300     e\_g = ae\_work(1,:)}
\DoxyCodeLine{301 }

\end{DoxyCode}


References ae\+\_\+ag().

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{namespaceae__module_ae911d8ef5ea4591945efb0abf89f7d69_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_af6ac1c9eaf6bd191607a83fb2104d19b}\label{namespaceae__module_af6ac1c9eaf6bd191607a83fb2104d19b}} 
\index{ae\_module@{ae\_module}!g\_e@{g\_e}}
\index{g\_e@{g\_e}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{g\_e()}{g\_e()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), public ae\+\_\+module\+::g\+\_\+e (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km), intent(in)}]{e }\end{DoxyParamCaption})}



スペクトルデータから格子点データへ逆変換する(1 次元データ用) 


\begin{DoxyItemize}
\item スペクトルデータ\+: $e_k \, (k=-km,...,km)$
\item 格子点データ\+: $g_j \, (j=-0,...,im-1)$ \begin{align*} g_j = e_0 + 2\sum_{k=1}^{km}(e_k\cos(2\pi jk/im) - e_{-k}\sin(2\pi jk/im)) \quad (j=0,1,...,im-1). \end{align*} 
\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em e} & スペクトルデータ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データ 
\end{DoxyReturn}

\end{DoxyItemize}

Definition at line 217 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{217 }
\DoxyCodeLine{218 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(-\/km:km)}, \textcolor{keywordtype}{intent(in)} :: e}
\DoxyCodeLine{220 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:im-\/1)}             :: g\_e}
\DoxyCodeLine{221 }
\DoxyCodeLine{222 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,size(e))}  :: ae\_work}
\DoxyCodeLine{223 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:im-\/1)}   :: ag\_work}
\DoxyCodeLine{224 }
\DoxyCodeLine{225     ae\_work(1,:) = e}
\DoxyCodeLine{226     ag\_work = ag\_ae(ae\_work)}
\DoxyCodeLine{227     g\_e = ag\_work(1,:)}
\DoxyCodeLine{228 }

\end{DoxyCode}


References ag\+\_\+ae().

Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=298pt]{namespaceae__module_af6ac1c9eaf6bd191607a83fb2104d19b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_a031c3822a9f04b1aac406c499c31f6c9}\label{namespaceae__module_a031c3822a9f04b1aac406c499c31f6c9}} 
\index{ae\_module@{ae\_module}!int\_g@{int\_g}}
\index{int\_g@{int\_g}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{int\_g()}{int\_g()}}
{\footnotesize\ttfamily real(dp) function, public ae\+\_\+module\+::int\+\_\+g (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\mbox{\hyperlink{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}{im}}-\/1), intent(in)}]{g }\end{DoxyParamCaption})}



1 次元格子点データの積分 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em g} & 格子点データ \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分結果 
\end{DoxyReturn}


Definition at line 376 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{376 }
\DoxyCodeLine{377 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:im-\/1)}, \textcolor{keywordtype}{intent(in)}   :: g}
\DoxyCodeLine{379 \textcolor{keywordtype}{    real}(DP)                                  :: Int\_g}
\DoxyCodeLine{380 }
\DoxyCodeLine{381     int\_g = sum(g*g\_x\_weight)}
\DoxyCodeLine{382 }

\end{DoxyCode}


References g\+\_\+x\+\_\+weight.



Referenced by avr\+\_\+g().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=301pt]{namespaceae__module_a031c3822a9f04b1aac406c499c31f6c9_icgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceae__module_a603a60271157a32efcac3798791b86e5}\label{namespaceae__module_a603a60271157a32efcac3798791b86e5}} 
\index{ae\_module@{ae\_module}!interpolate\_e@{interpolate\_e}}
\index{interpolate\_e@{interpolate\_e}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{interpolate\_e()}{interpolate\_e()}}
{\footnotesize\ttfamily real(dp) function, public ae\+\_\+module\+::interpolate\+\_\+e (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km), intent(in)}]{e\+\_\+data,  }\item[{real(dp), intent(in)}]{xval }\end{DoxyParamCaption})}



補間計算(1次元) 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in}}  & {\em e\+\_\+data} & 入力スペクトルデータ \\
\hline
\mbox{\texttt{ in}}  & {\em xval} & 補間する点の座標 \\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
補間した結果の値 
\end{DoxyReturn}


Definition at line 412 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{412 }
\DoxyCodeLine{413 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(-\/km:km)}, \textcolor{keywordtype}{intent(IN)} :: e\_data}
\DoxyCodeLine{415 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{intent(in)}                    :: xval}
\DoxyCodeLine{417 \textcolor{keywordtype}{    real}(DP)                                :: Interpolate\_e}
\DoxyCodeLine{418 }
\DoxyCodeLine{419     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{420 }
\DoxyCodeLine{421     interpolate\_e = e\_data(0)}
\DoxyCodeLine{422     \textcolor{keywordflow}{do} k=1,km}
\DoxyCodeLine{423        interpolate\_e = interpolate\_e                             \&}
\DoxyCodeLine{424             \&  + 2.0d0 * (   e\_data(k)  * cos(2*pi*k/xl*xval)    \&}
\DoxyCodeLine{425             \&              -\/ e\_data(-\/k) * sin(2*pi*k/xl*xval) )}
\DoxyCodeLine{426 \textcolor{keywordflow}{    end do}}
\DoxyCodeLine{427 }

\end{DoxyCode}


References km, and xl.



Referenced by et\+\_\+module\+::interpolate\+\_\+et().

Here is the caller graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceae__module_a603a60271157a32efcac3798791b86e5_icgraph}
\end{center}
\end{figure}


\doxysubsection{Variable Documentation}
\mbox{\Hypertarget{namespaceae__module_a3eb0921a2074c61a68f63315f974fa2e}\label{namespaceae__module_a3eb0921a2074c61a68f63315f974fa2e}} 
\index{ae\_module@{ae\_module}!g\_x@{g\_x}}
\index{g\_x@{g\_x}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{g\_x}{g\_x}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, save, public ae\+\_\+module\+::g\+\_\+x}



格子点座標(\+X)を格納した1次元配列. 



Definition at line 102 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{102 \textcolor{keywordtype}{  real}(DP), \textcolor{keywordtype}{allocatable}    :: g\_x(:)}

\end{DoxyCode}


Referenced by ae\+\_\+initial().

\mbox{\Hypertarget{namespaceae__module_a415b7681bdd5824affa2e8d5d6c9643b}\label{namespaceae__module_a415b7681bdd5824affa2e8d5d6c9643b}} 
\index{ae\_module@{ae\_module}!g\_x\_weight@{g\_x\_weight}}
\index{g\_x\_weight@{g\_x\_weight}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{g\_x\_weight}{g\_x\_weight}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, save, public ae\+\_\+module\+::g\+\_\+x\+\_\+weight}



重み座標を格納した 1 次元配列. X方向の格子点の間隔が格納してある. 



Definition at line 104 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{104 \textcolor{keywordtype}{  real}(DP), \textcolor{keywordtype}{allocatable}    :: g\_x\_weight(:)}

\end{DoxyCode}


Referenced by a\+\_\+avr\+\_\+ag(), a\+\_\+int\+\_\+ag(), ae\+\_\+initial(), avr\+\_\+g(), and int\+\_\+g().

\mbox{\Hypertarget{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}\label{namespaceae__module_a8918fd16f392c18772c54fec5c287c42}} 
\index{ae\_module@{ae\_module}!im@{im}}
\index{im@{im}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{im}{im}}
{\footnotesize\ttfamily integer(8), save ae\+\_\+module\+::im = 32\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 106 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{106   \textcolor{keywordtype}{integer(8)}               :: im = 32    \textcolor{comment}{! 格子点の数}}

\end{DoxyCode}


Referenced by a\+\_\+int\+\_\+ag(), ae\+\_\+ag(), ae\+\_\+initial(), ag\+\_\+ae(), et\+\_\+module\+::et\+\_\+initial(), et\+\_\+module\+::intyx\+\_\+yx(), and et\+\_\+module\+::y\+\_\+intx\+\_\+yx().

\mbox{\Hypertarget{namespaceae__module_abafd4b1224f710b3508a0c02ab1e321d}\label{namespaceae__module_abafd4b1224f710b3508a0c02ab1e321d}} 
\index{ae\_module@{ae\_module}!it@{it}}
\index{it@{it}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{it}{it}}
{\footnotesize\ttfamily integer(8), dimension(\+:), allocatable, save ae\+\_\+module\+::it\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 109 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{109   \textcolor{keywordtype}{integer(8)}, \textcolor{keywordtype}{allocatable}  :: it(:)}

\end{DoxyCode}


Referenced by ae\+\_\+ag(), ae\+\_\+initial(), and ag\+\_\+ae().

\mbox{\Hypertarget{namespaceae__module_ab74449bbc0fb7c5e513728467f84dc6a}\label{namespaceae__module_ab74449bbc0fb7c5e513728467f84dc6a}} 
\index{ae\_module@{ae\_module}!km@{km}}
\index{km@{km}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{km}{km}}
{\footnotesize\ttfamily integer(8), save ae\+\_\+module\+::km = 10\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 107 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{107   \textcolor{keywordtype}{integer(8)}               :: km = 10    \textcolor{comment}{! 切断波数}}

\end{DoxyCode}


Referenced by a\+\_\+interpolate\+\_\+ae(), ae\+\_\+ag(), ae\+\_\+dx\+\_\+ae(), ae\+\_\+initial(), ag\+\_\+ae(), et\+\_\+module\+::et\+\_\+dx\+\_\+et(), et\+\_\+module\+::et\+\_\+initial(), et\+\_\+module\+::et\+\_\+lapla\+\_\+et(), et\+\_\+module\+::et\+\_\+laplainv\+\_\+et(), et\+\_\+module\+::et\+\_\+vor2strm2\+\_\+et(), et\+\_\+module\+::et\+\_\+vor2strm3\+\_\+et(), et\+\_\+module\+::et\+\_\+vor2strm\+\_\+et(), et\+\_\+module\+::et\+\_\+yx(), et\+\_\+module\+::ey\+\_\+vor2strm\+\_\+ey(), et\+\_\+module\+::ey\+\_\+yx(), interpolate\+\_\+e(), et\+\_\+module\+::yx\+\_\+et(), and et\+\_\+module\+::yx\+\_\+ey().

\mbox{\Hypertarget{namespaceae__module_a05990350cf9686ef5b441b54e3e10c77}\label{namespaceae__module_a05990350cf9686ef5b441b54e3e10c77}} 
\index{ae\_module@{ae\_module}!t@{t}}
\index{t@{t}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{t}{t}}
{\footnotesize\ttfamily real(dp), dimension(\+:), allocatable, save ae\+\_\+module\+::t\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 110 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{110 \textcolor{keywordtype}{  real}(DP),   \textcolor{keywordtype}{allocatable}  :: t(:)}

\end{DoxyCode}


Referenced by ae\+\_\+ag(), ae\+\_\+initial(), and ag\+\_\+ae().

\mbox{\Hypertarget{namespaceae__module_a5e97bdc4b0a6e24399288fdf2454d036}\label{namespaceae__module_a5e97bdc4b0a6e24399288fdf2454d036}} 
\index{ae\_module@{ae\_module}!xl@{xl}}
\index{xl@{xl}!ae\_module@{ae\_module}}
\doxysubsubsection{\texorpdfstring{xl}{xl}}
{\footnotesize\ttfamily real(dp), save ae\+\_\+module\+::xl = 1.\+0\+D0\hspace{0.3cm}{\ttfamily [private]}}



Definition at line 108 of file ae\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{108 \textcolor{keywordtype}{  real}(DP)                 :: xl = 1.0d0 \textcolor{comment}{! 領域の大きさ}}

\end{DoxyCode}


Referenced by a\+\_\+interpolate\+\_\+ae(), ae\+\_\+dx\+\_\+ae(), ae\+\_\+initial(), et\+\_\+module\+::et\+\_\+dx\+\_\+et(), et\+\_\+module\+::et\+\_\+initial(), et\+\_\+module\+::et\+\_\+lapla\+\_\+et(), and interpolate\+\_\+e().

