\hypertarget{interfaceat__module_1_1at__boundariesgrid__dn}{}\doxysection{at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+dn Interface Reference}
\label{interfaceat__module_1_1at__boundariesgrid__dn}\index{at\_module::at\_boundariesgrid\_dn@{at\_module::at\_boundariesgrid\_dn}}


ディリクレ・ノイマン型境界条件の適用(実空間での評価). i=0 で値, i=im で勾配の値を与える.  


\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundariesgrid__dn_ae1bb8964fa5eb4cdac8e2c29542bf437}{at\+\_\+boundariesgrid\+\_\+dn\+\_\+1d}} (t\+\_\+data, values)
\begin{DoxyCompactList}\small\item\em Dirichlet/\+Neumann 型境界条件の適用(実空間での評価, 1 次元配列用) i=0 で値, i=im で勾配の値を与える. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundariesgrid__dn_a8a55e96a5d066aa9b16d4db906d16a5a}{at\+\_\+boundariesgrid\+\_\+dn\+\_\+2d}} (at\+\_\+data, values)
\begin{DoxyCompactList}\small\item\em Dirichlet/\+Neumann 型境界条件の適用(実空間での評価, 2 次元配列用) i=0 で値, i=im で勾配の値を与える. \end{DoxyCompactList}\end{DoxyCompactItemize}


\doxysubsection{Detailed Description}
ディリクレ・ノイマン型境界条件の適用(実空間での評価). i=0 で値, i=im で勾配の値を与える. 

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



\doxysubsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariesgrid__dn_ae1bb8964fa5eb4cdac8e2c29542bf437}\label{interfaceat__module_1_1at__boundariesgrid__dn_ae1bb8964fa5eb4cdac8e2c29542bf437}} 
\index{at\_module::at\_boundariesgrid\_dn@{at\_module::at\_boundariesgrid\_dn}!at\_boundariesgrid\_dn\_1d@{at\_boundariesgrid\_dn\_1d}}
\index{at\_boundariesgrid\_dn\_1d@{at\_boundariesgrid\_dn\_1d}!at\_module::at\_boundariesgrid\_dn@{at\_module::at\_boundariesgrid\_dn}}
\doxysubsubsection{\texorpdfstring{at\_boundariesgrid\_dn\_1d()}{at\_boundariesgrid\_dn\_1d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+dn\+::at\+\_\+boundariesgrid\+\_\+dn\+\_\+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]}}



Dirichlet/\+Neumann 型境界条件の適用(実空間での評価, 1 次元配列用) i=0 で値, i=im で勾配の値を与える. 


\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 1338 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1338 }
\DoxyCodeLine{1339 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km)},\textcolor{keywordtype}{intent(inout)}       :: t\_data}
\DoxyCodeLine{1341 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1342 }
\DoxyCodeLine{1343 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:km)}                   :: at\_work}
\DoxyCodeLine{1344 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,2)}                      :: vwork           \textcolor{comment}{! 境界値}}
\DoxyCodeLine{1345 }
\DoxyCodeLine{1346     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1347        vwork(1,1)=0.0d0}
\DoxyCodeLine{1348        vwork(1,2)=0.0d0}
\DoxyCodeLine{1349     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1350        vwork(1,:) = values}
\DoxyCodeLine{1351 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1352 }
\DoxyCodeLine{1353     at\_work(1,:)=t\_data}
\DoxyCodeLine{1354     \textcolor{keyword}{call }at\_boundariesgrid\_dn\_2d(at\_work,vwork)}
\DoxyCodeLine{1355     t\_data=at\_work(1,:)}
\DoxyCodeLine{1356 }

\end{DoxyCode}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariesgrid__dn_a8a55e96a5d066aa9b16d4db906d16a5a}\label{interfaceat__module_1_1at__boundariesgrid__dn_a8a55e96a5d066aa9b16d4db906d16a5a}} 
\index{at\_module::at\_boundariesgrid\_dn@{at\_module::at\_boundariesgrid\_dn}!at\_boundariesgrid\_dn\_2d@{at\_boundariesgrid\_dn\_2d}}
\index{at\_boundariesgrid\_dn\_2d@{at\_boundariesgrid\_dn\_2d}!at\_module::at\_boundariesgrid\_dn@{at\_module::at\_boundariesgrid\_dn}}
\doxysubsubsection{\texorpdfstring{at\_boundariesgrid\_dn\_2d()}{at\_boundariesgrid\_dn\_2d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+dn\+::at\+\_\+boundariesgrid\+\_\+dn\+\_\+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]}}



Dirichlet/\+Neumann 型境界条件の適用(実空間での評価, 2 次元配列用) i=0 で値, i=im で勾配の値を与える. 


\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 1270 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1270 }
\DoxyCodeLine{1271 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)},\textcolor{keywordtype}{intent(inout)}         :: at\_data}
\DoxyCodeLine{1273 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1274 }
\DoxyCodeLine{1275 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}     :: alu}
\DoxyCodeLine{1276     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{allocatable}        :: kp}
\DoxyCodeLine{1277 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1),0:im)} :: ag\_data}
\DoxyCodeLine{1278 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:km)}            :: tt\_data}
\DoxyCodeLine{1279 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:im)}            :: tg\_data}
\DoxyCodeLine{1280 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1))}      :: value1, value2  \textcolor{comment}{! 境界値}}
\DoxyCodeLine{1281 }
\DoxyCodeLine{1282     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{1283     \textcolor{keywordtype}{save}       :: alu, kp}
\DoxyCodeLine{1284 }
\DoxyCodeLine{1285     \textcolor{keywordflow}{if} ( im /= km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1286        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesGrid\_DN'}, \&}
\DoxyCodeLine{1287             \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})}
\DoxyCodeLine{1288 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1289 }
\DoxyCodeLine{1290     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(at\_data,2)-\/1 < km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1291        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesGrid\_DN'}, \&}
\DoxyCodeLine{1292             \textcolor{stringliteral}{'The Chebyshev dimension of input data too small.'})}
\DoxyCodeLine{1293     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(at\_data,2)-\/1 > km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1294        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'at\_BoundariesGrid\_DN'}, \&}
\DoxyCodeLine{1295             \textcolor{stringliteral}{'The Chebyshev dimension of input data too large.'})}
\DoxyCodeLine{1296 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1297 }
\DoxyCodeLine{1298     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1299        value1=0.0d0}
\DoxyCodeLine{1300        value2=0.0d0}
\DoxyCodeLine{1301     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1302        value1 = values(:,1)}
\DoxyCodeLine{1303        value2 = values(:,2)}
\DoxyCodeLine{1304 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1305 }
\DoxyCodeLine{1306     \textcolor{keywordflow}{if} ( at\_boundariesgrid\_dn\_first ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1307        at\_boundariesgrid\_dn\_first = .false.}
\DoxyCodeLine{1308 }
\DoxyCodeLine{1309        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(alu)) \textcolor{keyword}{deallocate}(alu)}
\DoxyCodeLine{1310        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(kp)) \textcolor{keyword}{deallocate}(kp)}
\DoxyCodeLine{1311 }
\DoxyCodeLine{1312        \textcolor{keyword}{allocate}(alu(0:im,0:km),kp(0:im))}
\DoxyCodeLine{1313 }
\DoxyCodeLine{1314        tt\_data = 0.0d0}
\DoxyCodeLine{1315        \textcolor{keywordflow}{do} k=0,km}
\DoxyCodeLine{1316           tt\_data(k,k)=1.0d0}
\DoxyCodeLine{1317 \textcolor{keywordflow}{       enddo}}
\DoxyCodeLine{1318        tg\_data = ag\_at(tt\_data)}
\DoxyCodeLine{1319        alu = transpose(tg\_data)}
\DoxyCodeLine{1320 }
\DoxyCodeLine{1321        tg\_data = ag\_at(at\_dx\_at(tt\_data))}
\DoxyCodeLine{1322        alu(im,:) = tg\_data(:,im)}
\DoxyCodeLine{1323 }
\DoxyCodeLine{1324        \textcolor{keyword}{call }ludecomp(alu,kp)}
\DoxyCodeLine{1325 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1326 }
\DoxyCodeLine{1327     ag\_data = ag\_at(at\_data)}
\DoxyCodeLine{1328     ag\_data(:,0)  = value1}
\DoxyCodeLine{1329     ag\_data(:,im) = value2}
\DoxyCodeLine{1330     at\_data = lusolve(alu,kp,ag\_data)}
\DoxyCodeLine{1331 }

\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}
