\hypertarget{interfaceat__module_1_1at__boundariesgrid__nd}{}\doxysection{at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+nd Interface Reference}
\label{interfaceat__module_1_1at__boundariesgrid__nd}\index{at\_module::at\_boundariesgrid\_nd@{at\_module::at\_boundariesgrid\_nd}}


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


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


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

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



\doxysubsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariesgrid__nd_a8fdf2b4022f4f06319159972be908f7e}\label{interfaceat__module_1_1at__boundariesgrid__nd_a8fdf2b4022f4f06319159972be908f7e}} 
\index{at\_module::at\_boundariesgrid\_nd@{at\_module::at\_boundariesgrid\_nd}!at\_boundariesgrid\_nd\_1d@{at\_boundariesgrid\_nd\_1d}}
\index{at\_boundariesgrid\_nd\_1d@{at\_boundariesgrid\_nd\_1d}!at\_module::at\_boundariesgrid\_nd@{at\_module::at\_boundariesgrid\_nd}}
\doxysubsubsection{\texorpdfstring{at\_boundariesgrid\_nd\_1d()}{at\_boundariesgrid\_nd\_1d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+nd\+::at\+\_\+boundariesgrid\+\_\+nd\+\_\+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 型境界条件の適用(実空間での評価, 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 1433 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1433 }
\DoxyCodeLine{1434 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km)},\textcolor{keywordtype}{intent(inout)}       :: t\_data}
\DoxyCodeLine{1436 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1437 }
\DoxyCodeLine{1438 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:km)}                   :: at\_work}
\DoxyCodeLine{1439 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,2)}                      :: vwork           \textcolor{comment}{! 境界値}}
\DoxyCodeLine{1440 }
\DoxyCodeLine{1441     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1442        vwork(1,1)=0.0d0}
\DoxyCodeLine{1443        vwork(1,2)=0.0d0}
\DoxyCodeLine{1444     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1445        vwork(1,:) = values}
\DoxyCodeLine{1446 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1447 }
\DoxyCodeLine{1448     at\_work(1,:)=t\_data}
\DoxyCodeLine{1449     \textcolor{keyword}{call }at\_boundariesgrid\_nd\_2d(at\_work,vwork)}
\DoxyCodeLine{1450     t\_data=at\_work(1,:)}
\DoxyCodeLine{1451 }

\end{DoxyCode}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariesgrid__nd_ae5ea35d42ee06885044da8f43d115174}\label{interfaceat__module_1_1at__boundariesgrid__nd_ae5ea35d42ee06885044da8f43d115174}} 
\index{at\_module::at\_boundariesgrid\_nd@{at\_module::at\_boundariesgrid\_nd}!at\_boundariesgrid\_nd\_2d@{at\_boundariesgrid\_nd\_2d}}
\index{at\_boundariesgrid\_nd\_2d@{at\_boundariesgrid\_nd\_2d}!at\_module::at\_boundariesgrid\_nd@{at\_module::at\_boundariesgrid\_nd}}
\doxysubsubsection{\texorpdfstring{at\_boundariesgrid\_nd\_2d()}{at\_boundariesgrid\_nd\_2d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+nd\+::at\+\_\+boundariesgrid\+\_\+nd\+\_\+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 次元配列用) 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 1364 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1364 }
\DoxyCodeLine{1365 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)},\textcolor{keywordtype}{intent(inout)}         :: at\_data}
\DoxyCodeLine{1367 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1368 }
\DoxyCodeLine{1369 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}     :: alu}
\DoxyCodeLine{1370     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{allocatable}        :: kp}
\DoxyCodeLine{1371 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1),0:im)} :: ag\_data}
\DoxyCodeLine{1372 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:km)}            :: tt\_data}
\DoxyCodeLine{1373 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:im)}            :: tg\_data}
\DoxyCodeLine{1374 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1))}      :: value1, value2  \textcolor{comment}{! 境界値}}
\DoxyCodeLine{1375 }
\DoxyCodeLine{1376     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{1377     \textcolor{keywordtype}{save}       :: alu, kp}
\DoxyCodeLine{1378 }
\DoxyCodeLine{1379     \textcolor{keywordflow}{if} ( im /= km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1380        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesGrid\_ND'}, \&}
\DoxyCodeLine{1381             \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})}
\DoxyCodeLine{1382 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1383 }
\DoxyCodeLine{1384     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(at\_data,2)-\/1 < km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1385        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesGrid\_ND'}, \&}
\DoxyCodeLine{1386             \textcolor{stringliteral}{'The Chebyshev dimension of input data too small.'})}
\DoxyCodeLine{1387     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(at\_data,2)-\/1 > km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1388        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'at\_BoundariesGrid\_DD'}, \&}
\DoxyCodeLine{1389             \textcolor{stringliteral}{'The Chebyshev dimension of input data too large.'})}
\DoxyCodeLine{1390 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1391 }
\DoxyCodeLine{1392     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1393        value1=0.0d0}
\DoxyCodeLine{1394        value2=0.0d0}
\DoxyCodeLine{1395     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1396        value1 = values(:,1)}
\DoxyCodeLine{1397        value2 = values(:,2)}
\DoxyCodeLine{1398 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1399 }
\DoxyCodeLine{1400     \textcolor{keywordflow}{if} ( at\_boundariesgrid\_nd\_first ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1401        at\_boundariesgrid\_nd\_first = .false.}
\DoxyCodeLine{1402 }
\DoxyCodeLine{1403        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(alu)) \textcolor{keyword}{deallocate}(alu)}
\DoxyCodeLine{1404        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(kp)) \textcolor{keyword}{deallocate}(kp)}
\DoxyCodeLine{1405 }
\DoxyCodeLine{1406        \textcolor{keyword}{allocate}(alu(0:im,0:km),kp(0:im))}
\DoxyCodeLine{1407 }
\DoxyCodeLine{1408        tt\_data = 0.0d0}
\DoxyCodeLine{1409        \textcolor{keywordflow}{do} k=0,km}
\DoxyCodeLine{1410           tt\_data(k,k)=1.0d0}
\DoxyCodeLine{1411 \textcolor{keywordflow}{       enddo}}
\DoxyCodeLine{1412        tg\_data = ag\_at(tt\_data)}
\DoxyCodeLine{1413        alu = transpose(tg\_data)}
\DoxyCodeLine{1414 }
\DoxyCodeLine{1415        tg\_data = ag\_at(at\_dx\_at(tt\_data))}
\DoxyCodeLine{1416        alu(0,:)  = tg\_data(:,0)}
\DoxyCodeLine{1417 }
\DoxyCodeLine{1418        \textcolor{keyword}{call }ludecomp(alu,kp)}
\DoxyCodeLine{1419 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1420 }
\DoxyCodeLine{1421     ag\_data = ag\_at(at\_data)}
\DoxyCodeLine{1422     ag\_data(:,0)  = value1}
\DoxyCodeLine{1423     ag\_data(:,im) = value2}
\DoxyCodeLine{1424     at\_data = lusolve(alu,kp,ag\_data)}
\DoxyCodeLine{1425 }

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