\hypertarget{interfaceat__module_1_1at__boundariestau__nd}{}\doxysection{at\+\_\+module\+::at\+\_\+boundariestau\+\_\+nd Interface Reference}
\label{interfaceat__module_1_1at__boundariestau__nd}\index{at\_module::at\_boundariestau\_nd@{at\_module::at\_boundariestau\_nd}}


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


\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundariestau__nd_a007a8202a6f19990e7eb37f7659fef97}{at\+\_\+boundariestau\+\_\+nd\+\_\+1d}} (t\+\_\+data, values)
\begin{DoxyCompactList}\small\item\em Neumann/\+Dirichlet 型境界条件の適用(タウ法, 1 次元配列用) i=0 で勾配の値, i=im で値を与える. \end{DoxyCompactList}\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundariestau__nd_a441621e7be6a883bb3c7e42017e8b6af}{at\+\_\+boundariestau\+\_\+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=im で値を与える. 

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



\doxysubsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariestau__nd_a007a8202a6f19990e7eb37f7659fef97}\label{interfaceat__module_1_1at__boundariestau__nd_a007a8202a6f19990e7eb37f7659fef97}} 
\index{at\_module::at\_boundariestau\_nd@{at\_module::at\_boundariestau\_nd}!at\_boundariestau\_nd\_1d@{at\_boundariestau\_nd\_1d}}
\index{at\_boundariestau\_nd\_1d@{at\_boundariestau\_nd\_1d}!at\_module::at\_boundariestau\_nd@{at\_module::at\_boundariestau\_nd}}
\doxysubsubsection{\texorpdfstring{at\_boundariestau\_nd\_1d()}{at\_boundariestau\_nd\_1d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariestau\+\_\+nd\+::at\+\_\+boundariestau\+\_\+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/\+Dirichlet 型境界条件の適用(タウ法, 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 1067 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1067 }
\DoxyCodeLine{1068 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km)},\textcolor{keywordtype}{intent(inout)}       :: t\_data}
\DoxyCodeLine{1070 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1071 }
\DoxyCodeLine{1072 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:km)}                   :: at\_work}
\DoxyCodeLine{1073 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,2)}                      :: vwork}
\DoxyCodeLine{1074 }
\DoxyCodeLine{1075     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1076        vwork(1,1)=0.0d0}
\DoxyCodeLine{1077        vwork(1,2)=0.0d0}
\DoxyCodeLine{1078     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1079        vwork(1,:) = values}
\DoxyCodeLine{1080 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1081 }
\DoxyCodeLine{1082     at\_work(1,:)=t\_data}
\DoxyCodeLine{1083     \textcolor{keyword}{call }at\_boundariestau\_nd\_2d(at\_work,vwork)}
\DoxyCodeLine{1084     t\_data=at\_work(1,:)}
\DoxyCodeLine{1085 }

\end{DoxyCode}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariestau__nd_a441621e7be6a883bb3c7e42017e8b6af}\label{interfaceat__module_1_1at__boundariestau__nd_a441621e7be6a883bb3c7e42017e8b6af}} 
\index{at\_module::at\_boundariestau\_nd@{at\_module::at\_boundariestau\_nd}!at\_boundariestau\_nd\_2d@{at\_boundariestau\_nd\_2d}}
\index{at\_boundariestau\_nd\_2d@{at\_boundariestau\_nd\_2d}!at\_module::at\_boundariestau\_nd@{at\_module::at\_boundariestau\_nd}}
\doxysubsubsection{\texorpdfstring{at\_boundariestau\_nd\_2d()}{at\_boundariestau\_nd\_2d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariestau\+\_\+nd\+::at\+\_\+boundariestau\+\_\+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 1005 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1005 }
\DoxyCodeLine{1006 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)},\textcolor{keywordtype}{intent(inout)}         :: at\_data}
\DoxyCodeLine{1008 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1009 }
\DoxyCodeLine{1010 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}  :: alu}
\DoxyCodeLine{1011     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{allocatable}     :: kp}
\DoxyCodeLine{1012 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:km)}         :: tt\_data}
\DoxyCodeLine{1013 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:im)}         :: tg\_data}
\DoxyCodeLine{1014 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1))}   :: value1, value2}
\DoxyCodeLine{1015 }
\DoxyCodeLine{1016     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{1017     \textcolor{keywordtype}{save}       :: alu, kp}
\DoxyCodeLine{1018 }
\DoxyCodeLine{1019     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(at\_data,2)-\/1 < km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1020        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesTau\_ND'}, \&}
\DoxyCodeLine{1021             \textcolor{stringliteral}{'The Chebyshev dimension of input data too small.'})}
\DoxyCodeLine{1022     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(at\_data,2)-\/1 > km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1023        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'at\_BoundariesTau\_ND'}, \&}
\DoxyCodeLine{1024             \textcolor{stringliteral}{'The Chebyshev dimension of input data too large.'})}
\DoxyCodeLine{1025 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1026 }
\DoxyCodeLine{1027     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1028        value1=0.0d0}
\DoxyCodeLine{1029        value2=0.0d0}
\DoxyCodeLine{1030     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1031        value1 = values(:,1)}
\DoxyCodeLine{1032        value2 = values(:,2)}
\DoxyCodeLine{1033 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1034 }
\DoxyCodeLine{1035     \textcolor{keywordflow}{if} ( at\_boundariestau\_nd\_first ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1036        at\_boundariestau\_nd\_first = .false.}
\DoxyCodeLine{1037 }
\DoxyCodeLine{1038        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(alu)) \textcolor{keyword}{deallocate}(alu)}
\DoxyCodeLine{1039        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(kp)) \textcolor{keyword}{deallocate}(kp)}
\DoxyCodeLine{1040 }
\DoxyCodeLine{1041        \textcolor{keyword}{allocate}(alu(0:km,0:km),kp(0:km))}
\DoxyCodeLine{1042 }
\DoxyCodeLine{1043        tt\_data = 0.0d0}
\DoxyCodeLine{1044        \textcolor{keywordflow}{do} k=0,km}
\DoxyCodeLine{1045           tt\_data(k,k)=1.0d0}
\DoxyCodeLine{1046 \textcolor{keywordflow}{       enddo}}
\DoxyCodeLine{1047        alu = tt\_data}
\DoxyCodeLine{1048 }
\DoxyCodeLine{1049        tg\_data = ag\_at(at\_dx\_at(tt\_data))}
\DoxyCodeLine{1050        alu(km-\/1,:) = tg\_data(:,0)}
\DoxyCodeLine{1051        tg\_data = ag\_at(tt\_data)}
\DoxyCodeLine{1052        alu(km,:)   = tg\_data(:,im)}
\DoxyCodeLine{1053 }
\DoxyCodeLine{1054        \textcolor{keyword}{call }ludecomp(alu,kp)}
\DoxyCodeLine{1055 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1056 }
\DoxyCodeLine{1057     at\_data(:,km-\/1) = value1}
\DoxyCodeLine{1058     at\_data(:,km)   = value2}
\DoxyCodeLine{1059     at\_data = lusolve(alu,kp,at\_data)}
\DoxyCodeLine{1060 }

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