\hypertarget{interfaceat__module_1_1at__boundariesgrid__nn}{}\doxysection{at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+nn Interface Reference}
\label{interfaceat__module_1_1at__boundariesgrid__nn}\index{at\_module::at\_boundariesgrid\_nn@{at\_module::at\_boundariesgrid\_nn}}


両端ノイマン型境界条件の適用(実空間での評価). 両境界で勾配の値を与える.  


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


\doxysubsection{Detailed Description}
両端ノイマン型境界条件の適用(実空間での評価). 両境界で勾配の値を与える. 

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



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


\begin{DoxyCode}{0}
\DoxyCodeLine{1530 }
\DoxyCodeLine{1531 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(0:km)},\textcolor{keywordtype}{intent(inout)}       :: t\_data}
\DoxyCodeLine{1533 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(2)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1534 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,0:km)}                   :: at\_work}
\DoxyCodeLine{1535 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(1,2)}                      :: vwork  \textcolor{comment}{! 境界値}}
\DoxyCodeLine{1536 }
\DoxyCodeLine{1537     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1538        vwork(1,1)=0.0d0}
\DoxyCodeLine{1539        vwork(1,2)=0.0d0}
\DoxyCodeLine{1540     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1541        vwork(1,:) = values}
\DoxyCodeLine{1542 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1543 }
\DoxyCodeLine{1544     at\_work(1,:)=t\_data}
\DoxyCodeLine{1545     \textcolor{keyword}{call }at\_boundariesgrid\_nn\_2d(at\_work,vwork)}
\DoxyCodeLine{1546     t\_data=at\_work(1,:)}
\DoxyCodeLine{1547 }

\end{DoxyCode}
\mbox{\Hypertarget{interfaceat__module_1_1at__boundariesgrid__nn_a87b220deb53af221f477d7ddaf3cb3cb}\label{interfaceat__module_1_1at__boundariesgrid__nn_a87b220deb53af221f477d7ddaf3cb3cb}} 
\index{at\_module::at\_boundariesgrid\_nn@{at\_module::at\_boundariesgrid\_nn}!at\_boundariesgrid\_nn\_2d@{at\_boundariesgrid\_nn\_2d}}
\index{at\_boundariesgrid\_nn\_2d@{at\_boundariesgrid\_nn\_2d}!at\_module::at\_boundariesgrid\_nn@{at\_module::at\_boundariesgrid\_nn}}
\doxysubsubsection{\texorpdfstring{at\_boundariesgrid\_nn\_2d()}{at\_boundariesgrid\_nn\_2d()}}
{\footnotesize\ttfamily subroutine at\+\_\+module\+::at\+\_\+boundariesgrid\+\_\+nn\+::at\+\_\+boundariesgrid\+\_\+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 型境界条件の適用(実空間での評価, 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 1459 of file at\+\_\+module.\+f90.


\begin{DoxyCode}{0}
\DoxyCodeLine{1459 }
\DoxyCodeLine{1460 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,0:)},\textcolor{keywordtype}{intent(inout)}         :: at\_data}
\DoxyCodeLine{1462 \textcolor{keywordtype}{    real}(DP), \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{intent(in)}, \textcolor{keywordtype}{optional}  :: values}
\DoxyCodeLine{1463 }
\DoxyCodeLine{1464 }
\DoxyCodeLine{1465 \textcolor{keywordtype}{    real}(DP),   \textcolor{keywordtype}{dimension(:,:)}, \textcolor{keywordtype}{allocatable}     :: alu}
\DoxyCodeLine{1466     \textcolor{keywordtype}{integer},    \textcolor{keywordtype}{dimension(:)}, \textcolor{keywordtype}{allocatable}       :: kp}
\DoxyCodeLine{1467 \textcolor{keywordtype}{    real}(DP),   \textcolor{keywordtype}{dimension(size(at\_data,1),0:im)} :: ag\_data}
\DoxyCodeLine{1468 \textcolor{keywordtype}{    real}(DP),   \textcolor{keywordtype}{dimension(0:km,0:km)}            :: tt\_data}
\DoxyCodeLine{1469 \textcolor{keywordtype}{    real}(DP),   \textcolor{keywordtype}{dimension(0:km,0:im)}            :: tg\_data}
\DoxyCodeLine{1470 \textcolor{keywordtype}{    real}(DP),   \textcolor{keywordtype}{dimension(size(at\_data,1))}      :: value1, value2  \textcolor{comment}{! 境界値}}
\DoxyCodeLine{1471 }
\DoxyCodeLine{1472     \textcolor{keywordtype}{integer(8)} :: k}
\DoxyCodeLine{1473     \textcolor{keywordtype}{save}       :: alu, kp}
\DoxyCodeLine{1474 }
\DoxyCodeLine{1475     \textcolor{keywordflow}{if} ( im /= km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1476        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesGrid\_NN'}, \&}
\DoxyCodeLine{1477             \textcolor{stringliteral}{'Chebyshev truncation and number of grid points should be same.'})}
\DoxyCodeLine{1478 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1479 }
\DoxyCodeLine{1480     \textcolor{keywordflow}{if} ( \textcolor{keyword}{size}(at\_data,2)-\/1 < km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1481        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'E'},\textcolor{stringliteral}{'at\_BoundariesGrid\_NN'}, \&}
\DoxyCodeLine{1482             \textcolor{stringliteral}{'The Chebyshev dimension of input data too small.'})}
\DoxyCodeLine{1483     \textcolor{keywordflow}{elseif} ( \textcolor{keyword}{size}(at\_data,2)-\/1 > km ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1484        \textcolor{keyword}{call }messagenotify(\textcolor{stringliteral}{'W'},\textcolor{stringliteral}{'at\_BoundariesGrid\_NN'}, \&}
\DoxyCodeLine{1485             \textcolor{stringliteral}{'The Chebyshev dimension of input data too large.'})}
\DoxyCodeLine{1486 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1487 }
\DoxyCodeLine{1488     \textcolor{keywordflow}{if} (.not. \textcolor{keyword}{present}(values)) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1489        value1=0.0d0}
\DoxyCodeLine{1490        value2=0.0d0}
\DoxyCodeLine{1491     \textcolor{keywordflow}{else}}
\DoxyCodeLine{1492        value1 = values(:,1)}
\DoxyCodeLine{1493        value2 = values(:,2)}
\DoxyCodeLine{1494 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1495 }
\DoxyCodeLine{1496     \textcolor{keywordflow}{if} ( at\_boundariesgrid\_nn\_first ) \textcolor{keywordflow}{then}}
\DoxyCodeLine{1497        at\_boundariesgrid\_nn\_first = .false.}
\DoxyCodeLine{1498 }
\DoxyCodeLine{1499        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(alu)) \textcolor{keyword}{deallocate}(alu)}
\DoxyCodeLine{1500        \textcolor{keywordflow}{if} (\textcolor{keyword}{allocated}(kp)) \textcolor{keyword}{deallocate}(kp)}
\DoxyCodeLine{1501 }
\DoxyCodeLine{1502        \textcolor{keyword}{allocate}(alu(0:im,0:km),kp(0:im))}
\DoxyCodeLine{1503 }
\DoxyCodeLine{1504        tt\_data = 0.0d0}
\DoxyCodeLine{1505        \textcolor{keywordflow}{do} k=0,km}
\DoxyCodeLine{1506           tt\_data(k,k)=1.0d0}
\DoxyCodeLine{1507 \textcolor{keywordflow}{       enddo}}
\DoxyCodeLine{1508        tg\_data = ag\_at(tt\_data)}
\DoxyCodeLine{1509        alu = transpose(tg\_data)}
\DoxyCodeLine{1510 }
\DoxyCodeLine{1511        tg\_data = ag\_at(at\_dx\_at(tt\_data))}
\DoxyCodeLine{1512        alu(0,:)  = tg\_data(:,0)}
\DoxyCodeLine{1513        alu(im,:) = tg\_data(:,im)}
\DoxyCodeLine{1514 }
\DoxyCodeLine{1515        \textcolor{keyword}{call }ludecomp(alu,kp)}
\DoxyCodeLine{1516 \textcolor{keywordflow}{    endif}}
\DoxyCodeLine{1517 }
\DoxyCodeLine{1518     ag\_data = ag\_at(at\_data)}
\DoxyCodeLine{1519     ag\_data(:,0)  = value1}
\DoxyCodeLine{1520     ag\_data(:,im) = value2}
\DoxyCodeLine{1521     at\_data = lusolve(alu,kp,ag\_data)}
\DoxyCodeLine{1522 }

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