\hypertarget{interfaceat__module_1_1at__boundariestau__dn}{}\doxysection{at\+\_\+module\+::at\+\_\+boundariestau\+\_\+dn Interface Reference}
\label{interfaceat__module_1_1at__boundariestau__dn}\index{at\_module::at\_boundariestau\_dn@{at\_module::at\_boundariestau\_dn}}


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


\doxysubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
subroutine \mbox{\hyperlink{interfaceat__module_1_1at__boundariestau__dn_a96f9fa26ef18229b27e8dd21d36a8d24}{at\+\_\+boundariestau\+\_\+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__boundariestau__dn_a8326a4c961e6e813c810a052c233366c}{at\+\_\+boundariestau\+\_\+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 163 of file at\+\_\+module.\+f90.



\doxysubsection{Member Function/\+Subroutine Documentation}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariestau__dn_a96f9fa26ef18229b27e8dd21d36a8d24}\label{interfaceat__module_1_1at__boundariestau__dn_a96f9fa26ef18229b27e8dd21d36a8d24}} 
\index{at\_module::at\_boundariestau\_dn@{at\_module::at\_boundariestau\_dn}!at\_boundariestau\_dn\_1d@{at\_boundariestau\_dn\_1d}}
\index{at\_boundariestau\_dn\_1d@{at\_boundariestau\_dn\_1d}!at\_module::at\_boundariestau\_dn@{at\_module::at\_boundariestau\_dn}}
\doxysubsubsection{\texorpdfstring{at\_boundariestau\_dn\_1d()}{at\_boundariestau\_dn\_1d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariestau\+\_\+dn\+::at\+\_\+boundariestau\+\_\+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 980 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{980 }
\DoxyCodeLine{981 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km)},\textcolor{keywordtype}{intent(inout)}       :: t\_data}
\DoxyCodeLine{983 }
\DoxyCodeLine{984 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{985 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:km)}                   :: at\_work}
\DoxyCodeLine{986 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,2)}                      :: vwork}
\DoxyCodeLine{987 }
\DoxyCodeLine{988     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{989        vwork(1,1)=0.0d0}
\DoxyCodeLine{990        vwork(1,2)=0.0d0}
\DoxyCodeLine{991     \textcolor{keywordflow}{else}}
\DoxyCodeLine{992        vwork(1,:) = values}
\DoxyCodeLine{993 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{994 }
\DoxyCodeLine{995     at\_work(1,:)=t\_data}
\DoxyCodeLine{996     \textcolor{keyword}{call }at\_boundariestau\_dn\_2d(at\_work,vwork)}
\DoxyCodeLine{997     t\_data=at\_work(1,:)}
\DoxyCodeLine{998 }

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


\begin{DoxyCode}{0}
\DoxyCodeLine{918 }
\DoxyCodeLine{919 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)},\textcolor{keywordtype}{intent(inout)}         :: at\_data}
\DoxyCodeLine{921 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{922 }
\DoxyCodeLine{923 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}  :: alu}
\DoxyCodeLine{924     \textcolor{keywordtype}{integer}, \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{allocatable}     :: kp}
\DoxyCodeLine{925 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:km)}         :: tt\_data}
\DoxyCodeLine{926 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km,0:im)}         :: tg\_data}
\DoxyCodeLine{927 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(size(at\_data,1))}   :: value1, value2}
\DoxyCodeLine{928 }
\DoxyCodeLine{929     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{930     \textcolor{keywordtype}{save}       :: alu, kp}
\DoxyCodeLine{931 }
\DoxyCodeLine{932     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(at\_data,2)-\/1 < km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{933        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesTau\_DN'}, \&}
\DoxyCodeLine{934             \textcolor{stringliteral}{'The Chebyshev dimension of input data too small.'})}
\DoxyCodeLine{935     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(at\_data,2)-\/1 > km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{936        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'at\_BoundariesTau\_DN'}, \&}
\DoxyCodeLine{937             \textcolor{stringliteral}{'The Chebyshev dimension of input data too large.'})}
\DoxyCodeLine{938 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{939 }
\DoxyCodeLine{940     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{941        value1=0.0d0}
\DoxyCodeLine{942        value2=0.0d0}
\DoxyCodeLine{943     \textcolor{keywordflow}{else}}
\DoxyCodeLine{944        value1 = values(:,1)}
\DoxyCodeLine{945        value2 = values(:,2)}
\DoxyCodeLine{946 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{947 }
\DoxyCodeLine{948     \textcolor{keywordflow}{if} (  at\_boundariestau\_dn\_first ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{949        at\_boundariestau\_dn\_first = .false.}
\DoxyCodeLine{950 }
\DoxyCodeLine{951        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(alu)) \textcolor{keyword}{deallocate}(alu)}
\DoxyCodeLine{952        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(kp)) \textcolor{keyword}{deallocate}(kp)}
\DoxyCodeLine{953 }
\DoxyCodeLine{954        \textcolor{keyword}{allocate}(alu(0:km,0:km),kp(0:km))}
\DoxyCodeLine{955 }
\DoxyCodeLine{956        tt\_data = 0.0d0}
\DoxyCodeLine{957        \textcolor{keywordflow}{do} k=0,km}
\DoxyCodeLine{958           tt\_data(k,k)=1.0d0}
\DoxyCodeLine{959 \textcolor{keywordflow}{       enddo}}
\DoxyCodeLine{960        alu = tt\_data}
\DoxyCodeLine{961 }
\DoxyCodeLine{962        tg\_data = ag\_at(tt\_data)}
\DoxyCodeLine{963        alu(km-\/1,:) = tg\_data(:,0)}
\DoxyCodeLine{964        tg\_data = ag\_at(at\_dx\_at(tt\_data))}
\DoxyCodeLine{965        alu(km,:)   = tg\_data(:,im)}
\DoxyCodeLine{966 }
\DoxyCodeLine{967        \textcolor{keyword}{call }ludecomp(alu,kp)}
\DoxyCodeLine{968 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{969 }
\DoxyCodeLine{970     at\_data(:,km-\/1) = value1}
\DoxyCodeLine{971     at\_data(:,km)   = value2}
\DoxyCodeLine{972     at\_data = lusolve(alu,kp,at\_data)}
\DoxyCodeLine{973 }

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