\subsection{Implicit\+M\+K\+L Class Reference}
\label{classImplicitMKL}\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}


{\ttfamily \#include $<$implicit.\+h$>$}

Inheritance diagram for Implicit\+M\+K\+L\+:\begin{figure}[H]
\begin{center}
\leavevmode
\includegraphics[height=2.000000cm]{classImplicitMKL}
\end{center}
\end{figure}
\subsubsection*{Public Member Functions}
\begin{DoxyCompactItemize}
\item 
{\bf Implicit\+M\+K\+L} (int my\+\_\+neq, int my\+\_\+nt, double my\+\_\+ti, double my\+\_\+tf, double my\+\_\+dt)
\item 
void {\bf rhs} (double t, double $\ast$u, double $\ast$f)
\item 
void {\bf step} (double t, double $\ast$u, double $\ast$unew)
\end{DoxyCompactItemize}
\subsubsection*{Data Fields}
\begin{DoxyCompactItemize}
\item 
int {\bf neq}
\item 
int {\bf nt}
\item 
double {\bf ti}
\item 
double {\bf tf}
\item 
double {\bf dt}
\end{DoxyCompactItemize}
\subsubsection*{Private Member Functions}
\begin{DoxyCompactItemize}
\item 
void {\bf newt} (double t, double $\ast$uprev, double $\ast$uguess, double $\ast$g)
\item 
void {\bf jac} (double t, double $\ast$u, double $\ast$J)
\end{DoxyCompactItemize}


\subsubsection{Detailed Description}


Definition at line 11 of file implicit.\+h.



\subsubsection{Constructor \& Destructor Documentation}
\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{Implicit\+M\+K\+L(int my\+\_\+neq, int my\+\_\+nt, double my\+\_\+ti, double my\+\_\+tf, double my\+\_\+dt)}]{\setlength{\rightskip}{0pt plus 5cm}Implicit\+M\+K\+L\+::\+Implicit\+M\+K\+L (
\begin{DoxyParamCaption}
\item[{int}]{my\+\_\+neq, }
\item[{int}]{my\+\_\+nt, }
\item[{double}]{my\+\_\+ti, }
\item[{double}]{my\+\_\+tf, }
\item[{double}]{my\+\_\+dt}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}}\label{classImplicitMKL_a787875b2e52713705ba39c56f68f072b}


Definition at line 13 of file implicit.\+h.



\subsubsection{Member Function Documentation}
\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!jac@{jac}}
\index{jac@{jac}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{jac(double t, double $\ast$u, double $\ast$\+J)}]{\setlength{\rightskip}{0pt plus 5cm}void Implicit\+M\+K\+L\+::jac (
\begin{DoxyParamCaption}
\item[{double}]{t, }
\item[{double $\ast$}]{u, }
\item[{double $\ast$}]{J}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [private]}}\label{classImplicitMKL_aea67cdda27bfd080c4914f92bfa566c7}
Helper function for computing the jacobian matrix (using finite differences) for advancing the solution from time t(n) to t(n+1) using an implicit Euler step on a system of equations

\begin{DoxyReturn}{Returns}
(by reference) J the Jacobian for the Newton step 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em t} & current time step \\
\hline
{\em u} & function value at the current time step \\
\hline
{\em J} & Jacobian, returned by reference\\
\hline
\end{DoxyParams}


Definition at line 128 of file implicit.\+h.



References rhs().

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!newt@{newt}}
\index{newt@{newt}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{newt(double t, double $\ast$uprev, double $\ast$uguess, double $\ast$g)}]{\setlength{\rightskip}{0pt plus 5cm}void Implicit\+M\+K\+L\+::newt (
\begin{DoxyParamCaption}
\item[{double}]{t, }
\item[{double $\ast$}]{uprev, }
\item[{double $\ast$}]{uguess, }
\item[{double $\ast$}]{g}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [private]}}\label{classImplicitMKL_ac9153700f10f89e31b0db45bd2c56c66}
Helper function for computing the next Newton step for solving a system of equations

\begin{DoxyReturn}{Returns}
(by reference) g, how far from zero we are 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em t} & current time step \\
\hline
{\em uguess} & current solution guess \\
\hline
{\em uprev} & solution at previous time step \\
\hline
{\em g} & how far from zero we are, returned by reference\\
\hline
\end{DoxyParams}


Definition at line 111 of file implicit.\+h.



References rhs().

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!rhs@{rhs}}
\index{rhs@{rhs}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{rhs(double t, double $\ast$u, double $\ast$f)}]{\setlength{\rightskip}{0pt plus 5cm}void Implicit\+M\+K\+L\+::rhs (
\begin{DoxyParamCaption}
\item[{double}]{t, }
\item[{double $\ast$}]{u, }
\item[{double $\ast$}]{f}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classImplicitMKL_ad5d1c89afc562a0185346ff8e1fe909f}
user implemented rhs function, u\textquotesingle{}=rhs(t,u) \begin{DoxyReturn}{Returns}
(by reference) f\+: rhs(t,u) 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em t} & current time step \\
\hline
{\em u} & solution u at time t \\
\hline
{\em f} & rhs(t,u) \\
\hline
\end{DoxyParams}
user implemented rhs function, u\textquotesingle{}=rhs(t,u) \begin{DoxyReturn}{Returns}
(by reference) f\+: rhs(t,u) 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em t} & current time step \\
\hline
{\em u} & solution u at time t \\
\hline
{\em f} & rhs(t,u)\\
\hline
\end{DoxyParams}


Implements {\bf O\+D\+E} \doxyref{}{p.}{classODE_a9499def749f2914a41b4616f879c991b}.



Definition at line 21 of file implicit.\+h.

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!step@{step}}
\index{step@{step}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{step(double t, double $\ast$u, double $\ast$unew)}]{\setlength{\rightskip}{0pt plus 5cm}void Implicit\+M\+K\+L\+::step (
\begin{DoxyParamCaption}
\item[{double}]{t, }
\item[{double $\ast$}]{u, }
\item[{double $\ast$}]{unew}
\end{DoxyParamCaption}
)\hspace{0.3cm}{\ttfamily [inline]}, {\ttfamily [virtual]}}\label{classImplicitMKL_a69936580278402c177332149d044d016}
user implemented step function, for advancing the solution from t to t+dt \begin{DoxyReturn}{Returns}
(by reference) unew\+: solution at time t+dt 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em t} & current time step \\
\hline
{\em u} & solution u at time t \\
\hline
{\em unew} & solution at time t+dt \\
\hline
\end{DoxyParams}
user implemented step function, for advancing the solution from t to t+dt \begin{DoxyReturn}{Returns}
(by reference) unew\+: solution at time t+dt 
\end{DoxyReturn}

\begin{DoxyParams}{Parameters}
{\em t} & current time step \\
\hline
{\em u} & solution u at time t \\
\hline
{\em unew} & solution at time t+dt\\
\hline
\end{DoxyParams}


Implements {\bf O\+D\+E} \doxyref{}{p.}{classODE_a966f35008ac30511d950b557f53b7468}.



Definition at line 33 of file implicit.\+h.



References jac(), and newt().



\subsubsection{Field Documentation}
\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!dt@{dt}}
\index{dt@{dt}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{dt}]{\setlength{\rightskip}{0pt plus 5cm}double O\+D\+E\+::dt\hspace{0.3cm}{\ttfamily [inherited]}}\label{classODE_a489591849cd00a583407cde072b51acd}
time step 

Definition at line 33 of file ridc.\+h.



Referenced by Brusselator\+\_\+\+G\+S\+L\+::\+Brusselator\+\_\+\+G\+S\+L(), corr\+\_\+be(), corr\+\_\+fe(), Brusselator\+\_\+\+G\+S\+L\+::jac(), Brusselator\+\_\+\+G\+S\+L\+::newt(), ridc\+\_\+be(), ridc\+\_\+fe(), and Brusselator\+\_\+\+G\+S\+L\+::step().

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!neq@{neq}}
\index{neq@{neq}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{neq}]{\setlength{\rightskip}{0pt plus 5cm}int O\+D\+E\+::neq\hspace{0.3cm}{\ttfamily [inherited]}}\label{classODE_ad10440423b2185d322223da17d1135c5}
number of equations 

Definition at line 21 of file ridc.\+h.



Referenced by Brusselator\+\_\+\+G\+S\+L\+::\+Brusselator\+\_\+\+G\+S\+L(), corr\+\_\+be(), corr\+\_\+fe(), Brusselator\+\_\+\+G\+S\+L\+::jac(), Brusselator\+\_\+\+G\+S\+L\+::newt(), Brusselator\+\_\+\+G\+S\+L\+::rhs(), ridc\+\_\+be(), ridc\+\_\+fe(), and Brusselator\+\_\+\+G\+S\+L\+::step().

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!nt@{nt}}
\index{nt@{nt}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{nt}]{\setlength{\rightskip}{0pt plus 5cm}int O\+D\+E\+::nt\hspace{0.3cm}{\ttfamily [inherited]}}\label{classODE_a275faaf08a8602b6a0c60131d3b874b0}
number of time steps 

Definition at line 24 of file ridc.\+h.



Referenced by Brusselator\+\_\+\+G\+S\+L\+::\+Brusselator\+\_\+\+G\+S\+L(), ridc\+\_\+be(), and ridc\+\_\+fe().

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!tf@{tf}}
\index{tf@{tf}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{tf}]{\setlength{\rightskip}{0pt plus 5cm}double O\+D\+E\+::tf\hspace{0.3cm}{\ttfamily [inherited]}}\label{classODE_aa53beae63fb47d22abca58dd4a407e9e}
final time 

Definition at line 30 of file ridc.\+h.



Referenced by Brusselator\+\_\+\+G\+S\+L\+::\+Brusselator\+\_\+\+G\+S\+L().

\index{Implicit\+M\+K\+L@{Implicit\+M\+K\+L}!ti@{ti}}
\index{ti@{ti}!Implicit\+M\+K\+L@{Implicit\+M\+K\+L}}
\paragraph[{ti}]{\setlength{\rightskip}{0pt plus 5cm}double O\+D\+E\+::ti\hspace{0.3cm}{\ttfamily [inherited]}}\label{classODE_abaa6d4b370ec903c7a1f53de5d758cf1}
initial time 

Definition at line 27 of file ridc.\+h.



Referenced by Brusselator\+\_\+\+G\+S\+L\+::\+Brusselator\+\_\+\+G\+S\+L(), ridc\+\_\+be(), and ridc\+\_\+fe().



The documentation for this class was generated from the following file\+:\begin{DoxyCompactItemize}
\item 
examples/implicit\+\_\+mkl/{\bf implicit.\+h}\end{DoxyCompactItemize}
