\hypertarget{interfaceat__module_1_1at__boundaries__nn}{}\doxysection{at\+\_\+module\+::at\+\_\+boundaries\+\_\+nn Interface Reference}
\label{interfaceat__module_1_1at__boundaries__nn}\index{at\_module::at\_boundaries\_nn@{at\_module::at\_boundaries\_nn}}


両端ノイマン型境界条件の適用(タウ法). 両境界で勾配の値を与える.  


\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundaries__nn_a44e6ac81f1b0fcbd218a86590942c059}{at\+\_\+boundariestau\+\_\+nn\+\_\+1d}} (t\+\_\+data, values)
\begin{DoxyCompactList}\small\item\em Neumann/\+Dirichlet 型境界条件の適用(タウ法, 1 次元配列用) 両境界で勾配の値を与える. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundaries__nn_a1861aff5b6f0491c185d878c7361e1ed}{at\+\_\+boundariestau\+\_\+nn\+\_\+2d}} (at\+\_\+data, values)
\begin{DoxyCompactList}\small\item\em Neumann/\+Dirichlet 型境界条件の適用(タウ法, 2 次元配列用) 両境界で勾配の値を与える. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
両端ノイマン型境界条件の適用(タウ法). 両境界で勾配の値を与える. 

Definition at line 147 of file at\+\_\+module.\+f90.



\doxysubsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundaries__nn_a44e6ac81f1b0fcbd218a86590942c059}\label{interfaceat__module_1_1at__boundaries__nn_a44e6ac81f1b0fcbd218a86590942c059}} 
\index{at\_module::at\_boundaries\_nn@{at\_module::at\_boundaries\_nn}!at\_boundariestau\_nn\_1d@{at\_boundariestau\_nn\_1d}}
\index{at\_boundariestau\_nn\_1d@{at\_boundariestau\_nn\_1d}!at\_module::at\_boundaries\_nn@{at\_module::at\_boundaries\_nn}}
\doxysubsubsection{\texorpdfstring{at\_boundariestau\_nn\_1d()}{at\_boundariestau\_nn\_1d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundaries\+\_\+nn\+::at\+\_\+boundariestau\+\_\+nn\+\_\+1d (\begin{DoxyParamCaption}\item[{real(dp), dimension(0\+:\mbox{\hyperlink{namespaceat__module_a2281993c32a1393ebd0aba3c99ef6175}{km}}), intent(inout)}]{t\+\_\+data,  }\item[{real(dp), dimension(2), intent(in), optional}]{values }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Neumann/\+Dirichlet 型境界条件の適用(タウ法, 1 次元配列用) 両境界で勾配の値を与える. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em t\+\_\+data} & 境界条件を適用するチェビシェフデータ(0\+:km) \\
\hline
\mbox{\texttt{ in}}  & {\em values} & 境界値 \\
\hline
\end{DoxyParams}


Definition at line 1153 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1153 }
\DoxyCodeLine{1154 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km)},\textcolor{keywordtype}{intent(inout)}       :: t\_data}
\DoxyCodeLine{1156 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1157 }
\DoxyCodeLine{1158 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:km)}                   :: at\_work}
\DoxyCodeLine{1159 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,2)}                      :: vwork}
\DoxyCodeLine{1160 }
\DoxyCodeLine{1161     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1162        vwork(1,1)=0.0d0}
\DoxyCodeLine{1163        vwork(1,2)=0.0d0}
\DoxyCodeLine{1164     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1165        vwork(1,:) = values}
\DoxyCodeLine{1166 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1167 }
\DoxyCodeLine{1168     at\_work(1,:)=t\_data}
\DoxyCodeLine{1169     \textcolor{keyword}{call }at\_boundariestau\_nn\_2d(at\_work,vwork)}
\DoxyCodeLine{1170     t\_data=at\_work(1,:)}
\DoxyCodeLine{1171 }

\end{DoxyCode}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundaries__nn_a1861aff5b6f0491c185d878c7361e1ed}\label{interfaceat__module_1_1at__boundaries__nn_a1861aff5b6f0491c185d878c7361e1ed}} 
\index{at\_module::at\_boundaries\_nn@{at\_module::at\_boundaries\_nn}!at\_boundariestau\_nn\_2d@{at\_boundariestau\_nn\_2d}}
\index{at\_boundariestau\_nn\_2d@{at\_boundariestau\_nn\_2d}!at\_module::at\_boundaries\_nn@{at\_module::at\_boundaries\_nn}}
\doxysubsubsection{\texorpdfstring{at\_boundariestau\_nn\_2d()}{at\_boundariestau\_nn\_2d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundaries\+\_\+nn\+::at\+\_\+boundariestau\+\_\+nn\+\_\+2d (\begin{DoxyParamCaption}\item[{real(dp), dimension(\+:,0\+:), intent(inout)}]{at\+\_\+data,  }\item[{real(dp), dimension(\+:,\+:), intent(in), optional}]{values }\end{DoxyParamCaption})\hspace{0.3cm}{\ttfamily [private]}}



Neumann/\+Dirichlet 型境界条件の適用(タウ法, 2 次元配列用) 両境界で勾配の値を与える. 


\begin{DoxyParams}[1]{Parameters}
\mbox{\texttt{ in,out}}  & {\em at\+\_\+data} & 境界条件を適用するチェビシェフデータ(m,0\+:km) \\
\hline
\mbox{\texttt{ in}}  & {\em values} & 境界値(m,2) \\
\hline
\end{DoxyParams}


Definition at line 1092 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1092 }
\DoxyCodeLine{1093 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)},\textcolor{keywordtype}{intent(inout)}         :: at\_data}
\DoxyCodeLine{1095 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1096 }
\DoxyCodeLine{1097 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}  :: alu}
\DoxyCodeLine{1098     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{allocatable}     :: kp}
\DoxyCodeLine{1099 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:km)}         :: tt\_data}
\DoxyCodeLine{1100 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:im)}         :: tg\_data}
\DoxyCodeLine{1101 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1))}   :: value1, value2}
\DoxyCodeLine{1102 }
\DoxyCodeLine{1103     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{1104     \textcolor{keywordtype}{save}       :: alu, kp}
\DoxyCodeLine{1105 }
\DoxyCodeLine{1106     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(at\_data,2)-\/1 < km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1107        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesTau\_NN'}, \&}
\DoxyCodeLine{1108             \textcolor{stringliteral}{'The Chebyshev dimension of input data too small.'})}
\DoxyCodeLine{1109     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(at\_data,2)-\/1 > km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1110        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'at\_BoundariesTau\_NN'}, \&}
\DoxyCodeLine{1111             \textcolor{stringliteral}{'The Chebyshev dimension of input data too large.'})}
\DoxyCodeLine{1112 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1113 }
\DoxyCodeLine{1114     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1115        value1 = 0.0d0}
\DoxyCodeLine{1116        value2 = 0.0d0}
\DoxyCodeLine{1117     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1118        value1 = values(:,1)}
\DoxyCodeLine{1119        value2 = values(:,2)}
\DoxyCodeLine{1120 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1121 }
\DoxyCodeLine{1122     \textcolor{keywordflow}{if} ( at\_boundariestau\_nn\_first ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1123        at\_boundariestau\_nn\_first = .false.}
\DoxyCodeLine{1124 }
\DoxyCodeLine{1125        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(alu)) \textcolor{keyword}{deallocate}(alu)}
\DoxyCodeLine{1126        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(kp)) \textcolor{keyword}{deallocate}(kp)}
\DoxyCodeLine{1127 }
\DoxyCodeLine{1128        \textcolor{keyword}{allocate}(alu(0:km,0:km),kp(0:km))}
\DoxyCodeLine{1129 }
\DoxyCodeLine{1130        tt\_data = 0.0d0}
\DoxyCodeLine{1131        \textcolor{keywordflow}{do} k=0,km}
\DoxyCodeLine{1132           tt\_data(k,k)=1.0d0}
\DoxyCodeLine{1133 \textcolor{keywordflow}{       enddo}}
\DoxyCodeLine{1134        alu = tt\_data}
\DoxyCodeLine{1135 }
\DoxyCodeLine{1136        tg\_data = ag\_at(at\_dx\_at(tt\_data))}
\DoxyCodeLine{1137        alu(km-\/1,:) = tg\_data(:,0)}
\DoxyCodeLine{1138        alu(km,:)   = tg\_data(:,im)}
\DoxyCodeLine{1139 }
\DoxyCodeLine{1140        \textcolor{keyword}{call }ludecomp(alu,kp)}
\DoxyCodeLine{1141 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1142 }
\DoxyCodeLine{1143     at\_data(:,km-\/1) = value1}
\DoxyCodeLine{1144     at\_data(:,km)   = value2}
\DoxyCodeLine{1145     at\_data = lusolve(alu,kp,at\_data)}
\DoxyCodeLine{1146 }

\end{DoxyCode}


The documentation for this interface was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
at\+\_\+module/\mbox{\hyperlink{at__module_8f90}{at\+\_\+module.\+f90}}\end{DoxyCompactItemize}
