Commit 275b83ad authored by Chris Cantwell's avatar Chris Cantwell
Browse files

Fixed a couple of errors and added documentation.

parent b2db1f0c
...@@ -71,15 +71,21 @@ CardiacEPSolver session.xml ...@@ -71,15 +71,21 @@ CardiacEPSolver session.xml
\section{Session file configuration} \section{Session file configuration}
\subsection{Solver Info} \subsection{Solver Info}
\begin{itemize} \begin{itemize}
\item \inltt{Eqtype} Specifies the PDE system to solve. This should take \item \inltt{Eqtype} Specifies the PDE system to solve. The following values
the value \inltt{Monodomain}. are supported:
\begin{itemize}
\item \inltt{Monodomain}: solve the monodomain equation.
\item \inltt{BidomainRoth}: solve the bidomain equations using the Roth
formulation.
\end{itemize}
\item \inltt{CellModel} Specifies the cell model to use. Available cell \item \inltt{CellModel} Specifies the cell model to use. Available cell
models are models are
\begin{center} \begin{center}
\begin{tabular}{l|l|l|l} \begin{tabular}{l|l|l|l}
\toprule
Value & Description & No. of Var. & Ref. \\ Value & Description & No. of Var. & Ref. \\
\hline \midrule
\inltt{AlievPanfilov} & Phenomological & 1 & \cite{AlPa96} \\ \inltt{AlievPanfilov} & Phenomological & 1 & \cite{AlPa96} \\
\inltt{CourtemancheRamirezNattel98} & Human atrial & 20 & \cite{CoRaNa98} \\ \inltt{CourtemancheRamirezNattel98} & Human atrial & 20 & \cite{CoRaNa98} \\
\inltt{FitzHughNagumo} & & & \\ \inltt{FitzHughNagumo} & & & \\
...@@ -88,7 +94,7 @@ CardiacEPSolver session.xml ...@@ -88,7 +94,7 @@ CardiacEPSolver session.xml
\inltt{PanditGilesDemir03} & & & \\ \inltt{PanditGilesDemir03} & & & \\
\inltt{TenTusscher06} & Human ventricular & 18 & \cite{TuPa06} \\ \inltt{TenTusscher06} & Human ventricular & 18 & \cite{TuPa06} \\
\inltt{Winslow99} & & & \\ \inltt{Winslow99} & & & \\
\hline \bottomrule
\end{tabular} \end{tabular}
\end{center} \end{center}
...@@ -154,7 +160,7 @@ $\mathbf{\sigma}$ of the tissue. ...@@ -154,7 +160,7 @@ $\mathbf{\sigma}$ of the tissue.
\subsection{Filters} \subsection{Filters}
\begin{itemize} \begin{itemize}
\item \inltt{CheckpointCellModel} checkpoints the cell model. Can be \item \inltt{CheckpointCellModel} checkpoints the cell model. Can be
used along with the \inltt{Checkpoint Filter} to record complete simulation used along with the \inltt{Checkpoint} filter to record complete simulation
state and regular intervals. state and regular intervals.
\begin{lstlisting}[style=XmlStyle] \begin{lstlisting}[style=XmlStyle]
<FILTER TYPE="CheckpointCellModel"> <FILTER TYPE="CheckpointCellModel">
...@@ -190,6 +196,30 @@ $\mathbf{\sigma}$ of the tissue. ...@@ -190,6 +196,30 @@ $\mathbf{\sigma}$ of the tissue.
\item \inltt{Points} specifies a list of coordinates at which electrograms \item \inltt{Points} specifies a list of coordinates at which electrograms
are desired. \emph{They must not lie within the domain.} are desired. \emph{They must not lie within the domain.}
\end{itemize} \end{itemize}
\item \inltt{Benchmark} Records spatially distributed event times for
activation and repolarisation (recovert) during a simulation, for
undertaking benchmark test problems.
\begin{lstlisting}[style=XmlStyle]
<FILTER TYPE="Benchmark">
<PARAM NAME="ThresholdValue"> -40.0 </PARAM>
<PARAM NAME="InitialValue"> 0.0 </PARAM>
<PARAM NAME="OutputFile"> benchmark </PARAM>
<PARAM NAME="StartTime"> 0.0 </PARAM>
</FILTER>
\end{lstlisting}
\begin{itemize}
\item \inltt{ThresholdValue} specifies the value above which tissue is
considered to be depolarised and below which is considered
repolarised.
\item \inltt{InitialValue} specifies the initial value of the
activation or repolarisation time map.
\item \inltt{OutputFile} specifies the base filename of activation and
repolarisation maps output from the filter. This name is appended
with the index of the event and the suffix `.fld`.
\item \inltt{StartTime} (optional) specifies the simulation time at
which to start detecting events.
\end{itemize}
\end{itemize} \end{itemize}
......
...@@ -73,6 +73,7 @@ FilterBenchmark::FilterBenchmark( ...@@ -73,6 +73,7 @@ FilterBenchmark::FilterBenchmark(
"Missing parameter 'OutputFile'."); "Missing parameter 'OutputFile'.");
m_outputFile = pParams.find("OutputFile")->second; m_outputFile = pParams.find("OutputFile")->second;
m_startTime = 0.0;
if (pParams.find("StartTime") != pParams.end()) if (pParams.find("StartTime") != pParams.end())
{ {
m_startTime = atof(pParams.find("StartTime")->second.c_str()); m_startTime = atof(pParams.find("StartTime")->second.c_str());
......
...@@ -49,7 +49,7 @@ namespace Nektar ...@@ -49,7 +49,7 @@ namespace Nektar
*/ */
FilterElectrogram::FilterElectrogram( FilterElectrogram::FilterElectrogram(
const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::SessionReaderSharedPtr &pSession,
const std::map<std::string, std::string> &pParams) i const std::map<std::string, std::string> &pParams)
: Filter(pSession) : Filter(pSession)
{ {
if (pParams.find("OutputFile") == pParams.end()) if (pParams.find("OutputFile") == pParams.end())
......
...@@ -50,7 +50,7 @@ namespace Nektar ...@@ -50,7 +50,7 @@ namespace Nektar
static SolverUtils::FilterSharedPtr create( static SolverUtils::FilterSharedPtr create(
const LibUtilities::SessionReaderSharedPtr &pSession, const LibUtilities::SessionReaderSharedPtr &pSession,
const std::map<std::string, std::string> &pParams) { const std::map<std::string, std::string> &pParams) {
FilterSharedPtr p = SolverUtils::FilterSharedPtr p =
MemoryManager<FilterElectrogram>::AllocateSharedPtr( MemoryManager<FilterElectrogram>::AllocateSharedPtr(
pSession, pParams); pSession, pParams);
return p; return p;
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment