Sophie

Sophie

distrib > Mandriva > 2010.0 > i586 > media > contrib-release > by-pkgid > d5e74628f0e673bb8680aebce32b2c04 > files > 11700

itk-doc-3.12.0-1mdv2010.0.i586.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html><head><meta name="robots" content="noindex">
<meta http-equiv="Content-Type" content="text/html;charset=iso-8859-1">
<title>ITK: itk::fem::SolverHyperbolic Class Reference</title>
<link href="DoxygenStyle.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">


<!--  Section customized for INSIGHT : Tue Jul 17 01:02:45 2001 -->
<center>
<a href="index.html" class="qindex">Main Page</a>&nbsp;&nbsp; 
<a href="modules.html" class="qindex">Groups</a>&nbsp;&nbsp;
<a href="namespaces.html" class="qindex">Namespace List</a>&nbsp;&nbsp;
<a href="hierarchy.html" class="qindex">Class Hierarchy</a>&nbsp;&nbsp;
<a href="classes.html" class="qindex">Alphabetical List</a>&nbsp;&nbsp;
<a href="annotated.html" class="qindex">Compound List</a>&nbsp;&nbsp; 
<a href="files.html" class="qindex">File
List</a>&nbsp;&nbsp; 
<a href="namespacemembers.html" class="qindex">Namespace Members</a>&nbsp;&nbsp; 
<a href="functions.html" class="qindex">Compound Members</a>&nbsp;&nbsp; 
<a href="globals.html" class="qindex">File Members</a>&nbsp;&nbsp;
<a href="pages.html" class="qindex">Concepts</a></center>


<!-- Generated by Doxygen 1.5.9 -->
  <div class="navpath"><a class="el" href="namespaceitk.html">itk</a>::<a class="el" href="namespaceitk_1_1fem.html">fem</a>::<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html">SolverHyperbolic</a>
  </div>
<div class="contents">
<h1>itk::fem::SolverHyperbolic Class Reference</h1><!-- doxytag: class="itk::fem::SolverHyperbolic" --><!-- doxytag: inherits="itk::fem::Solver" --><a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> class suitable for hyperbolic problems.  
<a href="#_details">More...</a>
<p>
<code>#include &lt;<a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>&gt;</code>
<p>
<div class="dynheader">
Inheritance diagram for itk::fem::SolverHyperbolic:</div>
<div class="dynsection">
<p><center><img src="classitk_1_1fem_1_1SolverHyperbolic__inherit__graph.png" border="0" usemap="#itk_1_1fem_1_1SolverHyperbolic__inherit__map" alt="Inheritance graph"></center>
<map name="itk_1_1fem_1_1SolverHyperbolic__inherit__map">
<area shape="rect" id="node2" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver." alt="" coords="40,5,165,35"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>
<div class="dynheader">
Collaboration diagram for itk::fem::SolverHyperbolic:</div>
<div class="dynsection">
<p><center><img src="classitk_1_1fem_1_1SolverHyperbolic__coll__graph.png" border="0" usemap="#itk_1_1fem_1_1SolverHyperbolic__coll__map" alt="Collaboration graph"></center>
<map name="itk_1_1fem_1_1SolverHyperbolic__coll__map">
<area shape="rect" id="node2" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver." alt="" coords="924,100,1049,129"><area shape="rect" id="node4" href="classitk_1_1fem_1_1FEMPArray.html" title="Array for FEMP objects." alt="" coords="513,47,708,76"><area shape="rect" id="node6" href="classitk_1_1fem_1_1LinearSystemWrapperVNL.html" title="LinearSystemWrapper class that uses VNL numeric library functions to define a sparse..." alt="" coords="481,100,740,129"><area shape="rect" id="node8" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a..." alt="" coords="196,100,428,129"><area shape="rect" id="node10" href="classitk_1_1fem_1_1Solution.html" title="Provides functions to access the values of the solution vector." alt="" coords="5,100,144,129"><area shape="rect" id="node12" href="classitk_1_1SmartPointer.html" title="Implements transparent reference counting." alt="" coords="484,153,737,183"></map>
<center><font size="2">[<a href="graph_legend.html">legend</a>]</font></center></div>

<p>
<a href="classitk_1_1fem_1_1SolverHyperbolic-members.html">List of all members.</a><table border="0" cellpadding="0" cellspacing="0">
<tr><td></td></tr>
<tr><td colspan="2"><br><h2>Public Types</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#4106d43cca2edd812eb6f2ead82b43db31efc32d8d25e64e9722096dd12acc3f">matrix_K</a> = 1, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#4106d43cca2edd812eb6f2ead82b43db69d8543c20b881b6da5d465946f96b4b">matrix_M</a> = 2, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#4106d43cca2edd812eb6f2ead82b43db3c874edf26dfb47d0f5055df1a0a0f7e">matrix_C</a> = 3, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#4106d43cca2edd812eb6f2ead82b43db63dd399cc330cae91b353a379c53158e">matrix_tmp</a> = 4
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#b48d7b4900766c46a5343c9c5a74753caf569877f19b8b6019acf160d521af13">solution_d</a> = 0, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#b48d7b4900766c46a5343c9c5a74753c27589451d7bec700c6e2b80b04be15d5">solution_v</a> = 1, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#b48d7b4900766c46a5343c9c5a74753c8d9abcb7692e8207409d2ee3c092261e">solution_a</a> = 2
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">enum &nbsp;</td><td class="memItemRight" valign="bottom">{ <br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#ff1f6074ec916758ccb3a47d8fdda18f16b3dcbde266bfbead2f93dbe17e9b63">vector_dhat</a> = 2, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#ff1f6074ec916758ccb3a47d8fdda18f1356b68cb2334589272a9cc7d600881b">vector_vhat</a> = 3, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#ff1f6074ec916758ccb3a47d8fdda18fecd05438c28a3ca16eff2191ee9bb394">vector_ahat</a> = 4, 
<br>
&nbsp;&nbsp;<a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#ff1f6074ec916758ccb3a47d8fdda18f36376412841ad5fddd24f37dd85e58ef">vector_tmp</a> = 5
<br>
 }</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Element::ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#2d5529ae60b8ce66e8540e49bbc23f2f">ElementArray</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Element::Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1Image.html">itk::Image</a><br class="typebreak">
&lt; <a class="el" href="classitk_1_1fem_1_1Element.html">Element::ConstPointer</a>, <br class="typebreak">
MaxGridDimensions &gt;&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#1ed801173a178f4b73db7c1863cfed9f">InterpolationGridType</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Load::ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#964128f515d7ba6b804c4cbee9bdc016">LoadArray</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Material::ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#ffae74f3d9d2de8d0453c25e7efb657f">MaterialArray</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Node::ArrayType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#e18f600e4f3b1782d74257b0f33c5636">NodeArray</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">typedef <a class="el" href="classvnl__vector.html">Element::VectorType</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#442958a53672d2899b2f81c8547777df">VectorType</a></td></tr>

<tr><td colspan="2"><br><h2>Public Member Functions</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#826f03c2fb925f35e59cdf5a9d4f241f">ApplyBC</a> (int dim=0, unsigned int matrix=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#03d46fc9cc94241e55d9413302f8ad17">AssembleElementMatrix</a> (<a class="el" href="classitk_1_1fem_1_1Element.html">Element::Pointer</a> e)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#53397f2e367f07721f566edf6ee7ed3f">AssembleF</a> (int dim=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#344ef3f19bfcf305af43d54597632782">AssembleK</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#4e4526c203e081c8f4b2f8b4adf7f5da">AssembleLandmarkContribution</a> (<a class="el" href="classitk_1_1fem_1_1Element.html">Element::Pointer</a> e, float)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#7a255226c48b5bda03911d3f16d27c82">Clear</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#b79d74274c60fde250264200bc47a76a">DecomposeK</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#0800c95b6607fab3adc27d2a2d722da4">FinalizeMatrixAfterAssembly</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#e264fad911491bc0bd58efd7ebfbcbdf">GenerateGFN</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#fe57d9dd39f8ea6d748f53f3b8131c56">GetDeformationEnergy</a> (unsigned int SolutionIndex=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1fem_1_1Element.html">Element</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#283bf84597aaa88dfc132d37d3059a79">GetElementAtPoint</a> (const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;pt) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">const <a class="el" href="classitk_1_1Image.html">InterpolationGridType</a> *&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#b1cc210b38e6cc6193df4503c6813912">GetInterpolationGrid</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html">LinearSystemWrapper::Pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#fe05ec0b4b1b5a52a5bfb712fc2a38ff">GetLinearSystemWrapper</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#b4976b11a31382a3e6e2f34a990a44fb">GetNumberOfDegreesOfFreedom</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#0f341208c8516aa18a2194133edbfc02">GetSolution</a> (unsigned int i, unsigned int which=0)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual <a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#8afd09ea54670b9e9f360fc304b42362">GetTimeStep</a> (void) const </td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#c648debf94f686eadb682c14ae8625ba">InitializeInterpolationGrid</a> (const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;size, const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;bb1, const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;bb2)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#8518b25eef86b2e632d5b9d894f9d7d2">InitializeLinearSystemWrapper</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#3eac16ca082e55720f7284074f6788a6">InitializeMatrixForAssembly</a> (unsigned int N)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#954e93629e4055eaff0c12b09b1ec712">itkStaticConstMacro</a> (MaxGridDimensions, unsigned int, 3)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#9292175bd5f735b99fd37a605f39a8aa">Read</a> (std::istream &amp;f)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#b6f9f5c887c1a4468a80d99006f5f694">SetLinearSystemWrapper</a> (<a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html">LinearSystemWrapper::Pointer</a> ls)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#064e3931373db951b4d959b58839e14e">SetTimeStep</a> (<a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> dt)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">virtual void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#5dce1285ae4318f4bf05435300bbf9ef">Solve</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#8d66aaa2cb31518745d7f64a689731b4">SolverHyperbolic</a> ()</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#ceddbdcb541ac5e99eb41fd8794b1275">UpdateDisplacements</a> (void)</td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#84bd13e3a4d716c9f8b5dd628b454d33">Write</a> (std::ostream &amp;f)</td></tr>

<tr><td colspan="2"><div class="groupHeader"></div></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top">void&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#3e7dc50c626fbe771ab9dcc5d7f3daa3">InitializeInterpolationGrid</a> (const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;size)</td></tr>

<tr><td colspan="2"><br><h2>Public Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">ElementArray</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#6f2852ca227980b30bb1cc0ee3f5260f">el</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">LoadArray</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#7f6bb9739f97c41a075d25f02c66395b">load</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#8c5638e4b07d5f4502f4d0502bb28304">m_beta</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#e94c7dc33e3a8a817fc30121f8a4ec09">m_deltaT</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#5457874a6af8377899f7fe58c6ebc24f">m_gamma</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">MaterialArray</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#75e35b0c24e7ac0be0b88ccba5cb23f6">mat</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">NodeArray</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#6762185b526b949d140efe0b36792f6b">node</a></td></tr>

<tr><td colspan="2"><br><h2>Protected Attributes</h2></td></tr>
<tr><td class="memItemLeft" nowrap align="right" valign="top"><a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html">LinearSystemWrapper::Pointer</a>&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#22ce8e0f6c63c72542aa83a4055d76e4">m_ls</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#0a7e098e5ae7324ae62afcdb62d391d2">NGFN</a></td></tr>

<tr><td class="memItemLeft" nowrap align="right" valign="top">unsigned int&nbsp;</td><td class="memItemRight" valign="bottom"><a class="el" href="classitk_1_1fem_1_1Solver.html#7ad5f5085b838f93bf12e9a1736d9b44">NMFC</a></td></tr>

</table>
<hr><a name="_details"></a><h2>Detailed Description</h2>
<a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> class suitable for hyperbolic problems. 
<p>
M*ddu + C*du + K*u=F 
<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00033">33</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>
<hr><h2>Member Typedef Documentation</h2>
<a class="anchor" name="2d5529ae60b8ce66e8540e49bbc23f2f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::ElementArray" ref="2d5529ae60b8ce66e8540e49bbc23f2f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Element::ArrayType</a> <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">itk::fem::Solver::ElementArray</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classitk_1_1Array.html" title="Array class with size defined at construction time.">Array</a> that holds pointers to all elements. since we want to be able to manipulate the array we have to use special pointers 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00054">54</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="335c6c3cfdae6e714302d4da3e9b3c37"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::Float" ref="335c6c3cfdae6e714302d4da3e9b3c37" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1fem_1_1Element.html#c55f879c15daa302723012b7f9d21b94">Element::Float</a> <a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">itk::fem::Solver::Float</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Local float type 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00048">48</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="1ed801173a178f4b73db7c1863cfed9f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::InterpolationGridType" ref="1ed801173a178f4b73db7c1863cfed9f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1Image.html">itk::Image</a>&lt;<a class="el" href="classitk_1_1fem_1_1Element.html">Element::ConstPointer</a>,MaxGridDimensions&gt; <a class="el" href="classitk_1_1Image.html">itk::fem::Solver::InterpolationGridType</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Type used to store interpolation grid 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00095">95</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="964128f515d7ba6b804c4cbee9bdc016"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::LoadArray" ref="964128f515d7ba6b804c4cbee9bdc016" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Load::ArrayType</a> <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">itk::fem::Solver::LoadArray</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classitk_1_1Array.html" title="Array class with size defined at construction time.">Array</a> that holds special pointers to all external loads 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00066">66</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ffae74f3d9d2de8d0453c25e7efb657f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::MaterialArray" ref="ffae74f3d9d2de8d0453c25e7efb657f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Material::ArrayType</a> <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">itk::fem::Solver::MaterialArray</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classitk_1_1Array.html" title="Array class with size defined at construction time.">Array</a> that holds pointers to the materials 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00072">72</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e18f600e4f3b1782d74257b0f33c5636"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::NodeArray" ref="e18f600e4f3b1782d74257b0f33c5636" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">Node::ArrayType</a> <a class="el" href="classitk_1_1fem_1_1FEMPArray.html">itk::fem::Solver::NodeArray</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<a class="el" href="classitk_1_1Array.html" title="Array class with size defined at construction time.">Array</a> that holds special pointers to the nodes 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00060">60</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="442958a53672d2899b2f81c8547777df"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::VectorType" ref="442958a53672d2899b2f81c8547777df" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef <a class="el" href="classvnl__vector.html">Element::VectorType</a> <a class="el" href="classvnl__vector.html">itk::fem::Solver::VectorType</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
VectorType from the <a class="el" href="classitk_1_1fem_1_1Element.html" title="Abstract base element class.">Element</a> base class 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00078">78</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<hr><h2>Member Enumeration Documentation</h2>
<a class="anchor" name="4106d43cca2edd812eb6f2ead82b43db"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::@27" ref="4106d43cca2edd812eb6f2ead82b43db" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constants that specify, where matrices are strored. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="4106d43cca2edd812eb6f2ead82b43db31efc32d8d25e64e9722096dd12acc3f"></a><!-- doxytag: member="matrix_K" ref="4106d43cca2edd812eb6f2ead82b43db31efc32d8d25e64e9722096dd12acc3f" args="" -->matrix_K</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4106d43cca2edd812eb6f2ead82b43db69d8543c20b881b6da5d465946f96b4b"></a><!-- doxytag: member="matrix_M" ref="4106d43cca2edd812eb6f2ead82b43db69d8543c20b881b6da5d465946f96b4b" args="" -->matrix_M</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4106d43cca2edd812eb6f2ead82b43db3c874edf26dfb47d0f5055df1a0a0f7e"></a><!-- doxytag: member="matrix_C" ref="4106d43cca2edd812eb6f2ead82b43db3c874edf26dfb47d0f5055df1a0a0f7e" args="" -->matrix_C</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="4106d43cca2edd812eb6f2ead82b43db63dd399cc330cae91b353a379c53158e"></a><!-- doxytag: member="matrix_tmp" ref="4106d43cca2edd812eb6f2ead82b43db63dd399cc330cae91b353a379c53158e" args="" -->matrix_tmp</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00075">75</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="b48d7b4900766c46a5343c9c5a74753c"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::@28" ref="b48d7b4900766c46a5343c9c5a74753c" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Constants that specify, where vectors are strored. <dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="b48d7b4900766c46a5343c9c5a74753caf569877f19b8b6019acf160d521af13"></a><!-- doxytag: member="solution_d" ref="b48d7b4900766c46a5343c9c5a74753caf569877f19b8b6019acf160d521af13" args="" -->solution_d</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b48d7b4900766c46a5343c9c5a74753c27589451d7bec700c6e2b80b04be15d5"></a><!-- doxytag: member="solution_v" ref="b48d7b4900766c46a5343c9c5a74753c27589451d7bec700c6e2b80b04be15d5" args="" -->solution_v</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="b48d7b4900766c46a5343c9c5a74753c8d9abcb7692e8207409d2ee3c092261e"></a><!-- doxytag: member="solution_a" ref="b48d7b4900766c46a5343c9c5a74753c8d9abcb7692e8207409d2ee3c092261e" args="" -->solution_a</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00080">80</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="ff1f6074ec916758ccb3a47d8fdda18f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::@29" ref="ff1f6074ec916758ccb3a47d8fdda18f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
<dl compact><dt><b>Enumerator: </b></dt><dd>
<table border="0" cellspacing="2" cellpadding="0">
<tr><td valign="top"><em><a class="anchor" name="ff1f6074ec916758ccb3a47d8fdda18f16b3dcbde266bfbead2f93dbe17e9b63"></a><!-- doxytag: member="vector_dhat" ref="ff1f6074ec916758ccb3a47d8fdda18f16b3dcbde266bfbead2f93dbe17e9b63" args="" -->vector_dhat</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ff1f6074ec916758ccb3a47d8fdda18f1356b68cb2334589272a9cc7d600881b"></a><!-- doxytag: member="vector_vhat" ref="ff1f6074ec916758ccb3a47d8fdda18f1356b68cb2334589272a9cc7d600881b" args="" -->vector_vhat</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ff1f6074ec916758ccb3a47d8fdda18fecd05438c28a3ca16eff2191ee9bb394"></a><!-- doxytag: member="vector_ahat" ref="ff1f6074ec916758ccb3a47d8fdda18fecd05438c28a3ca16eff2191ee9bb394" args="" -->vector_ahat</em>&nbsp;</td><td>
</td></tr>
<tr><td valign="top"><em><a class="anchor" name="ff1f6074ec916758ccb3a47d8fdda18f36376412841ad5fddd24f37dd85e58ef"></a><!-- doxytag: member="vector_tmp" ref="ff1f6074ec916758ccb3a47d8fdda18f36376412841ad5fddd24f37dd85e58ef" args="" -->vector_tmp</em>&nbsp;</td><td>
</td></tr>
</table>
</dl>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00081">81</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

</div>
</div><p>
<hr><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" name="8d66aaa2cb31518745d7f64a689731b4"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::SolverHyperbolic" ref="8d66aaa2cb31518745d7f64a689731b4" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">itk::fem::SolverHyperbolic::SolverHyperbolic           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Default constructor 
</div>
</div><p>
<hr><h2>Member Function Documentation</h2>
<a class="anchor" name="826f03c2fb925f35e59cdf5a9d4f241f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::ApplyBC" ref="826f03c2fb925f35e59cdf5a9d4f241f" args="(int dim=0, unsigned int matrix=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::ApplyBC           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dim</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>matrix</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Apply the boundary conditions to the system.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>This function must be called after <a class="el" href="classitk_1_1fem_1_1Solver.html#344ef3f19bfcf305af43d54597632782">AssembleK()</a>.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>matrix</em>&nbsp;</td><td><a class="el" href="classitk_1_1Index.html" title="Represent a n-dimensional index in a n-dimensional image.">Index</a> of a matrix, to which the BCs should be applied (master stiffness matrix). Normally this is zero, but in derived classes many matrices may be used and this index must be specified. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>dim</em>&nbsp;</td><td>This is a parameter that can be passed to the function and is normally used with isotropic elements to specify the dimension in which the DOF is fixed. </td></tr>
  </table>
</dl>

<p>Referenced by <a class="el" href="itkFEMSolver_8h_source.html#l00189">itk::fem::Solver::FinalizeMatrixAfterAssembly()</a>.</p>

</div>
</div><p>
<a class="anchor" name="03d46fc9cc94241e55d9413302f8ad17"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::AssembleElementMatrix" ref="03d46fc9cc94241e55d9413302f8ad17" args="(Element::Pointer e)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::SolverHyperbolic::AssembleElementMatrix           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1fem_1_1Element.html">Element::Pointer</a>&nbsp;</td>
          <td class="paramname"> <em>e</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
When assembling the element matrix into master matrix, we need to assemble the mass matrix too. 
<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#c7b511053301115cf987b7bbdba6ebc1">itk::fem::Solver</a>.</p>

</div>
</div><p>
<a class="anchor" name="53397f2e367f07721f566edf6ee7ed3f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::AssembleF" ref="53397f2e367f07721f566edf6ee7ed3f" args="(int dim=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::AssembleF           </td>
          <td>(</td>
          <td class="paramtype">int&nbsp;</td>
          <td class="paramname"> <em>dim</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assemble the master force vector.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dim</em>&nbsp;</td><td>This is a parameter that can be passed to the function and is normally used with isotropic elements to specify the dimension for which the master force vector should be assembled. </td></tr>
  </table>
</dl>

</div>
</div><p>
<a class="anchor" name="344ef3f19bfcf305af43d54597632782"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::AssembleK" ref="344ef3f19bfcf305af43d54597632782" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::AssembleK           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Assemble the master stiffness matrix (also apply the MFCs to K) 
</div>
</div><p>
<a class="anchor" name="4e4526c203e081c8f4b2f8b4adf7f5da"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::AssembleLandmarkContribution" ref="4e4526c203e081c8f4b2f8b4adf7f5da" args="(Element::Pointer e, float)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::Solver::AssembleLandmarkContribution           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1fem_1_1Element.html">Element::Pointer</a>&nbsp;</td>
          <td class="paramname"> <em>e</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Add the contribution of the landmark-containing elements to the correct position in the master stiffess matrix. Since more complex <a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> classes may need to assemble many matrices and may also do some funky stuff to them, this function is virtual and can be overriden in a derived solver class. 
</div>
</div><p>
<a class="anchor" name="7a255226c48b5bda03911d3f16d27c82"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::Clear" ref="7a255226c48b5bda03911d3f16d27c82" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::Solver::Clear           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Cleans all data members, and initializes the solver to initial state. 
</div>
</div><p>
<a class="anchor" name="b79d74274c60fde250264200bc47a76a"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::DecomposeK" ref="b79d74274c60fde250264200bc47a76a" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::DecomposeK           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Decompose matrix using svd, qr, whatever ... 
</div>
</div><p>
<a class="anchor" name="0800c95b6607fab3adc27d2a2d722da4"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::FinalizeMatrixAfterAssembly" ref="0800c95b6607fab3adc27d2a2d722da4" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::SolverHyperbolic::FinalizeMatrixAfterAssembly           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Combines the M, C and K matrices into one big system of linear equations. 
<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#ddea79b5dbd2ea4d005e9a600a0ae56d">itk::fem::Solver</a>.</p>

</div>
</div><p>
<a class="anchor" name="e264fad911491bc0bd58efd7ebfbcbdf"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GenerateGFN" ref="e264fad911491bc0bd58efd7ebfbcbdf" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::GenerateGFN           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
System solver functions. Call all six functions below (in listed order) to solve system. Assign a global freedom numbers to each DOF in a system. This must be done before any other solve function can be called. 
</div>
</div><p>
<a class="anchor" name="fe57d9dd39f8ea6d748f53f3b8131c56"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetDeformationEnergy" ref="fe57d9dd39f8ea6d748f53f3b8131c56" args="(unsigned int SolutionIndex=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> itk::fem::Solver::GetDeformationEnergy           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>SolutionIndex</em> = <code>0</code>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Get the total deformation energy using the chosen solution 
</div>
</div><p>
<a class="anchor" name="283bf84597aaa88dfc132d37d3059a79"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetElementAtPoint" ref="283bf84597aaa88dfc132d37d3059a79" args="(const VectorType &amp;pt) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classitk_1_1fem_1_1Element.html">Element</a>* itk::fem::Solver::GetElementAtPoint           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>pt</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the pointer to the element which contains global point pt.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>pt</em>&nbsp;</td><td><a class="el" href="classitk_1_1Point.html" title="A templated class holding a geometric point in n-Dimensional space.">Point</a> in global coordinate system.</td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Interpolation grid must be initializes before you can call this function. </dd></dl>

</div>
</div><p>
<a class="anchor" name="b1cc210b38e6cc6193df4503c6813912"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetInterpolationGrid" ref="b1cc210b38e6cc6193df4503c6813912" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const <a class="el" href="classitk_1_1Image.html">InterpolationGridType</a>* itk::fem::Solver::GetInterpolationGrid           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns pointer to interpolation grid, which is an <a class="el" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">itk::Image</a> of pointers to <a class="el" href="classitk_1_1fem_1_1Element.html" title="Abstract base element class.">Element</a> objects. Normally you would use physical coordinates to get specific points (pointers to elements) from the image. You can then use the Elemenet::InterpolateSolution member function on the returned element to obtain the solution at this point.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Physical coordinates in an image correspond to the global coordinate system in which the mesh (nodes) are. </dd></dl>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00132">132</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>References <a class="el" href="itkSmartPointer_8h_source.html#l00094">itk::SmartPointer&lt; TObjectType &gt;::GetPointer()</a>.</p>

</div>
</div><p>
<a class="anchor" name="fe05ec0b4b1b5a52a5bfb712fc2a38ff"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetLinearSystemWrapper" ref="fe05ec0b4b1b5a52a5bfb712fc2a38ff" args="()" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html">LinearSystemWrapper::Pointer</a> itk::fem::Solver::GetLinearSystemWrapper           </td>
          <td>(</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Gets the <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a...">LinearSystemWrapper</a> object.<p>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classitk_1_1fem_1_1Solver.html#b6f9f5c887c1a4468a80d99006f5f694">SetLinearSystemWrapper</a> </dd></dl>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00298">298</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>References <a class="el" href="itkFEMSolver_8h_source.html#l00332">itk::fem::Solver::m_ls</a>.</p>

</div>
</div><p>
<a class="anchor" name="b4976b11a31382a3e6e2f34a990a44fb"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetNumberOfDegreesOfFreedom" ref="b4976b11a31382a3e6e2f34a990a44fb" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int itk::fem::Solver::GetNumberOfDegreesOfFreedom           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00257">257</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>References <a class="el" href="itkFEMSolver_8h_source.html#l00323">itk::fem::Solver::NGFN</a>.</p>

</div>
</div><p>
<a class="anchor" name="0f341208c8516aa18a2194133edbfc02"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetSolution" ref="0f341208c8516aa18a2194133edbfc02" args="(unsigned int i, unsigned int which=0)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> itk::fem::Solver::GetSolution           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>i</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>which</em> = <code>0</code></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00252">252</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>References <a class="el" href="classitk_1_1fem_1_1Solution.html#4d4ea59c159d3d809bd5f7cb83f44818">itk::fem::Solution::GetSolutionValue()</a>, and <a class="el" href="itkFEMSolver_8h_source.html#l00332">itk::fem::Solver::m_ls</a>.</p>

</div>
</div><p>
<a class="anchor" name="8afd09ea54670b9e9f360fc304b42362"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::GetTimeStep" ref="8afd09ea54670b9e9f360fc304b42362" args="(void) const " -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual <a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> itk::fem::SolverHyperbolic::GetTimeStep           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td> const<code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Returns the time step used for dynamic problems. 
<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#75f96c6a8282cdc4728e481a57ca43cd">itk::fem::Solver</a>.</p>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00069">69</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

<p>References <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00085">m_deltaT</a>.</p>

</div>
</div><p>
<a class="anchor" name="3e7dc50c626fbe771ab9dcc5d7f3daa3"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::InitializeInterpolationGrid" ref="3e7dc50c626fbe771ab9dcc5d7f3daa3" args="(const VectorType &amp;size)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::InitializeInterpolationGrid           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>size</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Same as InitializeInterpolationGrid(size, {0,0...}, size); 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00116">116</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>References <a class="el" href="classitk_1_1fem_1_1Solver.html#c648debf94f686eadb682c14ae8625ba">itk::fem::Solver::InitializeInterpolationGrid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="c648debf94f686eadb682c14ae8625ba"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::InitializeInterpolationGrid" ref="c648debf94f686eadb682c14ae8625ba" args="(const VectorType &amp;size, const VectorType &amp;bb1, const VectorType &amp;bb2)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::InitializeInterpolationGrid           </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bb1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="classvnl__vector.html">VectorType</a> &amp;&nbsp;</td>
          <td class="paramname"> <em>bb2</em></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the interpolation grid. The interpolation grid is used to find elements that containg specific points in a mesh. The interpolation grid stores pointers to elements for each point on a grid thereby providing a fast way (lookup table) to perform interpolation of results.<p>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Interpolation grid must be reinitialized each time a mesh changes.</dd></dl>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>size</em>&nbsp;</td><td><a class="el" href="classitk_1_1Vector.html" title="A templated class holding a n-Dimensional vector.">Vector</a> that represents number of points on a grid in each dimension. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bb1</em>&nbsp;</td><td>Lower limit of a bounding box of a grid. </td></tr>
    <tr><td valign="top"></td><td valign="top"><em>bb2</em>&nbsp;</td><td>Upper limit of a bounding box of a grid.</td></tr>
  </table>
</dl>
<dl class="see" compact><dt><b>See also:</b></dt><dd><a class="el" href="classitk_1_1fem_1_1Solver.html#b1cc210b38e6cc6193df4503c6813912">GetInterpolationGrid</a> </dd></dl>

<p>Referenced by <a class="el" href="itkFEMSolver_8h_source.html#l00116">itk::fem::Solver::InitializeInterpolationGrid()</a>.</p>

</div>
</div><p>
<a class="anchor" name="8518b25eef86b2e632d5b9d894f9d7d2"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::InitializeLinearSystemWrapper" ref="8518b25eef86b2e632d5b9d894f9d7d2" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::SolverHyperbolic::InitializeLinearSystemWrapper           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initialize the linear system wrapper. 
<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#78a8a446bf308b3ea8cc4c85ce049738">itk::fem::Solver</a>.</p>

</div>
</div><p>
<a class="anchor" name="3eac16ca082e55720f7284074f6788a6"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::InitializeMatrixForAssembly" ref="3eac16ca082e55720f7284074f6788a6" args="(unsigned int N)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::SolverHyperbolic::InitializeMatrixForAssembly           </td>
          <td>(</td>
          <td class="paramtype">unsigned int&nbsp;</td>
          <td class="paramname"> <em>N</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Initializes the storasge for all master matrices. 
<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#789cc6c7beebce0f37f5c3ceb290de7f">itk::fem::Solver</a>.</p>

</div>
</div><p>
<a class="anchor" name="954e93629e4055eaff0c12b09b1ec712"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::itkStaticConstMacro" ref="954e93629e4055eaff0c12b09b1ec712" args="(MaxGridDimensions, unsigned int, 3)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">itk::fem::Solver::itkStaticConstMacro           </td>
          <td>(</td>
          <td class="paramtype">MaxGridDimensions&nbsp;</td>
          <td class="paramname">, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">unsigned&nbsp;</td>
          <td class="paramname"> <em>int</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">3&nbsp;</td>
          <td class="paramname"></td><td>&nbsp;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td><td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Since the <a class="el" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">itk::Image</a> is templated over the number of dimensions, we have to know this at compile time. <a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> class, however, can handle elements in any number of dimensions. In order to be able to use the <a class="el" href="classitk_1_1Image.html" title="Templated n-dimensional image class.">Image</a>, we choose the maximum number of space dimension that this function will be able to handle. Any unused dimensions are filled with zero.<p>
For example: If a 2D node coordinates are {1.0,3.0} then the corresponding phisycal point in an image is {1.0,3.0,0.0}; 
</div>
</div><p>
<a class="anchor" name="9292175bd5f735b99fd37a605f39a8aa"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::Read" ref="9292175bd5f735b99fd37a605f39a8aa" args="(std::istream &amp;f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::Read           </td>
          <td>(</td>
          <td class="paramtype">std::istream &amp;&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Reads the whole system (nodes, materials and elements) from input stream 
</div>
</div><p>
<a class="anchor" name="b6f9f5c887c1a4468a80d99006f5f694"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::SetLinearSystemWrapper" ref="b6f9f5c887c1a4468a80d99006f5f694" args="(LinearSystemWrapper::Pointer ls)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::SetLinearSystemWrapper           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html">LinearSystemWrapper::Pointer</a>&nbsp;</td>
          <td class="paramname"> <em>ls</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a...">LinearSystemWrapper</a> object that will be used when solving the master equation. If this function is not called, a default VNL linear system representation will be used (class <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapperVNL.html" title="LinearSystemWrapper class that uses VNL numeric library functions to define a sparse...">LinearSystemWrapperVNL</a>).<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>ls</em>&nbsp;</td><td>Pointer to an object of class which is derived from <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a...">LinearSystemWrapper</a>.</td></tr>
  </table>
</dl>
<dl class="note" compact><dt><b>Note:</b></dt><dd>Once the <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a...">LinearSystemWrapper</a> object is changed, it is used until the member function SetLinearSystemWrapper is called again. Since <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a...">LinearSystemWrapper</a> object was created outside the <a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> class, it should also be destroyed outside. <a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> class will not destroy it when the <a class="el" href="classitk_1_1fem_1_1Solver.html" title="Main FEM solver.">Solver</a> object is destroyed. </dd></dl>

</div>
</div><p>
<a class="anchor" name="064e3931373db951b4d959b58839e14e"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::SetTimeStep" ref="064e3931373db951b4d959b58839e14e" args="(Float dt)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::SolverHyperbolic::SetTimeStep           </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a>&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inline, virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Sets the time step used for dynamic problems.<p>
<dl compact><dt><b>Parameters:</b></dt><dd>
  <table border="0" cellspacing="2" cellpadding="0">
    <tr><td valign="top"></td><td valign="top"><em>dt</em>&nbsp;</td><td>New time step. </td></tr>
  </table>
</dl>

<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#0b12daf400b92c77a18dba496e7df108">itk::fem::Solver</a>.</p>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00070">70</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

<p>References <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00085">m_deltaT</a>.</p>

</div>
</div><p>
<a class="anchor" name="5dce1285ae4318f4bf05435300bbf9ef"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::Solve" ref="5dce1285ae4318f4bf05435300bbf9ef" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">virtual void itk::fem::SolverHyperbolic::Solve           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [virtual]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Solves the system for the next time step. 
<p>Reimplemented from <a class="el" href="classitk_1_1fem_1_1Solver.html#51a30382e69273da15b8f8967eb58f96">itk::fem::Solver</a>.</p>

</div>
</div><p>
<a class="anchor" name="ceddbdcb541ac5e99eb41fd8794b1275"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::UpdateDisplacements" ref="ceddbdcb541ac5e99eb41fd8794b1275" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::UpdateDisplacements           </td>
          <td>(</td>
          <td class="paramtype">void&nbsp;</td>
          <td class="paramname">          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Copy solution vector u to the corresponding nodal values, which are stored in node objects). This is standard post processing of the solution 
</div>
</div><p>
<a class="anchor" name="84bd13e3a4d716c9f8b5dd628b454d33"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::Write" ref="84bd13e3a4d716c9f8b5dd628b454d33" args="(std::ostream &amp;f)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void itk::fem::Solver::Write           </td>
          <td>(</td>
          <td class="paramtype">std::ostream &amp;&nbsp;</td>
          <td class="paramname"> <em>f</em>          </td>
          <td>&nbsp;)&nbsp;</td>
          <td><code> [inherited]</code></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Writes everything (nodes, materials and elements) to output stream 
</div>
</div><p>
<hr><h2>Member Data Documentation</h2>
<a class="anchor" name="6f2852ca227980b30bb1cc0ee3f5260f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::el" ref="6f2852ca227980b30bb1cc0ee3f5260f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">ElementArray</a> <a class="el" href="classitk_1_1fem_1_1Solver.html#6f2852ca227980b30bb1cc0ee3f5260f">itk::fem::Solver::el</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00055">55</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="7f6bb9739f97c41a075d25f02c66395b"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::load" ref="7f6bb9739f97c41a075d25f02c66395b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">LoadArray</a> <a class="el" href="classitk_1_1fem_1_1Solver.html#7f6bb9739f97c41a075d25f02c66395b">itk::fem::Solver::load</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00067">67</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="8c5638e4b07d5f4502f4d0502bb28304"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::m_beta" ref="8c5638e4b07d5f4502f4d0502bb28304" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> <a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#8c5638e4b07d5f4502f4d0502bb28304">itk::fem::SolverHyperbolic::m_beta</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00084">84</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="e94c7dc33e3a8a817fc30121f8a4ec09"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::m_deltaT" ref="e94c7dc33e3a8a817fc30121f8a4ec09" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> <a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#e94c7dc33e3a8a817fc30121f8a4ec09">itk::fem::SolverHyperbolic::m_deltaT</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00085">85</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

<p>Referenced by <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00069">GetTimeStep()</a>, and <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00070">SetTimeStep()</a>.</p>

</div>
</div><p>
<a class="anchor" name="5457874a6af8377899f7fe58c6ebc24f"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::m_gamma" ref="5457874a6af8377899f7fe58c6ebc24f" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1Solver.html#335c6c3cfdae6e714302d4da3e9b3c37">Float</a> <a class="el" href="classitk_1_1fem_1_1SolverHyperbolic.html#5457874a6af8377899f7fe58c6ebc24f">itk::fem::SolverHyperbolic::m_gamma</a>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolverHyperbolic_8h_source.html#l00083">83</a> of file <a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="22ce8e0f6c63c72542aa83a4055d76e4"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::m_ls" ref="22ce8e0f6c63c72542aa83a4055d76e4" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html">LinearSystemWrapper::Pointer</a> <a class="el" href="classitk_1_1fem_1_1Solver.html#22ce8e0f6c63c72542aa83a4055d76e4">itk::fem::Solver::m_ls</a><code> [protected, inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Pointer to <a class="el" href="classitk_1_1fem_1_1LinearSystemWrapper.html" title="Defines all functions required by Solver class to allocate, assemble and solve a...">LinearSystemWrapper</a> object. 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00332">332</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>Referenced by <a class="el" href="itkFEMSolver_8h_source.html#l00298">itk::fem::Solver::GetLinearSystemWrapper()</a>, and <a class="el" href="itkFEMSolver_8h_source.html#l00252">itk::fem::Solver::GetSolution()</a>.</p>

</div>
</div><p>
<a class="anchor" name="75e35b0c24e7ac0be0b88ccba5cb23f6"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::mat" ref="75e35b0c24e7ac0be0b88ccba5cb23f6" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">MaterialArray</a> <a class="el" href="classitk_1_1fem_1_1Solver.html#75e35b0c24e7ac0be0b88ccba5cb23f6">itk::fem::Solver::mat</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00073">73</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="0a7e098e5ae7324ae62afcdb62d391d2"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::NGFN" ref="0a7e098e5ae7324ae62afcdb62d391d2" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classitk_1_1fem_1_1Solver.html#0a7e098e5ae7324ae62afcdb62d391d2">itk::fem::Solver::NGFN</a><code> [protected, inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of global degrees of freedom in a system 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00323">323</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

<p>Referenced by <a class="el" href="itkFEMSolver_8h_source.html#l00257">itk::fem::Solver::GetNumberOfDegreesOfFreedom()</a>.</p>

</div>
</div><p>
<a class="anchor" name="7ad5f5085b838f93bf12e9a1736d9b44"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::NMFC" ref="7ad5f5085b838f93bf12e9a1736d9b44" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">unsigned int <a class="el" href="classitk_1_1fem_1_1Solver.html#7ad5f5085b838f93bf12e9a1736d9b44">itk::fem::Solver::NMFC</a><code> [protected, inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>
Number of multi freedom constraints in a system. This member is set in a AssembleK function. 
<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00329">329</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<a class="anchor" name="6762185b526b949d140efe0b36792f6b"></a><!-- doxytag: member="itk::fem::SolverHyperbolic::node" ref="6762185b526b949d140efe0b36792f6b" args="" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="classitk_1_1fem_1_1FEMPArray.html">NodeArray</a> <a class="el" href="classitk_1_1fem_1_1Solver.html#6762185b526b949d140efe0b36792f6b">itk::fem::Solver::node</a><code> [inherited]</code>          </td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>

<p>Definition at line <a class="el" href="itkFEMSolver_8h_source.html#l00061">61</a> of file <a class="el" href="itkFEMSolver_8h_source.html">itkFEMSolver.h</a>.</p>

</div>
</div><p>
<hr>The documentation for this class was generated from the following file:<ul>
<li><a class="el" href="itkFEMSolverHyperbolic_8h_source.html">itkFEMSolverHyperbolic.h</a></ul>
</div>
<hr><address><small>
Generated at Fri May 8 08:53:32 2009 for ITK  by <a href="http://www.stack.nl/~dimitri/doxygen/index.html"> <img 
src="http://www.stack.nl/~dimitri/doxygen/doxygen.png" alt="doxygen"
align="middle" border=0 width=110 height=53>
</a> 1.5.9 written by <a href="mailto:dimitri@stack.nl">Dimitri van Heesch</a>,
 &copy;&nbsp;1997-2000</small></address>
</body>
</html>