\hypertarget{namespaceet__module}{}\section{et\+\_\+module Module Reference}
\label{namespaceet__module}\index{et\+\_\+module@{et\+\_\+module}}


2 次元水路領域\+: Fourier 展開 + Chebyshev 展開法  


\subsection*{Functions/\+Subroutines}
\begin{DoxyCompactItemize}
\item 
subroutine, public \hyperlink{namespaceet__module_aee177d24ffd17185ac9ba745275bedd7}{et\+\_\+initial} (i, j, k, l, xmin, xmax, ymin, ymax)
\begin{DoxyCompactList}\small\item\em スペクトル変換の格子点数, 波数, 領域の大きさを設定する. \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:jm, 0\+:im-\/1), public \hyperlink{namespaceet__module_a760a34bc3cf13bcbb1992706e9133eaa}{yx\+\_\+et} (et)
\begin{DoxyCompactList}\small\item\em スペクトルデータから格子データへ変換する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_a4d9f1ef009b70bd529dcf5e4fb8fe3ab}{et\+\_\+yx} (yx)
\item 
real(dp) function, dimension(0\+:jm, 0\+:im-\/1), public \hyperlink{namespaceet__module_a6051461b06878a267f474bb81249eb5b}{yx\+\_\+ey} (ey)
\begin{DoxyCompactList}\small\item\em X 座標スペクトルデータから格子データへ変換する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:jm), public \hyperlink{namespaceet__module_adb82dd622a4a262a1818983c7ce1ec1d}{ey\+\_\+yx} (yx)
\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_abf4835df45033d73e40ec0a65d2ab6ae}{et\+\_\+ey} (ey)
\begin{DoxyCompactList}\small\item\em Y 座標の格子データからスペクトルデータへ変換する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:jm), public \hyperlink{namespaceet__module_ad3da5bcbba5ba8e2578c717c3577fffb}{ey\+\_\+et} (et)
\begin{DoxyCompactList}\small\item\em Y 座標スペクトルデータから格子データへ変換する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_a62c03dec2f266a5974287a34bb24eaa6}{et\+\_\+dx\+\_\+et} (et)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータに X 微分 $\partial_x$ を作用する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_adca9643d051be4c8207cbc909d128383}{et\+\_\+dy\+\_\+et} (et)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータに Y 微分 $\partial_y$ を作用する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_a2ff889b990b44a0fa2cb1478e38e3ef4}{et\+\_\+lapla\+\_\+et} (et)
\begin{DoxyCompactList}\small\item\em 入力スペクトルデータにラプラシアン $(\partial_{xx}+\partial_{yy})$ を作用する. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_a5dc04ebb75fd30b73be2bb1fe16452ac}{et\+\_\+jacobian\+\_\+et\+\_\+et} (et\+\_\+a, et\+\_\+b)
\begin{DoxyCompactList}\small\item\em 2 つのスペクトルデータからヤコビアン $ J(A,B) = (\partial_{x}A)(\partial_{y}B) -(\partial_{y}A)(\partial_{x}B)$ を計算する. \end{DoxyCompactList}\item 
subroutine, public \hyperlink{namespaceet__module_a351eaa71386933955bc0bd959f232ad4}{et\+\_\+boundaries} (et, values, cond)
\begin{DoxyCompactList}\small\item\em ディリクレ, ノイマン条件の適用. チェビシェフ空間での計算 \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_a1d480e4fa88a46bb43d4c37ad67ee004}{et\+\_\+laplainv\+\_\+et} (et, values)
\begin{DoxyCompactList}\small\item\em 境界で一様な値を与える条件(ディリクレ条件)下で 入力スペクトルデータに逆ラプラシアン $(\partial_{xx}+\partial_{yy})^{-1}$ を作用する (Chebyshev-\/tau法) \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:jm), public \hyperlink{namespaceet__module_aefb6438605ac4d104fb956c456a37501}{ey\+\_\+vor2strm\+\_\+ey} (ey, values, cond, new)
\begin{DoxyCompactList}\small\item\em Y 方向格子点空間での Chebyshev-\/\+Collocation 法により， 渦度から流線を求める. \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_ac463c549cfdb0a1116d4fbef431190eb}{et\+\_\+vor2strm\+\_\+et} (et, values, cond, new)
\begin{DoxyCompactList}\small\item\em Chebyshev-\/tau 法により，渦度から流線を求める(境界値は定数) \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_ad57bcfe7134b97910185c0e6271ffede}{et\+\_\+vor2strm2\+\_\+et} (et, ea, cond, new)
\begin{DoxyCompactList}\small\item\em Chebyshev-\/tau 法により，渦度から流線を求める． 境界値として X方向の スペクトルを与えることが可能 \end{DoxyCompactList}\item 
real(dp) function, dimension(-\/km\+:km, 0\+:lm), public \hyperlink{namespaceet__module_aa1ce1666e8d938e69a8f224fdfea6bf3}{et\+\_\+vor2strm3\+\_\+et} (et, ea, cond, new)
\begin{DoxyCompactList}\small\item\em Chebyshev-\/tau 法により，渦度から流線を求める． 境界での値と勾配のスペクトルを与えることが可能. \end{DoxyCompactList}\item 
real(dp) function, public \hyperlink{namespaceet__module_ab548603559e0046c00b2c80452be8ed6}{intyx\+\_\+yx} (yx)
\begin{DoxyCompactList}\small\item\em 2 次元格子点データの全領域積分および平均. \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:jm), public \hyperlink{namespaceet__module_a06fd2a5870bad9fdac48108be11cfcb4}{y\+\_\+intx\+\_\+yx} (yx)
\begin{DoxyCompactList}\small\item\em 2 次元格子点データの X 方向積分 \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:im-\/1), public \hyperlink{namespaceet__module_a9d4c9267a18acd630c5d7cb68f4a5048}{x\+\_\+inty\+\_\+yx} (yx)
\begin{DoxyCompactList}\small\item\em 2 次元格子点データの Y 方向積分 \end{DoxyCompactList}\item 
real(dp) function, public \hyperlink{namespaceet__module_a792a5563cd122c0779904360978a97d4}{intx\+\_\+x} (x)
\begin{DoxyCompactList}\small\item\em 1 次元(\+X)格子点データの X 方向積分 \end{DoxyCompactList}\item 
real(dp) function, public \hyperlink{namespaceet__module_a85893ceb757547f168430d386a363098}{inty\+\_\+y} (y)
\begin{DoxyCompactList}\small\item\em 1 次元(\+Y)格子点データの Y 方向積分 \end{DoxyCompactList}\item 
real(dp) function, public \hyperlink{namespaceet__module_a82df0305258a368bbd98eaa89e4da2e8}{avryx\+\_\+yx} (yx)
\begin{DoxyCompactList}\small\item\em 2 次元格子点データの全領域平均 \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:jm), public \hyperlink{namespaceet__module_ae0f001249a5e5698e4ef2d4335dd460b}{y\+\_\+avrx\+\_\+yx} (yx)
\begin{DoxyCompactList}\small\item\em 2 次元格子点データの X 方向平均 \end{DoxyCompactList}\item 
real(dp) function, dimension(0\+:im-\/1), public \hyperlink{namespaceet__module_a0b49f704711d70939291b05718a67180}{x\+\_\+avry\+\_\+yx} (yx)
\item 
real(dp) function, public \hyperlink{namespaceet__module_a35c80f8617923d012a1ff5a32bae82f3}{avrx\+\_\+x} (x)
\begin{DoxyCompactList}\small\item\em 1 次元(\+X)格子点データの X 方向平均 \end{DoxyCompactList}\item 
real(dp) function, public \hyperlink{namespaceet__module_a64a298ca04edcc608bd976c24e5eaff6}{avry\+\_\+y} (y)
\begin{DoxyCompactList}\small\item\em 1 次元(\+Y)格子点データの Y 方向平均 \end{DoxyCompactList}\item 
real(dp) function, public \hyperlink{namespaceet__module_a49cd599107e897907661147d5d9239a2}{interpolate\+\_\+et} (et\+\_\+data, xval, yval)
\begin{DoxyCompactList}\small\item\em 補間関数 \end{DoxyCompactList}\end{DoxyCompactItemize}
\subsection*{Variables}
\begin{DoxyCompactItemize}
\item 
real(dp), dimension(\+:,\+:), allocatable, public \hyperlink{namespaceet__module_a36afc47d18eeb0d43d0aa03e9b73459a}{yx\+\_\+x}
\begin{DoxyCompactList}\small\item\em 格子点データの X 座標\+: 格子点データ型 2 次元配列(\+X,\+Y) \end{DoxyCompactList}\item 
real(dp), dimension(\+:,\+:), allocatable, public \hyperlink{namespaceet__module_ae2eafd3163d0e52c348069c39b72e42f}{yx\+\_\+y}
\begin{DoxyCompactList}\small\item\em 格子点データの Y 座標\+: 格子点データ型 2 次元配列(\+X,\+Y) \end{DoxyCompactList}\end{DoxyCompactItemize}


\subsection{Detailed Description}
2 次元水路領域\+: Fourier 展開 + Chebyshev 展開法 

\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 \hyperlink{COPYRIGHT}{C\+O\+P\+Y\+R\+I\+G\+HT} in detail
\end{DoxyCopyright}
spml/et\+\_\+module モジュールは 2 次元水路領域での流体運動を スペクトル法により数値計算を実行するための Fortran90 関数を提供する. 周期的な境界条件を扱うための X 方向へのフーリエ変換と境界壁を扱うための Y 方向のチェビシェフ変換を用いる場合のスペクトル計算のためのさまざまな 関数を提供する.

内部で \hyperlink{namespaceae__module}{ae\+\_\+module}, \hyperlink{namespaceat__module}{at\+\_\+module} を用いている. 最下部ではフーリエ変換およびチェビシェフ変換のエンジンとして I\+S\+P\+A\+C\+K3/\+F\+X\+P\+A\+C\+Kを用いている.

\paragraph*{命名法}


\begin{DoxyItemize}
\item 関数名の先頭 (et\+\_\+, yx\+\_\+, x\+\_\+, y\+\_\+) は, 返す値の形を示している. et\+\_\+ \+:\+: 2次元スペクトルデータ yx\+\_\+ \+:\+: 2 次元格子点データ x\+\_\+ \+:\+: X 方向 1 次元格子点データ y\+\_\+ \+:\+: Y 方向 1 次元格子点データ
\item 関数名の間の文字列(\+Dx, Dy, Lapla, Lapla\+Inv, Jacobian)は, その関数の作用を表している.
\item 関数名の最後 (\+\_\+et\+\_\+et, \+\_\+et, \+\_\+yx, \+\_\+x, \+\_\+y) は, 入力変数のスペクトルデータ および格子点データであることを示している. \+\_\+et \+:\+: 2次元スペクトルデータ \+\_\+et\+\_\+et \+:\+: 2 つの2次元スペクトルデータ \+\_\+yx \+:\+: 2 次元格子点データ \+\_\+x \+:\+: X 方向 1 次元格子点データ \+\_\+y \+:\+: Y 方向 1 次元格子点データ
\end{DoxyItemize}

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


\begin{DoxyItemize}
\item yx \+: 2 次元格子点データ.
\begin{DoxyItemize}
\item 変数の種類と次元は real(\+D\+P), dimension(0\+:jm,0\+:im-\/1).
\item im, jm はそれぞれ X, Y 座標の格子点数であり, サブルーチン et\+\_\+initial にてあらかじめ設定しておく.
\item 第 1 次元が Y 座標の格子点位置番号, 第 2 次元が X 座標の 格子点位置番号である (X, Y の順ではない)ことに注意.
\end{DoxyItemize}
\item et \+: 2 次元スペクトルデータ.
\begin{DoxyItemize}
\item 変数の種類と次元は real(\+D\+P), dimension(-\/km\+:km,0\+:lm).
\item km, lm はそれぞれ X, Y 方向の最大波数であり, サブルーチン et\+\_\+initial にてあらかじめ設定しておく.
\item スペクトルデータの格納のされ方については...
\end{DoxyItemize}
\item x, y \+: X, Y 方向 1 次元格子点データ.
\begin{DoxyItemize}
\item 変数の種類と次元はそれぞれ real(\+D\+P), dimension(0\+:im-\/1) および real(\+D\+P), dimension(0\+:jm).
\end{DoxyItemize}
\item e, t \+: 1 次元スペクトルデータ.
\begin{DoxyItemize}
\item 変数の種類と次元は real(\+D\+P), dimension(-\/km\+:km) および real(\+D\+P), dimension(-\/lm\+:lm).
\end{DoxyItemize}
\item ax, ay \+: 1 次元格子点データの並んだ 2 次元配列.
\begin{DoxyItemize}
\item 変数の種類と次元は real(\+D\+P), dimension(\+:,0\+:im-\/1) および real(\+D\+P), dimension(\+:,0\+:jm).
\end{DoxyItemize}
\item ae, at \+: 1 次元スペクトルデータの並んだ 2 次元配列.
\begin{DoxyItemize}
\item 変数の種類と次元は real(\+D\+P), dimension(\+:,-\/km\+:km) および real(\+D\+P), dimension(\+:,0\+:lm).
\end{DoxyItemize}
\item et\+\_\+ で始まる関数が返す値はスペクトルデータに同じ.
\item yx\+\_\+ で始まる関数が返す値は 2 次元格子点データに同じ.
\item x\+\_\+, y\+\_\+ で始まる関数が返す値は 1 次元格子点データに同じ.
\item スペクトルデータに対する微分等の作用とは, 対応する格子点データに 微分などを作用させたデータをスペクトル変換したものことである. 
\end{DoxyItemize}

\subsection{Function/\+Subroutine Documentation}
\mbox{\Hypertarget{namespaceet__module_a35c80f8617923d012a1ff5a32bae82f3}\label{namespaceet__module_a35c80f8617923d012a1ff5a32bae82f3}} 
\index{et\+\_\+module@{et\+\_\+module}!avrx\+\_\+x@{avrx\+\_\+x}}
\index{avrx\+\_\+x@{avrx\+\_\+x}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{avrx\+\_\+x()}{avrx\_x()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::avrx\+\_\+x (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1)}]{x }\end{DoxyParamCaption})}



1 次元(\+X)格子点データの X 方向平均 


\begin{DoxyParams}{Parameters}
{\em x} & 1 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均値 
\end{DoxyReturn}


Definition at line 1258 of file et\+\_\+module.\+f90.



References intx\+\_\+x().


\begin{DoxyCode}
1258 
1259     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:im-1)}   :: x
1261     \textcolor{keywordtype}{real(DP)}                      :: avrx\_x
1262 
1263     avrx\_x = intx\_x(x)/sum(x\_x\_weight)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=307pt]{namespaceet__module_a35c80f8617923d012a1ff5a32bae82f3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a64a298ca04edcc608bd976c24e5eaff6}\label{namespaceet__module_a64a298ca04edcc608bd976c24e5eaff6}} 
\index{et\+\_\+module@{et\+\_\+module}!avry\+\_\+y@{avry\+\_\+y}}
\index{avry\+\_\+y@{avry\+\_\+y}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{avry\+\_\+y()}{avry\_y()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::avry\+\_\+y (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm)}]{y }\end{DoxyParamCaption})}



1 次元(\+Y)格子点データの Y 方向平均 


\begin{DoxyParams}{Parameters}
{\em y} & 1 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均値 
\end{DoxyReturn}


Definition at line 1270 of file et\+\_\+module.\+f90.



References inty\+\_\+y().


\begin{DoxyCode}
1270 
1271     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm)}   :: y
1273     \textcolor{keywordtype}{real(DP)}                    :: avry\_y
1274 
1275     avry\_y = inty\_y(y)/sum(y\_y\_weight)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=307pt]{namespaceet__module_a64a298ca04edcc608bd976c24e5eaff6_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a82df0305258a368bbd98eaa89e4da2e8}\label{namespaceet__module_a82df0305258a368bbd98eaa89e4da2e8}} 
\index{et\+\_\+module@{et\+\_\+module}!avryx\+\_\+yx@{avryx\+\_\+yx}}
\index{avryx\+\_\+yx@{avryx\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{avryx\+\_\+yx()}{avryx\_yx()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::avryx\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1)}]{yx }\end{DoxyParamCaption})}



2 次元格子点データの全領域平均 


\begin{DoxyParams}{Parameters}
{\em yx} & 2 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均値 
\end{DoxyReturn}


Definition at line 1222 of file et\+\_\+module.\+f90.



References intyx\+\_\+yx().


\begin{DoxyCode}
1222 
1223     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}   :: yx
1225     \textcolor{keywordtype}{real(DP)}                           :: avryx\_yx
1226 
1227     avryx\_yx = intyx\_yx(yx)/(sum(x\_x\_weight)*sum(y\_y\_weight))
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=327pt]{namespaceet__module_a82df0305258a368bbd98eaa89e4da2e8_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a351eaa71386933955bc0bd959f232ad4}\label{namespaceet__module_a351eaa71386933955bc0bd959f232ad4}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+boundaries@{et\+\_\+boundaries}}
\index{et\+\_\+boundaries@{et\+\_\+boundaries}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+boundaries()}{et\_boundaries()}}
{\footnotesize\ttfamily subroutine, public et\+\_\+module\+::et\+\_\+boundaries (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(inout)}]{et,  }\item[{real(dp), dimension(-\/km\+:km,2), intent(in), optional}]{values,  }\item[{character(len=2), intent(in), optional}]{cond }\end{DoxyParamCaption})}



ディリクレ, ノイマン条件の適用. チェビシェフ空間での計算 

実際には中で呼ばれている \hyperlink{namespaceat__module}{at\+\_\+module} のサブルーチン at\+\_\+\+Boundaries\+\_\+\+DD, at\+\_\+\+Boundaries\+\_\+\+DN, at\+\_\+\+Boundaries\+\_\+\+ND, at\+\_\+\+Boundaries\+\_\+\+NN を用いている. これらを直接呼ぶことも出来る.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em values} & 境界での 値/勾配 分布を水平スペクトル変換したものを与える. 省略時は値/勾配 0 となる.\\
\hline
\mbox{\tt in,out}  & {\em et} & 境界条件を適用するデータ. 修正された値を返す.\\
\hline
\mbox{\tt in}  & {\em cond} & 境界条件. 省略時は \textquotesingle{}RR\textquotesingle{}
\begin{DoxyItemize}
\item DD \+: 両端ディリクレ
\item DN,ND \+: ディリクレ/ノイマン条件
\item NN \+: 両端ノイマン 
\end{DoxyItemize}\\
\hline
\end{DoxyParams}


Definition at line 465 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
465 
467     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: values
468 
470     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)},\textcolor{keywordtype}{intent(inout)}      :: et
471 
476     \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}             :: cond
477 
478     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(cond)) \textcolor{keywordflow}{then}
479       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
480         \textcolor{keyword}{call }at\_boundaries\_dd(et,values)
481       \textcolor{keywordflow}{else}
482         \textcolor{keyword}{call }at\_boundaries\_dd(et)
483 \textcolor{keywordflow}{      endif}
484       \textcolor{keywordflow}{return}
485 \textcolor{keywordflow}{    endif}
486 
487     \textcolor{keywordflow}{select case}(cond)
488     \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'NN'})
489       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
490         \textcolor{keyword}{call }at\_boundaries\_nn(et,values)
491       \textcolor{keywordflow}{else}
492         \textcolor{keyword}{call }at\_boundaries\_nn(et)
493 \textcolor{keywordflow}{      endif}
494     \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'DN'})
495       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
496         \textcolor{keyword}{call }at\_boundaries\_dn(et,values)
497       \textcolor{keywordflow}{else}
498         \textcolor{keyword}{call }at\_boundaries\_dn(et)
499 \textcolor{keywordflow}{      endif}
500     \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'ND'})
501       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
502         \textcolor{keyword}{call }at\_boundaries\_nd(et,values)
503       \textcolor{keywordflow}{else}
504         \textcolor{keyword}{call }at\_boundaries\_nd(et)
505 \textcolor{keywordflow}{      endif}
506     \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'DD'})
507       \textcolor{keywordflow}{if} (\textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
508         \textcolor{keyword}{call }at\_boundaries\_dd(et,values)
509       \textcolor{keywordflow}{else}
510         \textcolor{keyword}{call }at\_boundaries\_dd(et)
511 \textcolor{keywordflow}{      endif}
512 \textcolor{keywordflow}{    case default}
513       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'et\_Boundaries'},\textcolor{stringliteral}{'B.C. not supported'})
514 \textcolor{keywordflow}{    end select}
515 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_a62c03dec2f266a5974287a34bb24eaa6}\label{namespaceet__module_a62c03dec2f266a5974287a34bb24eaa6}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+dx\+\_\+et@{et\+\_\+dx\+\_\+et}}
\index{et\+\_\+dx\+\_\+et@{et\+\_\+dx\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+dx\+\_\+et()}{et\_dx\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+dx\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et }\end{DoxyParamCaption})}



入力スペクトルデータに X 微分 $\partial_x$ を作用する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & 入力スペクトルデータ \\
\hline
\end{DoxyParams}


Definition at line 398 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
398 
399     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}    :: et
400     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}                :: et\_dx\_et
401 
402     \textcolor{keywordtype}{integer} k
403     \textcolor{keywordflow}{do} k=-km,km
404       et\_dx\_et(k,:)  =  (-2*pi*k/xl)*et(-k,:)
405 \textcolor{keywordflow}{    enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_adca9643d051be4c8207cbc909d128383}\label{namespaceet__module_adca9643d051be4c8207cbc909d128383}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+dy\+\_\+et@{et\+\_\+dy\+\_\+et}}
\index{et\+\_\+dy\+\_\+et@{et\+\_\+dy\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+dy\+\_\+et()}{et\_dy\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+dy\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et }\end{DoxyParamCaption})}



入力スペクトルデータに Y 微分 $\partial_y$ を作用する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & 入力スペクトルデータ \\
\hline
\end{DoxyParams}


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


\begin{DoxyCode}
412 
413     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}   :: et
414     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}               :: et\_dy\_et
415 
416     et\_dy\_et = at\_dy\_at(et)
417 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_abf4835df45033d73e40ec0a65d2ab6ae}\label{namespaceet__module_abf4835df45033d73e40ec0a65d2ab6ae}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+ey@{et\+\_\+ey}}
\index{et\+\_\+ey@{et\+\_\+ey}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+ey()}{et\_ey()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+ey (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:jm), intent(in)}]{ey }\end{DoxyParamCaption})}



Y 座標の格子データからスペクトルデータへ変換する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em ey} & 格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータ 
\end{DoxyReturn}


Definition at line 372 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
372 
373     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}, \textcolor{keywordtype}{intent(in)}  :: ey
375     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}              :: et\_ey
376     et\_ey = at\_ay(ey)
377 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_aee177d24ffd17185ac9ba745275bedd7}\label{namespaceet__module_aee177d24ffd17185ac9ba745275bedd7}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+initial@{et\+\_\+initial}}
\index{et\+\_\+initial@{et\+\_\+initial}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+initial()}{et\_initial()}}
{\footnotesize\ttfamily subroutine, public et\+\_\+module\+::et\+\_\+initial (\begin{DoxyParamCaption}\item[{integer, intent(in)}]{i,  }\item[{integer, intent(in)}]{j,  }\item[{integer, intent(in)}]{k,  }\item[{integer, intent(in)}]{l,  }\item[{real(dp), intent(in)}]{xmin,  }\item[{real(dp), intent(in)}]{xmax,  }\item[{real(dp), intent(in)}]{ymin,  }\item[{real(dp), intent(in)}]{ymax }\end{DoxyParamCaption})}



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

他の関数や変数を呼ぶ前に, 最初にこのサブルーチンを呼んで 初期設定をしなければならない.


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em i} & 格子点数(\+X)\\
\hline
\mbox{\tt in}  & {\em j} & 格子点数(\+Y)\\
\hline
\mbox{\tt in}  & {\em k} & 切断波数(\+X)\\
\hline
\mbox{\tt in}  & {\em l} & 切断波数(\+Y)\\
\hline
\mbox{\tt in}  & {\em xmin} & X 座標範囲\\
\hline
\mbox{\tt in}  & {\em xmax} & X 座標範囲\\
\hline
\mbox{\tt in}  & {\em ymin} & Y 座標範囲\\
\hline
\mbox{\tt in}  & {\em ymax} & Y 座標範囲 \\
\hline
\end{DoxyParams}


Definition at line 225 of file et\+\_\+module.\+f90.



References ae\+\_\+module\+::ae\+\_\+initial(), at\+\_\+module\+::at\+\_\+initial(), yx\+\_\+x, and yx\+\_\+y.


\begin{DoxyCode}
225 
226     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: i
228     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: j
230     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: k
232     \textcolor{keywordtype}{integer},\textcolor{keywordtype}{intent(in)} :: l
234     \textcolor{keywordtype}{real(DP)},\textcolor{keywordtype}{intent(in)} :: xmin, xmax
236     \textcolor{keywordtype}{real(DP)},\textcolor{keywordtype}{intent(in)} :: ymin, ymax
237 
238     im = i
239     jm = j
240     km = k
241     lm = l
242     xl = xmax-xmin
243     yl = ymax-ymin
244 
245     \textcolor{keyword}{call }ae\_initial(im,km,xmin,xmax)
246     \textcolor{keyword}{call }at\_initial(jm,lm,ymin,ymax)
247 
248     \textcolor{keyword}{allocate}(yx\_x(0:jm,0:im-1),yx\_y(0:jm,0:im-1))
249     yx\_x = spread(x\_x,1,jm+1)
250     yx\_y = spread(y\_y,2,im)
251 
252     \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'et\_initial'}, &
253       & \textcolor{stringliteral}{'et\_module (2019/09/30) is initialized'})
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=328pt]{namespaceet__module_aee177d24ffd17185ac9ba745275bedd7_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a5dc04ebb75fd30b73be2bb1fe16452ac}\label{namespaceet__module_a5dc04ebb75fd30b73be2bb1fe16452ac}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+jacobian\+\_\+et\+\_\+et@{et\+\_\+jacobian\+\_\+et\+\_\+et}}
\index{et\+\_\+jacobian\+\_\+et\+\_\+et@{et\+\_\+jacobian\+\_\+et\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+jacobian\+\_\+et\+\_\+et()}{et\_jacobian\_et\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+jacobian\+\_\+et\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et\+\_\+a,  }\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et\+\_\+b }\end{DoxyParamCaption})}



2 つのスペクトルデータからヤコビアン $ J(A,B) = (\partial_{x}A)(\partial_{y}B) -(\partial_{y}A)(\partial_{x}B)$ を計算する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et\+\_\+a} & 1つ目の入力スペクトルデータ\\
\hline
\mbox{\tt in}  & {\em et\+\_\+b} & 2つ目の入力スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
2 つのスペクトルデータのヤコビアン 
\end{DoxyReturn}


Definition at line 444 of file et\+\_\+module.\+f90.



References et\+\_\+dx\+\_\+et(), et\+\_\+dy\+\_\+et(), et\+\_\+yx(), and yx\+\_\+et().


\begin{DoxyCode}
444 
445     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}    :: et\_a
447     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}    :: et\_b
449     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}                :: et\_jacobian\_et\_et
450     et\_jacobian\_et\_et = et\_yx(                           &
451       &  yx\_et(et\_dx\_et(et\_a)) * yx\_et(et\_dy\_et(et\_b))   &
452       & - yx\_et(et\_dy\_et(et\_a)) * yx\_et(et\_dx\_et(et\_b)) )
453 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=338pt]{namespaceet__module_a5dc04ebb75fd30b73be2bb1fe16452ac_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a2ff889b990b44a0fa2cb1478e38e3ef4}\label{namespaceet__module_a2ff889b990b44a0fa2cb1478e38e3ef4}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+lapla\+\_\+et@{et\+\_\+lapla\+\_\+et}}
\index{et\+\_\+lapla\+\_\+et@{et\+\_\+lapla\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+lapla\+\_\+et()}{et\_lapla\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+lapla\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et }\end{DoxyParamCaption})}



入力スペクトルデータにラプラシアン $(\partial_{xx}+\partial_{yy})$ を作用する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & 入力スペクトルデータ \\
\hline
\end{DoxyParams}


Definition at line 425 of file et\+\_\+module.\+f90.



References et\+\_\+dy\+\_\+et().


\begin{DoxyCode}
425 
426     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}    :: et
427     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}                :: et\_lapla\_et
428 
429     \textcolor{keywordtype}{integer} k
430     \textcolor{keywordflow}{do} k=-km,km
431       et\_lapla\_et(k,:) = -(2*pi*k/xl)**2*et(k,:)
432 \textcolor{keywordflow}{    enddo}
433 
434     et\_lapla\_et = et\_lapla\_et + et\_dy\_et(et\_dy\_et(et))
435 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=336pt]{namespaceet__module_a2ff889b990b44a0fa2cb1478e38e3ef4_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a1d480e4fa88a46bb43d4c37ad67ee004}\label{namespaceet__module_a1d480e4fa88a46bb43d4c37ad67ee004}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+laplainv\+\_\+et@{et\+\_\+laplainv\+\_\+et}}
\index{et\+\_\+laplainv\+\_\+et@{et\+\_\+laplainv\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+laplainv\+\_\+et()}{et\_laplainv\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+laplainv\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et,  }\item[{real(dp), dimension(-\/km\+:km,2), intent(in), optional}]{values }\end{DoxyParamCaption})}



境界で一様な値を与える条件(ディリクレ条件)下で 入力スペクトルデータに逆ラプラシアン $(\partial_{xx}+\partial_{yy})^{-1}$ を作用する (Chebyshev-\/tau法) 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & スペクトルデータ\\
\hline
\mbox{\tt in}  & {\em values} & 境界値. 省略時は 0 が設定される.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータの逆ラプラシアン 
\end{DoxyReturn}


Definition at line 525 of file et\+\_\+module.\+f90.



References et\+\_\+lapla\+\_\+et().


\begin{DoxyCode}
525 
526     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)},\textcolor{keywordtype}{intent(in)}  :: et
528     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: values
530     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}             :: et\_laplainv\_et
531 
532     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
533     \textcolor{keywordtype}{integer},  \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
534     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}         :: et\_work
535     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}         :: ey\_work
536     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}              :: value1, value2   \textcolor{comment}{! 境界値}
537 
538     \textcolor{keywordtype}{logical} :: first = .true.
539     \textcolor{keywordtype}{integer} :: l
540     \textcolor{keywordtype}{save}    :: alu, kp, first
541 
542     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
543       value1=0.0d0
544       value2=0.0d0
545     \textcolor{keywordflow}{else}
546       value1 = values(:,1)
547       value2 = values(:,2)
548 \textcolor{keywordflow}{    endif}
549 
550     \textcolor{keywordflow}{if} ( first ) \textcolor{keywordflow}{then}
551       first = .false.
552 
553       \textcolor{keyword}{allocate}(alu(-km:km,0:lm,0:lm),kp(-km:km,0:lm))
554 
555       \textcolor{keywordflow}{do} l=0,lm
556         et\_work=0.0d0
557         et\_work(:,l) = 1.0d0
558         alu(:,:,l) = et\_lapla\_et(et\_work)
559         ey\_work = ay\_at(et\_work)
560         alu(:,lm-1,l) = ey\_work(:,0)
561         alu(:,lm,l)   = ey\_work(:,jm)
562 \textcolor{keywordflow}{      enddo}
563 
564       \textcolor{keyword}{call }ludecomp(alu,kp)
565 \textcolor{keywordflow}{    endif}
566 
567     et\_work = et
568     et\_work(:,lm-1) = value1
569     et\_work(:,lm)   = value2
570     et\_laplainv\_et = lusolve(alu,kp,et\_work)
571 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceet__module_a1d480e4fa88a46bb43d4c37ad67ee004_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_ad57bcfe7134b97910185c0e6271ffede}\label{namespaceet__module_ad57bcfe7134b97910185c0e6271ffede}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+vor2strm2\+\_\+et@{et\+\_\+vor2strm2\+\_\+et}}
\index{et\+\_\+vor2strm2\+\_\+et@{et\+\_\+vor2strm2\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+vor2strm2\+\_\+et()}{et\_vor2strm2\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+vor2strm2\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et,  }\item[{real(dp), dimension(-\/km\+:km,2), intent(in), optional}]{ea,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Chebyshev-\/tau 法により，渦度から流線を求める． 境界値として X方向の スペクトルを与えることが可能 

渦度 $\zeta$ を与えて流線 $\psi$ を求める. \begin{align*} \nabla^2\psi & = \zeta, \\ \psi & = \mbox{const. at boundaries.} \end{align*} 粘着条件 \[ \partial_{y} \psi = 0 \, \mbox{at boundaries} \] 応力なし条件 \[ (\partial_{y})^{2} \psi = 0 \, \mbox{at boundaries} \]


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & 入力渦度分布\\
\hline
\mbox{\tt in}  & {\em ea} & 流線境界値. 省略時は 0. 1\+:Top,2\+:Btm\\
\hline
\mbox{\tt in}  & {\em cond} & 境界条件スイッチ. 省略時は \textquotesingle{}RR\textquotesingle{}
\begin{DoxyItemize}
\item RR \+: 両端粘着条件
\item RF \+: 上端粘着下端応力なし条件
\item FR \+: 上端応力なし下端粘着条件
\item FF \+: 両端応力なし条件
\end{DoxyItemize}\\
\hline
\mbox{\tt in}  & {\em new} & true だと境界条件計算用行列を強制的に新たに作る. default は false.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
出力流線分布 
\end{DoxyReturn}


Definition at line 870 of file et\+\_\+module.\+f90.



References et\+\_\+dy\+\_\+et(), and et\+\_\+lapla\+\_\+et().


\begin{DoxyCode}
870 
871     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)},\textcolor{keywordtype}{intent(in)}  :: et
873     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: ea
879     \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
882     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
884     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}         :: et\_vor2strm2\_et
885 
886     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
887     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}     :: kp
888 
889     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}         :: et\_work
890     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}         :: ey\_work
891     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}              :: e\_top
892     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}              :: e\_btm
893     \textcolor{keywordtype}{logical}                                  :: rigid1 = .true.
894     \textcolor{keywordtype}{logical}                                  :: rigid2 = .true.
895 
896     \textcolor{keywordtype}{logical} :: first = .true.
897     \textcolor{keywordtype}{logical} :: new\_matrix = .false.
898     \textcolor{keywordtype}{integer} :: l
899     \textcolor{keywordtype}{save}    :: alu, kp, first
900 
901     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(ea)) \textcolor{keywordflow}{then}
902       e\_top = 0.0d0
903       e\_btm = 0.0d0
904     \textcolor{keywordflow}{else}
905       e\_top = ea(:,1)
906       e\_btm = ea(:,2)
907 \textcolor{keywordflow}{    endif}
908 
909     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(cond) ) \textcolor{keywordflow}{then}
910       \textcolor{keywordflow}{select case} (cond)
911       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
912         rigid1 = .true.
913         rigid2 = .true.
914       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
915         rigid1 = .true.
916         rigid2 = .false.
917       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
918         rigid1 = .false.
919         rigid2 = .true.
920       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
921         rigid1 = .false.
922         rigid2 = .false.
923 \textcolor{keywordflow}{      case default}
924         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'et\_Vor2Strm\_et'},\textcolor{stringliteral}{'B.C. not supported'})
925 \textcolor{keywordflow}{      end select}
926 \textcolor{keywordflow}{    endif}
927 
928     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
929       new\_matrix=.false.
930     \textcolor{keywordflow}{else}
931       new\_matrix=new
932 \textcolor{keywordflow}{    endif}
933 
934     \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
935       first = .false.
936 
937       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
938       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
939       \textcolor{keyword}{allocate}(alu(-km:km,0:lm,0:lm),kp(-km:km,0:lm))
940 
941       alu = 0.0d0
942       \textcolor{keywordflow}{do} l=0,lm-2
943         et\_work(:,:)= 0.0d0
944         et\_work(:,l)= 1.0d0
945 
946         alu(:,:,l) = et\_lapla\_et(et\_work)
947 \textcolor{keywordflow}{      enddo}
948 
949       \textcolor{keywordflow}{do} l=0,lm
950         et\_work(:,:)= 0.0d0
951         et\_work(:,l)= 1.0d0
952 
953         \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
954         ey\_work = ay\_at(et\_work)
955         alu(:,lm,l) = ey\_work(:,0)
956         alu(:,lm-1,l) = ey\_work(:,jm)
957 
958         \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}                   \textcolor{comment}{! 力学的条件粘着条件(Top)}
959           ey\_work=ay\_at(et\_dy\_et(et\_work))
960           alu(:,lm-2,l) = ey\_work(:,0)
961         \textcolor{keywordflow}{else}                                 \textcolor{comment}{! 力学的条件すべり条件(Top)}
962           ey\_work=ay\_at(et\_dy\_et(et\_dy\_et(et\_work)))
963           alu(:,lm-2,l) = ey\_work(:,0)
964 \textcolor{keywordflow}{        endif}
965         \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}                   \textcolor{comment}{! 力学的条件粘着条件(bottom)}
966           ey\_work=ay\_at(et\_dy\_et(et\_work))
967           alu(:,lm-3,l) = ey\_work(:,jm)
968         \textcolor{keywordflow}{else}                                 \textcolor{comment}{! 力学的条件すべり条件(bottom)}
969           ey\_work=ay\_at(et\_dy\_et(et\_dy\_et(et\_work)))
970           alu(:,lm-3,l) = ey\_work(:,jm)
971 \textcolor{keywordflow}{        endif}
972 \textcolor{keywordflow}{      enddo}
973 
974       \textcolor{keyword}{call }ludecomp(alu,kp)
975 
976       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'et\_Vor2Strm\_et'},&
977         \textcolor{stringliteral}{'Matrix for stream func. calc. produced'})
978 \textcolor{keywordflow}{    endif}
979 
980     \textcolor{comment}{! 内部領域計算}
981     et\_work = et
982 
983     et\_work(:,lm-2) = 0.0d0           \textcolor{comment}{! 力学的条件}
984     et\_work(:,lm-3) = 0.0d0           \textcolor{comment}{! 力学的条件}
985 
986     et\_work(:,lm-1) = e\_btm           \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
987     et\_work(:,lm)   = e\_top           \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
988 
989     et\_vor2strm2\_et = lusolve(alu,kp,et\_work)
990 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceet__module_ad57bcfe7134b97910185c0e6271ffede_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_aa1ce1666e8d938e69a8f224fdfea6bf3}\label{namespaceet__module_aa1ce1666e8d938e69a8f224fdfea6bf3}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+vor2strm3\+\_\+et@{et\+\_\+vor2strm3\+\_\+et}}
\index{et\+\_\+vor2strm3\+\_\+et@{et\+\_\+vor2strm3\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+vor2strm3\+\_\+et()}{et\_vor2strm3\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+vor2strm3\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et,  }\item[{real(dp), dimension(-\/km\+:km,4), intent(in), optional}]{ea,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Chebyshev-\/tau 法により，渦度から流線を求める． 境界での値と勾配のスペクトルを与えることが可能. 

渦度 $\zeta$ を与えて流線 $\psi$ を求める. \begin{align*} \nabla^2\psi & = \zeta, \\ \psi & = \mbox{const. at boundaries.} \end{align*} 粘着条件 \[ \partial_{y} \psi = 0 \, \mbox{at boundaries} \] 応力なし条件 \[ (\partial_{y})^{2} \psi = 0 \, \mbox{at boundaries} \]


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & 入力渦度分布\\
\hline
\mbox{\tt in}  & {\em ea} & 流線/微分境界値. 省略時は 0.
\begin{DoxyEnumerate}
\item Top 値,
\item Bottom 値
\item Top 微分(勾配)
\item Bottom 微分(勾配)
\end{DoxyEnumerate}\\
\hline
\mbox{\tt in}  & {\em cond} & 境界条件スイッチ. 省略時は \textquotesingle{}RR\textquotesingle{}
\begin{DoxyItemize}
\item RR \+: 両端粘着条件
\item RF \+: 上端粘着下端応力なし条件
\item FR \+: 上端応力なし下端粘着条件
\item FF \+: 両端応力なし条件
\end{DoxyItemize}\\
\hline
\mbox{\tt in}  & {\em new} & true だと境界条件計算用行列を強制的に新たに作る. default は false.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
出力流線分布 
\end{DoxyReturn}


Definition at line 1008 of file et\+\_\+module.\+f90.



References et\+\_\+dy\+\_\+et(), and et\+\_\+lapla\+\_\+et().


\begin{DoxyCode}
1008 
1009     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)},\textcolor{keywordtype}{intent(in)}  :: et
1015     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,4)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: ea
1021     \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
1024     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
1026     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}             :: et\_vor2strm3\_et
1027 
1028     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable} :: alu
1029     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}    :: kp
1030 
1031     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}        :: et\_work
1032     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}        :: ey\_work
1033     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}             :: e\_topvalue
1034     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}             :: e\_btmvalue
1035     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}             :: e\_topdiff
1036     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km)}             :: e\_btmdiff
1037     \textcolor{keywordtype}{logical}                                 :: rigid1 = .true.
1038     \textcolor{keywordtype}{logical}                                 :: rigid2 = .true.
1039     \textcolor{keywordtype}{logical} :: first = .true.
1040     \textcolor{keywordtype}{logical} :: new\_matrix = .false.
1041     \textcolor{keywordtype}{integer} :: l
1042     \textcolor{keywordtype}{save}    :: alu, kp, first
1043 
1044     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(ea)) \textcolor{keywordflow}{then}
1045       e\_topvalue = 0.0d0
1046       e\_btmvalue = 0.0d0
1047       e\_topdiff  = 0.0d0
1048       e\_btmdiff  = 0.0d0
1049     \textcolor{keywordflow}{else}
1050       e\_topvalue = ea(:,1)
1051       e\_btmvalue = ea(:,2)
1052       e\_topdiff  = ea(:,3)
1053       e\_btmdiff  = ea(:,4)
1054 \textcolor{keywordflow}{    endif}
1055 
1056     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(cond) ) \textcolor{keywordflow}{then}
1057       \textcolor{keywordflow}{select case} (cond)
1058       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
1059         rigid1 = .true.
1060         rigid2 = .true.
1061       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
1062         rigid1 = .true.
1063         rigid2 = .false.
1064       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
1065         rigid1 = .false.
1066         rigid2 = .true.
1067       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
1068         rigid1 = .false.
1069         rigid2 = .false.
1070 \textcolor{keywordflow}{      case default}
1071         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'et\_Vor2Strm\_et'},\textcolor{stringliteral}{'B.C. not supported'})
1072 \textcolor{keywordflow}{      end select}
1073 \textcolor{keywordflow}{    endif}
1074 
1075     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
1076       new\_matrix=.false.
1077     \textcolor{keywordflow}{else}
1078       new\_matrix=new
1079 \textcolor{keywordflow}{    endif}
1080 
1081     \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
1082       first = .false.
1083 
1084       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
1085       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
1086       \textcolor{keyword}{allocate}(alu(-km:km,0:lm,0:lm),kp(-km:km,0:lm))
1087 
1088       alu = 0.0d0
1089       \textcolor{keywordflow}{do} l=0,lm-2
1090         et\_work(:,:)= 0.0d0
1091         et\_work(:,l)= 1.0d0
1092 
1093         alu(:,:,l) = et\_lapla\_et(et\_work)
1094 \textcolor{keywordflow}{      enddo}
1095 
1096       \textcolor{keywordflow}{do} l=0,lm
1097         et\_work(:,:)= 0.0d0
1098         et\_work(:,l)= 1.0d0
1099 
1100         \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
1101         ey\_work = ay\_at(et\_work)
1102         alu(:,lm,l) = ey\_work(:,0)
1103         alu(:,lm-1,l) = ey\_work(:,jm)
1104 
1105         \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}                   \textcolor{comment}{! 力学的条件粘着条件(Top)}
1106           ey\_work=ay\_at(et\_dy\_et(et\_work))
1107           alu(:,lm-2,l) = ey\_work(:,0)
1108         \textcolor{keywordflow}{else}                                 \textcolor{comment}{! 力学的条件すべり条件(Top)}
1109           ey\_work=ay\_at(et\_dy\_et(et\_dy\_et(et\_work)))
1110           alu(:,lm-2,l) = ey\_work(:,0)
1111 \textcolor{keywordflow}{        endif}
1112         \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}                   \textcolor{comment}{! 力学的条件粘着条件(bottom)}
1113           ey\_work=ay\_at(et\_dy\_et(et\_work))
1114           alu(:,lm-3,l) = ey\_work(:,jm)
1115         \textcolor{keywordflow}{else}                                 \textcolor{comment}{! 力学的条件すべり条件(bottom)}
1116           ey\_work=ay\_at(et\_dy\_et(et\_dy\_et(et\_work)))
1117           alu(:,lm-3,l) = ey\_work(:,jm)
1118 \textcolor{keywordflow}{        endif}
1119 \textcolor{keywordflow}{      enddo}
1120 
1121       \textcolor{keyword}{call }ludecomp(alu,kp)
1122 
1123       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'et\_Vor2Strm\_et'},&
1124         \textcolor{stringliteral}{'Matrix for stream func. calc. produced'})
1125 \textcolor{keywordflow}{    endif}
1126 
1127     \textcolor{comment}{! 内部領域計算}
1128     et\_work = et
1129 
1130     et\_work(:,lm-2) = e\_topdiff         \textcolor{comment}{! 力学的条件}
1131     et\_work(:,lm-3) = e\_btmdiff         \textcolor{comment}{! 力学的条件}
1132 
1133     et\_work(:,lm-1) = e\_btmvalue        \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
1134     et\_work(:,lm)   = e\_topvalue        \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
1135 
1136     et\_vor2strm3\_et = lusolve(alu,kp,et\_work)
1137 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceet__module_aa1ce1666e8d938e69a8f224fdfea6bf3_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_ac463c549cfdb0a1116d4fbef431190eb}\label{namespaceet__module_ac463c549cfdb0a1116d4fbef431190eb}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+vor2strm\+\_\+et@{et\+\_\+vor2strm\+\_\+et}}
\index{et\+\_\+vor2strm\+\_\+et@{et\+\_\+vor2strm\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+vor2strm\+\_\+et()}{et\_vor2strm\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+vor2strm\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et,  }\item[{real(dp), dimension(2), intent(in), optional}]{values,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Chebyshev-\/tau 法により，渦度から流線を求める(境界値は定数) 

渦度 $\zeta$ を与えて流線 $\psi$ を求める. \begin{align*} \nabla^2\psi & = \zeta, \\ \psi & = \mbox{const. at boundaries.} \end{align*} 粘着条件 \[ \partial_{y} \psi = 0 \, \mbox{at boundaries} \] 応力なし条件 \[ (\partial_{y})^{2} \psi = 0 \, \mbox{at boundaries} \]


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & 入力渦度分布\\
\hline
\mbox{\tt in}  & {\em values} & 流線境界値. 境界で一定なので波数 0 成分のみ. 省略時は 0.\\
\hline
\mbox{\tt in}  & {\em cond} & 境界条件スイッチ. 省略時は \textquotesingle{}RR\textquotesingle{}
\begin{DoxyItemize}
\item RR \+: 両端粘着条件
\item RF \+: 上端粘着下端応力なし条件
\item FR \+: 上端応力なし下端粘着条件
\item FF \+: 両端応力なし条件
\end{DoxyItemize}\\
\hline
\mbox{\tt in}  & {\em new} & true だと境界条件計算用行列を強制的に新たに作る. default は false.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
出力流線分布 
\end{DoxyReturn}


Definition at line 726 of file et\+\_\+module.\+f90.



References et\+\_\+dy\+\_\+et(), and et\+\_\+lapla\+\_\+et().


\begin{DoxyCode}
726 
727     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)},\textcolor{keywordtype}{intent(in)}  :: et
729     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: values
735     \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
738     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
740     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}             :: et\_vor2strm\_et
741 
742     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
743     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}     :: kp
744 
745     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}         :: et\_work
746     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}         :: ey\_work
747     \textcolor{keywordtype}{real(DP)}                                 :: value1
748     \textcolor{keywordtype}{real(DP)}                                 :: value2
749     \textcolor{keywordtype}{logical}                                  :: rigid1 = .true.
750     \textcolor{keywordtype}{logical}                                  :: rigid2 = .true.
751 
752 
753     \textcolor{keywordtype}{logical} :: first = .true.
754     \textcolor{keywordtype}{logical} :: new\_matrix = .false.
755     \textcolor{keywordtype}{integer} :: l
756     \textcolor{keywordtype}{save}    :: alu, kp, first
757 
758     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
759       value1=0.0d0
760       value2=0.0d0
761     \textcolor{keywordflow}{else}
762       value1 = values(1)
763       value2 = values(2)
764 \textcolor{keywordflow}{    endif}
765 
766     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(cond) ) \textcolor{keywordflow}{then}
767       \textcolor{keywordflow}{select case} (cond)
768       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
769         rigid1 = .true.
770         rigid2 = .true.
771       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
772         rigid1 = .true.
773         rigid2 = .false.
774       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
775         rigid1 = .false.
776         rigid2 = .true.
777       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
778         rigid1 = .false.
779         rigid2 = .false.
780 \textcolor{keywordflow}{      case default}
781         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'et\_Vor2Strm\_et'},\textcolor{stringliteral}{'B.C. not supported'})
782 \textcolor{keywordflow}{      end select}
783 \textcolor{keywordflow}{    endif}
784 
785     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
786       new\_matrix=.false.
787     \textcolor{keywordflow}{else}
788       new\_matrix=new
789 \textcolor{keywordflow}{    endif}
790 
791     \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
792       first = .false.
793 
794       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
795       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
796       \textcolor{keyword}{allocate}(alu(-km:km,0:lm,0:lm),kp(-km:km,0:lm))
797 
798       alu = 0.0d0
799       \textcolor{keywordflow}{do} l=0,lm-2
800         et\_work(:,:)= 0.0d0
801         et\_work(:,l)= 1.0d0
802 
803         alu(:,:,l) = et\_lapla\_et(et\_work)
804 \textcolor{keywordflow}{      enddo}
805 
806       \textcolor{keywordflow}{do} l=0,lm
807         et\_work(:,:)= 0.0d0
808         et\_work(:,l)= 1.0d0
809 
810         \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
811         ey\_work = ay\_at(et\_work)
812         alu(:,lm,l) = ey\_work(:,0)
813         alu(:,lm-1,l) = ey\_work(:,jm)
814 
815         \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}                   \textcolor{comment}{! 力学的条件粘着条件(Top)}
816           ey\_work=ay\_at(et\_dy\_et(et\_work))
817           alu(:,lm-2,l) = ey\_work(:,0)
818         \textcolor{keywordflow}{else}                                 \textcolor{comment}{! 力学的条件すべり条件(Top)}
819           ey\_work=ay\_at(et\_dy\_et(et\_dy\_et(et\_work)))
820           alu(:,lm-2,l) = ey\_work(:,0)
821 \textcolor{keywordflow}{        endif}
822         \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}                   \textcolor{comment}{! 力学的条件粘着条件(bottom)}
823           ey\_work=ay\_at(et\_dy\_et(et\_work))
824           alu(:,lm-3,l) = ey\_work(:,jm)
825         \textcolor{keywordflow}{else}                                 \textcolor{comment}{! 力学的条件すべり条件(bottom)}
826           ey\_work=ay\_at(et\_dy\_et(et\_dy\_et(et\_work)))
827           alu(:,lm-3,l) = ey\_work(:,jm)
828 \textcolor{keywordflow}{        endif}
829 \textcolor{keywordflow}{      enddo}
830 
831       \textcolor{keyword}{call }ludecomp(alu,kp)
832 
833       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'et\_Vor2Strm\_et'},&
834         \textcolor{stringliteral}{'Matrix for stream func. calc. produced'})
835 \textcolor{keywordflow}{    endif}
836 
837     \textcolor{comment}{! 内部領域計算}
838     et\_work = et
839 
840     et\_work(:,lm-2) = 0.0d0           \textcolor{comment}{! 力学的条件}
841     et\_work(:,lm-3) = 0.0d0           \textcolor{comment}{! 力学的条件}
842 
843     et\_work(:,lm-1) = 0.0d0        \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
844     \textcolor{comment}{!!$      et\_work(0,lm-1) = value2*2     ! 運動学的条件. 波数 0 は重み 1/2}
845     et\_work(0,lm-1) = value2       \textcolor{comment}{! 運動学的条件. 波数 0 は重み 1/2}
846 
847     et\_work(:,lm)   = 0.0d0        \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
848     \textcolor{comment}{!!$      et\_work(0,lm)   = value1*2     ! 運動学的条件. 波数 0 は重み 1/2}
849     et\_work(0,lm)   = value1     \textcolor{comment}{! 運動学的条件. 波数 0 は重み 1/2}
850 
851     et\_vor2strm\_et = lusolve(alu,kp,et\_work)
852 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceet__module_ac463c549cfdb0a1116d4fbef431190eb_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a4d9f1ef009b70bd529dcf5e4fb8fe3ab}\label{namespaceet__module_a4d9f1ef009b70bd529dcf5e4fb8fe3ab}} 
\index{et\+\_\+module@{et\+\_\+module}!et\+\_\+yx@{et\+\_\+yx}}
\index{et\+\_\+yx@{et\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{et\+\_\+yx()}{et\_yx()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:lm), public et\+\_\+module\+::et\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1), intent(in)}]{yx }\end{DoxyParamCaption})}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em yx} & 格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータ 
\end{DoxyReturn}


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


\begin{DoxyCode}
290 
291     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}, \textcolor{keywordtype}{intent(in)}  :: yx
293     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}              :: et\_yx
294 
295 
296     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}              :: ey
297     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,-km:km)}              :: ye
298 
299     \textcolor{keywordtype}{integer} :: j, k
300 
301     \textcolor{comment}{! et\_yx = at\_ay(transpose(ae\_ax(yx)))}
302     \textcolor{comment}{!}
303     \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書き直す}
304     \textcolor{comment}{!}
305     ye = ae\_ax(yx)
306     \textcolor{keywordflow}{do} j=0,jm
307       \textcolor{keywordflow}{do} k=-km,km
308         ey(k,j) = ye(j,k)
309 \textcolor{keywordflow}{      enddo}
310 \textcolor{keywordflow}{    enddo}
311     et\_yx = at\_ay(ey)
312 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_ad3da5bcbba5ba8e2578c717c3577fffb}\label{namespaceet__module_ad3da5bcbba5ba8e2578c717c3577fffb}} 
\index{et\+\_\+module@{et\+\_\+module}!ey\+\_\+et@{ey\+\_\+et}}
\index{ey\+\_\+et@{ey\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{ey\+\_\+et()}{ey\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:jm), public et\+\_\+module\+::ey\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et }\end{DoxyParamCaption})}



Y 座標スペクトルデータから格子データへ変換する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データ 
\end{DoxyReturn}


Definition at line 384 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
384 
385     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}  :: et
387     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}              :: ey\_et
388 
389     ey\_et = ay\_at(et)
390 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_aefb6438605ac4d104fb956c456a37501}\label{namespaceet__module_aefb6438605ac4d104fb956c456a37501}} 
\index{et\+\_\+module@{et\+\_\+module}!ey\+\_\+vor2strm\+\_\+ey@{ey\+\_\+vor2strm\+\_\+ey}}
\index{ey\+\_\+vor2strm\+\_\+ey@{ey\+\_\+vor2strm\+\_\+ey}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{ey\+\_\+vor2strm\+\_\+ey()}{ey\_vor2strm\_ey()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:jm), public et\+\_\+module\+::ey\+\_\+vor2strm\+\_\+ey (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:jm), intent(in)}]{ey,  }\item[{real(dp), dimension(2), intent(in), optional}]{values,  }\item[{character(len=2), intent(in), optional}]{cond,  }\item[{logical, intent(in), optional}]{new }\end{DoxyParamCaption})}



Y 方向格子点空間での Chebyshev-\/\+Collocation 法により， 渦度から流線を求める. 

渦度 $\zeta$ を与えて流線 $\psi$ を求める. \begin{align*} \nabla^2 \psi & = \zeta, \\ \psi & = \mbox{const. at boundaries.} \end{align*} 粘着条件 \[ \partial_{y} \psi = 0 \, \mbox{at boundaries} \] 応力なし条件 \[ (\partial_{y})^{2} \psi = 0\, \mbox{at boundaries} \]


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em ey} & 入力渦度分布\\
\hline
\mbox{\tt in}  & {\em values} & 流線境界値. 境界で一定なので波数 0 成分のみ. 省略時は 0.\\
\hline
\mbox{\tt in}  & {\em cond} & 境界条件スイッチ. 省略時は \textquotesingle{}RR\textquotesingle{}
\begin{DoxyItemize}
\item RR \+: 両端粘着条件
\item RF \+: 上端粘着下端応力なし条件
\item FR \+: 上端応力なし下端粘着条件
\item FF \+: 両端応力なし条件
\end{DoxyItemize}\\
\hline
\mbox{\tt in}  & {\em new} & true だと境界条件計算用行列を強制的に新たに作る. default は false.\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
出力流線分布 
\end{DoxyReturn}


Definition at line 591 of file et\+\_\+module.\+f90.



References et\+\_\+dy\+\_\+et(), et\+\_\+ey(), et\+\_\+lapla\+\_\+et(), and ey\+\_\+et().


\begin{DoxyCode}
591 
592     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)},\textcolor{keywordtype}{intent(in)}  :: ey
594     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional} :: values
600     \textcolor{keywordtype}{character(len=2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: cond
602     \textcolor{keywordtype}{logical}, \textcolor{keywordtype}{intent(IN)}, \textcolor{keywordtype}{optional} :: new
604     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}             :: ey\_vor2strm\_ey
605 
606     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:,:)}, \textcolor{keywordtype}{allocatable}  :: alu
607     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}     :: kp
608 
609     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}         :: ey\_work
610     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}         :: ey\_i
611     \textcolor{keywordtype}{real(DP)}                                 :: value1, value2   \textcolor{comment}{! 境界値}
612     \textcolor{keywordtype}{logical}                                  :: rigid1 = .true.
613     \textcolor{keywordtype}{logical}                                  :: rigid2 = .true.
614     \textcolor{keywordtype}{logical} :: first = .true.
615     \textcolor{keywordtype}{logical} :: new\_matrix = .false.
616     \textcolor{keywordtype}{integer} :: j
617     \textcolor{keywordtype}{save}    :: alu, kp, first
618 
619     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}
620       value1=0.0d0
621       value2=0.0d0
622     \textcolor{keywordflow}{else}
623       value1 = values(1)
624       value2 = values(2)
625 \textcolor{keywordflow}{    endif}
626 
627     \textcolor{keywordflow}{if} ( \textcolor{keyword}{present}(cond) ) \textcolor{keywordflow}{then}
628       \textcolor{keywordflow}{select case} (cond)
629       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RR'})
630         rigid1 = .true.
631         rigid2 = .true.
632       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'RF'})
633         rigid1 = .true.
634         rigid2 = .false.
635       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FR'})
636         rigid1 = .false.
637         rigid2 = .true.
638       \textcolor{keywordflow}{case} (\textcolor{stringliteral}{'FF'})
639         rigid1 = .false.
640         rigid2 = .false.
641 \textcolor{keywordflow}{      case default}
642         \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'ey\_Vor2Strm\_ey'},\textcolor{stringliteral}{'B.C. not supported'})
643 \textcolor{keywordflow}{      end select}
644     \textcolor{keywordflow}{else}
645       rigid1 = .true.
646       rigid2 = .true.
647 \textcolor{keywordflow}{    endif}
648 
649     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(new)) \textcolor{keywordflow}{then}
650       new\_matrix=.false.
651     \textcolor{keywordflow}{else}
652       new\_matrix=new
653 \textcolor{keywordflow}{    endif}
654 
655     \textcolor{keywordflow}{if} ( first .OR. new\_matrix ) \textcolor{keywordflow}{then}
656       first = .false.
657 
658       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(alu) ) \textcolor{keyword}{deallocate}(alu)
659       \textcolor{keywordflow}{if} ( \textcolor{keyword}{allocated}(kp) ) \textcolor{keyword}{deallocate}(kp)
660       \textcolor{keyword}{allocate}(alu(-km:km,0:jm,0:jm),kp(-km:km,0:jm))
661 
662       \textcolor{keywordflow}{do} j=0,jm
663         ey\_i = 0.0d0
664         ey\_i(:,j) = 1.0d0
665         alu(:,:,j) = ey\_et(et\_lapla\_et(et\_ey(ey\_i)))
666 \textcolor{keywordflow}{      enddo}
667 
668       \textcolor{keywordflow}{do} j=0,jm
669         ey\_i = 0.0d0
670         ey\_i(:,j) = 1.0d0
671 
672         \textcolor{comment}{! 運動学的条件. 流線は境界で一定}
673         alu(:,0,j)   = ey\_i(:,0)
674         alu(:,jm,j)  = ey\_i(:,jm)
675 
676         \textcolor{keywordflow}{if} ( rigid1 ) \textcolor{keywordflow}{then}                               \textcolor{comment}{! 粘着条件(top)}
677           ey\_work=ey\_et(et\_dy\_et(et\_ey(ey\_i)))
678         \textcolor{keywordflow}{else}
679           ey\_work=ey\_et(et\_dy\_et(et\_dy\_et(et\_ey(ey\_i)))) \textcolor{comment}{! すべり条件(top)}
680 \textcolor{keywordflow}{        endif}
681 
682         alu(:,1,j) = ey\_work(:,0)
683 
684         \textcolor{keywordflow}{if} ( rigid2 ) \textcolor{keywordflow}{then}                               \textcolor{comment}{! 粘着条件(bottom)}
685           ey\_work=ey\_et(et\_dy\_et(et\_ey(ey\_i)))
686         \textcolor{keywordflow}{else}
687           ey\_work=ey\_et(et\_dy\_et(et\_dy\_et(et\_ey(ey\_i)))) \textcolor{comment}{! すべり条件(bottom)}
688 \textcolor{keywordflow}{        endif}
689         alu(:,jm-1,j) = ey\_work(:,jm)
690 \textcolor{keywordflow}{      enddo}
691 
692       \textcolor{keyword}{call }ludecomp(alu,kp)
693 
694       \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'M'},\textcolor{stringliteral}{'ey\_Vor2Strm\_ey'},&
695         \textcolor{stringliteral}{'Matrix for stream func. calc. produced'})
696 \textcolor{keywordflow}{    endif}
697 
698     ey\_work = ey
699     ey\_work(:,1)    = 0.0d0               \textcolor{comment}{! 力学的条件}
700     ey\_work(:,jm-1) = 0.0d0               \textcolor{comment}{! 力学的条件}
701 
702     ey\_work(:,0) = 0.0d0                  \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
703     ey\_work(0,0) = value1*2.0d0           \textcolor{comment}{! 運動学的条件. 波数 0 は重み 1/2}
704 
705     ey\_work(:,jm)   = 0.0d0               \textcolor{comment}{! 運動学的条件. 波数 0 以外は 0}
706     ey\_work(0,jm)   = value2*2.0d0        \textcolor{comment}{! 運動学的条件. 波数 0 は重み 1/2}
707 
708     ey\_vor2strm\_ey = lusolve(alu,kp,ey\_work)
709 
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceet__module_aefb6438605ac4d104fb956c456a37501_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_adb82dd622a4a262a1818983c7ce1ec1d}\label{namespaceet__module_adb82dd622a4a262a1818983c7ce1ec1d}} 
\index{et\+\_\+module@{et\+\_\+module}!ey\+\_\+yx@{ey\+\_\+yx}}
\index{ey\+\_\+yx@{ey\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{ey\+\_\+yx()}{ey\_yx()}}
{\footnotesize\ttfamily real(dp) function, dimension(-\/km\+:km,0\+:jm), public et\+\_\+module\+::ey\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1), intent(in)}]{yx }\end{DoxyParamCaption})}


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em yx} & 格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
スペクトルデータ 
\end{DoxyReturn}


Definition at line 346 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
346 
347     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}, \textcolor{keywordtype}{intent(in)}  :: yx
349     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}              :: ey\_yx
350 
351     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,-km:km)}              :: ye
352     \textcolor{keywordtype}{integer} :: j, k
353 
354     \textcolor{comment}{! ey\_yx = transpose(ae\_ax(yx))}
355     \textcolor{comment}{!}
356     \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書}
357     \textcolor{comment}{! き直す}
358     \textcolor{comment}{!}
359     ye = ae\_ax(yx)
360     \textcolor{keywordflow}{do} j=0,jm
361       \textcolor{keywordflow}{do} k=-km,km
362         ey\_yx(k,j) = ye(j,k)
363 \textcolor{keywordflow}{      enddo}
364 \textcolor{keywordflow}{    enddo}
365 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_a49cd599107e897907661147d5d9239a2}\label{namespaceet__module_a49cd599107e897907661147d5d9239a2}} 
\index{et\+\_\+module@{et\+\_\+module}!interpolate\+\_\+et@{interpolate\+\_\+et}}
\index{interpolate\+\_\+et@{interpolate\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{interpolate\+\_\+et()}{interpolate\_et()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::interpolate\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et\+\_\+data,  }\item[{real(dp), intent(in)}]{xval,  }\item[{real(dp), intent(in)}]{yval }\end{DoxyParamCaption})}



補間関数 


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


Definition at line 1282 of file et\+\_\+module.\+f90.



References at\+\_\+module\+::a\+\_\+interpolate\+\_\+at(), and ae\+\_\+module\+::interpolate\+\_\+e().


\begin{DoxyCode}
1282 
1283     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(IN)} :: et\_data
1285     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}                         :: xval
1287     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{intent(in)}                         :: yval
1289     \textcolor{keywordtype}{real(DP)}                                     :: interpolate\_et
1290 
1291     interpolate\_et = interpolate\_e(a\_interpolate\_at(et\_data,yval),xval)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=350pt]{namespaceet__module_a49cd599107e897907661147d5d9239a2_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a792a5563cd122c0779904360978a97d4}\label{namespaceet__module_a792a5563cd122c0779904360978a97d4}} 
\index{et\+\_\+module@{et\+\_\+module}!intx\+\_\+x@{intx\+\_\+x}}
\index{intx\+\_\+x@{intx\+\_\+x}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{intx\+\_\+x()}{intx\_x()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::intx\+\_\+x (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:im-\/1)}]{x }\end{DoxyParamCaption})}



1 次元(\+X)格子点データの X 方向積分 


\begin{DoxyParams}{Parameters}
{\em x} & 1 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分値 
\end{DoxyReturn}


Definition at line 1198 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
1198 
1199     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:im-1)}   :: x
1201     \textcolor{keywordtype}{real(DP)}                      :: intx\_x
1202 
1203     intx\_x = sum(x*x\_x\_weight)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_a85893ceb757547f168430d386a363098}\label{namespaceet__module_a85893ceb757547f168430d386a363098}} 
\index{et\+\_\+module@{et\+\_\+module}!inty\+\_\+y@{inty\+\_\+y}}
\index{inty\+\_\+y@{inty\+\_\+y}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{inty\+\_\+y()}{inty\_y()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::inty\+\_\+y (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm)}]{y }\end{DoxyParamCaption})}



1 次元(\+Y)格子点データの Y 方向積分 


\begin{DoxyParams}{Parameters}
{\em y} & 1 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分値 
\end{DoxyReturn}


Definition at line 1210 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
1210 
1211     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm)}   :: y
1213     \textcolor{keywordtype}{real(DP)}                    :: inty\_y
1214 
1215     inty\_y = sum(y*y\_y\_weight)
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_ab548603559e0046c00b2c80452be8ed6}\label{namespaceet__module_ab548603559e0046c00b2c80452be8ed6}} 
\index{et\+\_\+module@{et\+\_\+module}!intyx\+\_\+yx@{intyx\+\_\+yx}}
\index{intyx\+\_\+yx@{intyx\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{intyx\+\_\+yx()}{intyx\_yx()}}
{\footnotesize\ttfamily real(dp) function, public et\+\_\+module\+::intyx\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1)}]{yx }\end{DoxyParamCaption})}



2 次元格子点データの全領域積分および平均. 


\begin{DoxyParams}{Parameters}
{\em yx} & 2 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分値 
\end{DoxyReturn}


Definition at line 1144 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
1144 
1145     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}   :: yx
1147     \textcolor{keywordtype}{real(DP)}                           :: intyx\_yx
1148 
1149     \textcolor{keywordtype}{integer} :: i, j
1150 
1151     intyx\_yx = 0.0d0
1152     \textcolor{keywordflow}{do} i=0,im-1
1153       \textcolor{keywordflow}{do} j=0,jm
1154         intyx\_yx = intyx\_yx + yx(j,i) * y\_y\_weight(j) * x\_x\_weight(i)
1155 \textcolor{keywordflow}{      enddo}
1156 \textcolor{keywordflow}{    enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_a0b49f704711d70939291b05718a67180}\label{namespaceet__module_a0b49f704711d70939291b05718a67180}} 
\index{et\+\_\+module@{et\+\_\+module}!x\+\_\+avry\+\_\+yx@{x\+\_\+avry\+\_\+yx}}
\index{x\+\_\+avry\+\_\+yx@{x\+\_\+avry\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{x\+\_\+avry\+\_\+yx()}{x\_avry\_yx()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:im-\/1), public et\+\_\+module\+::x\+\_\+avry\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1)}]{yx }\end{DoxyParamCaption})}


\begin{DoxyParams}{Parameters}
{\em yx} & 2 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均された 1 次元(\+X)格子点 
\end{DoxyReturn}


Definition at line 1246 of file et\+\_\+module.\+f90.



References x\+\_\+inty\+\_\+yx().


\begin{DoxyCode}
1246 
1247     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}   :: yx
1249     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:im-1)}        :: x\_avry\_yx
1250 
1251     x\_avry\_yx = x\_inty\_yx(yx)/sum(y\_y\_weight)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=339pt]{namespaceet__module_a0b49f704711d70939291b05718a67180_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a9d4c9267a18acd630c5d7cb68f4a5048}\label{namespaceet__module_a9d4c9267a18acd630c5d7cb68f4a5048}} 
\index{et\+\_\+module@{et\+\_\+module}!x\+\_\+inty\+\_\+yx@{x\+\_\+inty\+\_\+yx}}
\index{x\+\_\+inty\+\_\+yx@{x\+\_\+inty\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{x\+\_\+inty\+\_\+yx()}{x\_inty\_yx()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:im-\/1), public et\+\_\+module\+::x\+\_\+inty\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1)}]{yx }\end{DoxyParamCaption})}



2 次元格子点データの Y 方向積分 


\begin{DoxyParams}{Parameters}
{\em yx} & 2 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分された 1 次元(\+X)格子点データ 
\end{DoxyReturn}


Definition at line 1180 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
1180 
1181     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}   :: yx
1183     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:im-1)}        :: x\_inty\_yx
1184 
1185     \textcolor{keywordtype}{integer} :: j
1186     \textcolor{comment}{! 作業変数}
1187 
1188     x\_inty\_yx = 0.0d0
1189     \textcolor{keywordflow}{do} j=0,jm
1190       x\_inty\_yx(:) = x\_inty\_yx(:) + yx(j,:) * y\_y\_weight(j)
1191 \textcolor{keywordflow}{    enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_ae0f001249a5e5698e4ef2d4335dd460b}\label{namespaceet__module_ae0f001249a5e5698e4ef2d4335dd460b}} 
\index{et\+\_\+module@{et\+\_\+module}!y\+\_\+avrx\+\_\+yx@{y\+\_\+avrx\+\_\+yx}}
\index{y\+\_\+avrx\+\_\+yx@{y\+\_\+avrx\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{y\+\_\+avrx\+\_\+yx()}{y\_avrx\_yx()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:jm), public et\+\_\+module\+::y\+\_\+avrx\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1)}]{yx }\end{DoxyParamCaption})}



2 次元格子点データの X 方向平均 


\begin{DoxyParams}{Parameters}
{\em yx} & 2 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
平均された 1 次元(\+Y)格子点 
\end{DoxyReturn}


Definition at line 1234 of file et\+\_\+module.\+f90.



References y\+\_\+intx\+\_\+yx().


\begin{DoxyCode}
1234 
1235     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}   :: yx
1237     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm)}          :: y\_avrx\_yx
1238 
1239     y\_avrx\_yx = y\_intx\_yx(yx)/sum(x\_x\_weight)
\end{DoxyCode}
Here is the call graph for this function\+:
\nopagebreak
\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[width=339pt]{namespaceet__module_ae0f001249a5e5698e4ef2d4335dd460b_cgraph}
\end{center}
\end{figure}
\mbox{\Hypertarget{namespaceet__module_a06fd2a5870bad9fdac48108be11cfcb4}\label{namespaceet__module_a06fd2a5870bad9fdac48108be11cfcb4}} 
\index{et\+\_\+module@{et\+\_\+module}!y\+\_\+intx\+\_\+yx@{y\+\_\+intx\+\_\+yx}}
\index{y\+\_\+intx\+\_\+yx@{y\+\_\+intx\+\_\+yx}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{y\+\_\+intx\+\_\+yx()}{y\_intx\_yx()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:jm), public et\+\_\+module\+::y\+\_\+intx\+\_\+yx (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:jm,0\+:im-\/1)}]{yx }\end{DoxyParamCaption})}



2 次元格子点データの X 方向積分 


\begin{DoxyParams}{Parameters}
{\em yx} & 2 次元格子点データ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
積分された 1 次元(\+Y)格子点データ 
\end{DoxyReturn}


Definition at line 1163 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
1163 
1164     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}   :: yx
1166     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm)}          :: y\_intx\_yx
1167 
1168     \textcolor{keywordtype}{integer} :: i
1169 
1170     y\_intx\_yx = 0.0d0
1171     \textcolor{keywordflow}{do} i=0,im-1
1172       y\_intx\_yx(:) = y\_intx\_yx(:) + yx(:,i) * x\_x\_weight(i)
1173 \textcolor{keywordflow}{    enddo}
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_a760a34bc3cf13bcbb1992706e9133eaa}\label{namespaceet__module_a760a34bc3cf13bcbb1992706e9133eaa}} 
\index{et\+\_\+module@{et\+\_\+module}!yx\+\_\+et@{yx\+\_\+et}}
\index{yx\+\_\+et@{yx\+\_\+et}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{yx\+\_\+et()}{yx\_et()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:jm,0\+:im-\/1), public et\+\_\+module\+::yx\+\_\+et (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:lm), intent(in)}]{et }\end{DoxyParamCaption})}



スペクトルデータから格子データへ変換する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em et} & スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データ 
\end{DoxyReturn}


Definition at line 261 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
261 
262     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:lm)}, \textcolor{keywordtype}{intent(in)}  :: et
264     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}              :: yx\_et
265 
266     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}              :: ey
267     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,-km:km)}              :: ye
268 
269     \textcolor{keywordtype}{integer} :: j, k
270 
271     \textcolor{comment}{! yx\_et = ax\_ae(transpose(ay\_at(et)))}
272     \textcolor{comment}{!}
273     \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように}
274     \textcolor{comment}{! 書き直す}
275     \textcolor{comment}{!}
276     ey = ay\_at(et)
277     \textcolor{keywordflow}{do} j=0,jm
278       \textcolor{keywordflow}{do} k=-km,km
279         ye(j,k) = ey(k,j)
280 \textcolor{keywordflow}{      enddo}
281 \textcolor{keywordflow}{    enddo}
282     yx\_et = ax\_ae(ye)
283 
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_a6051461b06878a267f474bb81249eb5b}\label{namespaceet__module_a6051461b06878a267f474bb81249eb5b}} 
\index{et\+\_\+module@{et\+\_\+module}!yx\+\_\+ey@{yx\+\_\+ey}}
\index{yx\+\_\+ey@{yx\+\_\+ey}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{yx\+\_\+ey()}{yx\_ey()}}
{\footnotesize\ttfamily real(dp) function, dimension(0\+:jm,0\+:im-\/1), public et\+\_\+module\+::yx\+\_\+ey (\begin{DoxyParamCaption}\item[{real(dp), dimension(-\/km\+:km,0\+:jm), intent(in)}]{ey }\end{DoxyParamCaption})}



X 座標スペクトルデータから格子データへ変換する. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\tt in}  & {\em ey} & スペクトルデータ\\
\hline
\end{DoxyParams}
\begin{DoxyReturn}{Returns}
格子点データ 
\end{DoxyReturn}


Definition at line 319 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
319 
320     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(-km:km,0:jm)}, \textcolor{keywordtype}{intent(in)}  :: ey
321 
323     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,0:im-1)}              :: yx\_ey
324 
325     \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(0:jm,-km:km)}              :: ye
326     \textcolor{keywordtype}{integer} :: j, k
327 
328     \textcolor{comment}{! yx\_ey = ax\_ae(transpose(ey))}
329     \textcolor{comment}{!}
330     \textcolor{comment}{! 本来上の書き方でいいはずだが, gfortran で通らないので下のように書}
331     \textcolor{comment}{! き直す}
332     \textcolor{comment}{!}
333     \textcolor{keywordflow}{do} j=0,jm
334       \textcolor{keywordflow}{do} k=-km,km
335         ye(j,k) = ey(k,j)
336 \textcolor{keywordflow}{      enddo}
337 \textcolor{keywordflow}{    enddo}
338     yx\_ey = ax\_ae(ye)
339 
\end{DoxyCode}


\subsection{Variable Documentation}
\mbox{\Hypertarget{namespaceet__module_a36afc47d18eeb0d43d0aa03e9b73459a}\label{namespaceet__module_a36afc47d18eeb0d43d0aa03e9b73459a}} 
\index{et\+\_\+module@{et\+\_\+module}!yx\+\_\+x@{yx\+\_\+x}}
\index{yx\+\_\+x@{yx\+\_\+x}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{yx\+\_\+x}{yx\_x}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, public et\+\_\+module\+::yx\+\_\+x}



格子点データの X 座標\+: 格子点データ型 2 次元配列(\+X,\+Y) 



Definition at line 198 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
198   \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable} :: yx\_x
\end{DoxyCode}
\mbox{\Hypertarget{namespaceet__module_ae2eafd3163d0e52c348069c39b72e42f}\label{namespaceet__module_ae2eafd3163d0e52c348069c39b72e42f}} 
\index{et\+\_\+module@{et\+\_\+module}!yx\+\_\+y@{yx\+\_\+y}}
\index{yx\+\_\+y@{yx\+\_\+y}!et\+\_\+module@{et\+\_\+module}}
\subsubsection{\texorpdfstring{yx\+\_\+y}{yx\_y}}
{\footnotesize\ttfamily real(dp), dimension(\+:,\+:), allocatable, public et\+\_\+module\+::yx\+\_\+y}



格子点データの Y 座標\+: 格子点データ型 2 次元配列(\+X,\+Y) 



Definition at line 200 of file et\+\_\+module.\+f90.


\begin{DoxyCode}
200   \textcolor{keywordtype}{real(DP)}, \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable} :: yx\_y
\end{DoxyCode}
