<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  
  

  
    



  

    <head>
    <title>
      /trunk/examples/convection/advection/implicitUpwind.py –
      FiPy – Trac
    </title>
        <link rel="search" href="/fipy/search" />
        <link rel="help" href="/fipy/wiki/TracGuide" />
        <link rel="alternate" href="/fipy/browser/trunk/examples/convection/advection/implicitUpwind.py?format=txt" type="text/plain" title="Plain Text" /><link rel="alternate" href="/fipy/export/3291/trunk/examples/convection/advection/implicitUpwind.py" type="text/x-python; charset=iso-8859-15" title="Original Format" />
        <link rel="up" href="/fipy/browser/trunk/examples/convection/advection" title="Parent directory" />
        <link rel="start" href="/fipy/wiki" />
        <link rel="stylesheet" href="/trac_htdocs/css/trac.css" type="text/css" /><link rel="stylesheet" href="/trac_htdocs/css/code.css" type="text/css" /><link rel="stylesheet" href="/trac_htdocs/css/browser.css" type="text/css" />
        <link rel="shortcut icon" href="/fipy/chrome/common/trac.ico" type="image/x-icon" />
        <link rel="icon" href="/fipy/chrome/common/trac.ico" type="image/x-icon" />
      <link type="application/opensearchdescription+xml" rel="search" href="/fipy/search/opensearch" title="Search FiPy" />
    <script type="text/javascript" src="/trac_htdocs/js/jquery.js"></script><script type="text/javascript" src="/trac_htdocs/js/trac.js"></script><script type="text/javascript" src="/trac_htdocs/js/search.js"></script>
    <!--[if lt IE 7]>
    <script type="text/javascript" src="/trac_htdocs/js/ie_pre7_hacks.js"></script>
    <![endif]-->
    <script type="text/javascript">
      jQuery(document).ready(function($) {
        $("#jumploc input").hide();
        $("#jumploc select").change(function () {
          this.parentNode.parentNode.submit();
        })
      });
    </script>
        <link rel="stylesheet" type="text/css" href="/trac_htdocs//css/matdlosi.css" />
    </head>
    <body>
    <div id="banner">
      <div id="header">
            <div id="topLogo">
                <img src="/trac_htdocs//hdr_main.jpg" alt="Main Header" usemap="#MatDL_Banner_Narrow_Map" />
                <map name="MatDL_Banner_Narrow_Map">
                    <area shape="rect" alt="Materials Digital Library" coords="44,53,263,70" href="http://matdl.org" />
                    <area shape="rect" alt="NSDL logo" coords="675,43,740,71" href="http://nsdl.org" />
                    <area shape="rect" alt="NSF logo" coords="686,0,731,43" href="http://nsf.gov" />
                    <area shape="rect" alt="MatDL logo" coords="44,0,158,53" href="http://matdl.org" />
                </map>
                <br />
                <br />
            </div>
            <div id="projheader">
                <h1 style="margin: 0px;">
                    <img style="width: 50px;" src="/fipy/chrome/site/fipy-logo.png" alt="FiPy" />
                FiPy: A Finite Volume PDE Solver Using Python</h1>
                <a href="http://www.ctcms.nist.gov/fipy">FiPy Home</a>
            </div>
        </div>
      <form id="search" action="/fipy/search" method="get">
        <div>
          <label for="proj-search">Search:</label>
          <input type="text" id="proj-search" name="q" size="18" value="" />
          <input type="submit" value="Search" />
        </div>
      </form>
      <div id="metanav" class="nav">
    <ul>
      <li class="first"><a href="/fipy/login">Login</a></li><li><a href="/fipy/wiki/TracGuide">Help/Guide</a></li><li><a href="/fipy/about">About Trac</a></li><li><a href="http://matforge.org">Matforge Home</a></li><li><a href="http://matforge.org/participate.html">Participate</a></li><li class="last"><a href="/fipy/prefs">Preferences</a></li>
    </ul>
  </div>
    </div>
    <div id="mainnav" class="nav">
    <ul>
      <li class="first"><a href="/fipy/wiki">Wiki</a></li><li><a href="/fipy/timeline">Timeline</a></li><li><a href="/fipy/roadmap">Roadmap</a></li><li class="active"><a href="/fipy/browser">Browse Source</a></li><li><a href="/fipy/report">View Tickets</a></li><li><a href="/fipy/newticket">New Ticket</a></li><li><a href="/fipy/search">Search</a></li><li><a href="/fipy/downloader">Downloader</a></li><li class="last"><a href="/fipy/build" accesskey="5">Build Status</a></li>
    </ul>
  </div>
    <div id="main">
      <div id="ctxtnav" class="nav">
        <h2>Context Navigation</h2>
          <ul>
            <li class="first "><a href="/fipy/changeset/2811/trunk/examples/convection/advection/implicitUpwind.py">Last Change</a></li><li><a href="/fipy/browser/trunk/examples/convection/advection/implicitUpwind.py?annotate=blame&amp;rev=2811" title="Annotate each line with the last changed revision (this can be time consuming...)">Annotate</a></li><li class="last"><a href="/fipy/log/trunk/examples/convection/advection/implicitUpwind.py">Revision Log</a></li>
          </ul>
        <hr />
      </div>
    <div id="content" class="browser">
      <h1>
    <a class="pathentry first" title="Go to root directory" href="/fipy/browser">root</a><span class="pathentry sep">/</span><a class="pathentry" title="View trunk" href="/fipy/browser/trunk">trunk</a><span class="pathentry sep">/</span><a class="pathentry" title="View examples" href="/fipy/browser/trunk/examples">examples</a><span class="pathentry sep">/</span><a class="pathentry" title="View convection" href="/fipy/browser/trunk/examples/convection">convection</a><span class="pathentry sep">/</span><a class="pathentry" title="View advection" href="/fipy/browser/trunk/examples/convection/advection">advection</a><span class="pathentry sep">/</span><a class="pathentry" title="View implicitUpwind.py" href="/fipy/browser/trunk/examples/convection/advection/implicitUpwind.py">implicitUpwind.py</a>
    <br style="clear: both" />
  </h1>
      <div id="jumprev">
        <form action="" method="get">
          <div>
            <label for="rev">
              View revision:</label>
            <input type="text" id="rev" name="rev" size="6" />
          </div>
        </form>
      </div>
      <div id="jumploc">
        <form action="" method="get">
          <div class="buttons">
            <label for="preselected">Visit:</label>
            <select id="preselected" name="preselected">
              <option selected="selected"></option>
              <optgroup label="branches">
                <option value="/fipy/browser/trunk">trunk</option><option value="/fipy/browser/branches/benchmark">branches/benchmark</option><option value="/fipy/browser/branches/benchmark-old">branches/benchmark-old</option><option value="/fipy/browser/branches/commonSpotting">branches/commonSpotting</option><option value="/fipy/browser/branches/epydoc-hack">branches/epydoc-hack</option><option value="/fipy/browser/branches/examplesFromFred2">branches/examplesFromFred2</option><option value="/fipy/browser/branches/levelSetRefactor">branches/levelSetRefactor</option><option value="/fipy/browser/branches/mayavi">branches/mayavi</option><option value="/fipy/browser/branches/parallel">branches/parallel</option><option value="/fipy/browser/branches/partitioning">branches/partitioning</option><option value="/fipy/browser/branches/pickledVariables">branches/pickledVariables</option><option value="/fipy/browser/branches/pykrylov">branches/pykrylov</option><option value="/fipy/browser/branches/termMultiplication">branches/termMultiplication</option><option value="/fipy/browser/branches/trilinos">branches/trilinos</option><option value="/fipy/browser/branches/variableMeshes">branches/variableMeshes</option><option value="/fipy/browser/branches/version-0_1">branches/version-0_1</option><option value="/fipy/browser/branches/version-1_1">branches/version-1_1</option><option value="/fipy/browser/branches/version-1_2">branches/version-1_2</option><option value="/fipy/browser/branches/version-2_0">branches/version-2_0</option>
              </optgroup><optgroup label="tags">
                <option value="/fipy/browser/tags/removed-scipy-solvers?rev=2830">tags/removed-scipy-solvers</option><option value="/fipy/browser/tags/version-0_1?rev=980">tags/version-0_1</option><option value="/fipy/browser/tags/version-0_1_1?rev=1093">tags/version-0_1_1</option><option value="/fipy/browser/tags/version-1_0?rev=1577">tags/version-1_0</option><option value="/fipy/browser/tags/version-1_1?rev=1850">tags/version-1_1</option><option value="/fipy/browser/tags/version-1_2?rev=2034">tags/version-1_2</option><option value="/fipy/browser/tags/version-1_2_1?rev=2469">tags/version-1_2_1</option><option value="/fipy/browser/tags/version-1_2_2?rev=2903">tags/version-1_2_2</option><option value="/fipy/browser/tags/version-1_2_3?rev=2941">tags/version-1_2_3</option><option value="/fipy/browser/tags/version-2_0?rev=3005">tags/version-2_0</option><option value="/fipy/browser/tags/version-2_0_1?rev=3053">tags/version-2_0_1</option><option value="/fipy/browser/tags/version-2_0_2?rev=3067">tags/version-2_0_2</option>
              </optgroup>
            </select>
            <input type="submit" value="Go!" title="Jump to the chosen preselected path" />
          </div>
        </form>
      </div>
      <table id="info" summary="Revision info">
        <tr>
          <th scope="col">
            Revision <a href="/fipy/changeset/2811">2811</a>, <span title="2521 bytes">2.5 kB</span>
            (checked in by guyer, <a class="timeline" href="/fipy/timeline?from=2008-11-07T12%3A37%3A11Z-0500&amp;precision=second" title="2008-11-07T12:37:11Z-0500 in Timeline">13 months</a> ago)
          </th>
        </tr>
        <tr>
          <td class="message searchable">
              <p>
merged <a class="source" href="/fipy/browser/branches/viewers">source:branches/viewers</a>@ to <a class="source" href="/fipy/browser/trunk">source:trunk</a>@<br />
</p>
          </td>
        </tr>
        <tr>
          <td colspan="2">
            <ul class="props">
              <li>
                  Property <strong>svn:eol-style</strong> set to
                    <em><code>native</code></em>
              </li><li>
                  Property <strong>svn:executable</strong> set to
                    <em><code>*</code></em>
              </li><li>
                  Property <strong>svn:keywords</strong> set to
                    <em><code>Author Date Id Revision</code></em>
              </li>
            </ul>
          </td>
        </tr>
      </table>
      <div id="preview" class="searchable">
    <table class="code"><thead><tr><th class="lineno" title="Line numbers">Line</th><th class="content"> </th></tr></thead><tbody><tr><th id="L1"><a href="#L1">1</a></th><td><i><span class="code-comment">#!/usr/bin/env python</span></i></td></tr><tr><th id="L2"><a href="#L2">2</a></th><td><i><span class="code-comment"></span></i></td></tr><tr><th id="L3"><a href="#L3">3</a></th><td><i><span class="code-comment">## </span></i></td></tr><tr><th id="L4"><a href="#L4">4</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># ###################################################################</span></i></td></tr><tr><th id="L5"><a href="#L5">5</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  FiPy - Python-based finite volume PDE solver</span></i></td></tr><tr><th id="L6"><a href="#L6">6</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># </span></i></td></tr><tr><th id="L7"><a href="#L7">7</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  FILE: "impicitUpwind.py"</span></i></td></tr><tr><th id="L8"><a href="#L8">8</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#</span></i></td></tr><tr><th id="L9"><a href="#L9">9</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  Author: Jonathan Guyer &lt;guyer@nist.gov&gt;</span></i></td></tr><tr><th id="L10"><a href="#L10">10</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  Author: Daniel Wheeler &lt;daniel.wheeler@nist.gov&gt;</span></i></td></tr><tr><th id="L11"><a href="#L11">11</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  Author: James Warren   &lt;jwarren@nist.gov&gt;</span></i></td></tr><tr><th id="L12"><a href="#L12">12</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#    mail: NIST</span></i></td></tr><tr><th id="L13"><a href="#L13">13</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#     www: http://www.ctcms.nist.gov/fipy/</span></i></td></tr><tr><th id="L14"><a href="#L14">14</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  </span></i></td></tr><tr><th id="L15"><a href="#L15">15</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># ========================================================================</span></i></td></tr><tr><th id="L16"><a href="#L16">16</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># This software was developed at the National Institute of Standards</span></i></td></tr><tr><th id="L17"><a href="#L17">17</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># and Technology by employees of the Federal Government in the course</span></i></td></tr><tr><th id="L18"><a href="#L18">18</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># of their official duties.  Pursuant to title 17 Section 105 of the</span></i></td></tr><tr><th id="L19"><a href="#L19">19</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># United States Code this software is not subject to copyright</span></i></td></tr><tr><th id="L20"><a href="#L20">20</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># protection and is in the public domain.  FiPy is an experimental</span></i></td></tr><tr><th id="L21"><a href="#L21">21</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># system.  NIST assumes no responsibility whatsoever for its use by</span></i></td></tr><tr><th id="L22"><a href="#L22">22</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># other parties, and makes no guarantees, expressed or implied, about</span></i></td></tr><tr><th id="L23"><a href="#L23">23</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># its quality, reliability, or any other characteristic.  We would</span></i></td></tr><tr><th id="L24"><a href="#L24">24</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># appreciate acknowledgement if the software is used.</span></i></td></tr><tr><th id="L25"><a href="#L25">25</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># </span></i></td></tr><tr><th id="L26"><a href="#L26">26</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># This software can be redistributed and/or modified freely</span></i></td></tr><tr><th id="L27"><a href="#L27">27</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># provided that any derivative works bear some notice that they are</span></i></td></tr><tr><th id="L28"><a href="#L28">28</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># derived from it, and any modified versions bear some notice that</span></i></td></tr><tr><th id="L29"><a href="#L29">29</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># they have been modified.</span></i></td></tr><tr><th id="L30"><a href="#L30">30</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># ========================================================================</span></i></td></tr><tr><th id="L31"><a href="#L31">31</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">#  </span></i></td></tr><tr><th id="L32"><a href="#L32">32</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment"># ###################################################################</span></i></td></tr><tr><th id="L33"><a href="#L33">33</a></th><td><i><span class="code-comment"></span></i> <i><span class="code-comment">##</span></i></td></tr><tr><th id="L34"><a href="#L34">34</a></th><td><i><span class="code-comment"></span></i></td></tr><tr><th id="L35"><a href="#L35">35</a></th><td><b><span class="code-string">""" </span></b></td></tr><tr><th id="L36"><a href="#L36">36</a></th><td><b><span class="code-string">This example shows the failure of advecting a square pulse with a first</span></b></td></tr><tr><th id="L37"><a href="#L37">37</a></th><td><b><span class="code-string">order implicit upwind scheme.</span></b></td></tr><tr><th id="L38"><a href="#L38">38</a></th><td><b><span class="code-string">"""</span></b></td></tr><tr><th id="L39"><a href="#L39">39</a></th><td></td></tr><tr><th id="L40"><a href="#L40">40</a></th><td><b><span class="code-lang">from</span></b> fipy <b><span class="code-lang">import</span></b> *</td></tr><tr><th id="L41"><a href="#L41">41</a></th><td></td></tr><tr><th id="L42"><a href="#L42">42</a></th><td>valueLeft = 0.</td></tr><tr><th id="L43"><a href="#L43">43</a></th><td>valueRight = 0.</td></tr><tr><th id="L44"><a href="#L44">44</a></th><td>L = 10.</td></tr><tr><th id="L45"><a href="#L45">45</a></th><td>nx = 400</td></tr><tr><th id="L46"><a href="#L46">46</a></th><td>dx = L / nx</td></tr><tr><th id="L47"><a href="#L47">47</a></th><td>cfl = 0.01</td></tr><tr><th id="L48"><a href="#L48">48</a></th><td>velocity = 1.</td></tr><tr><th id="L49"><a href="#L49">49</a></th><td>timeStepDuration = cfl * dx / abs(velocity)</td></tr><tr><th id="L50"><a href="#L50">50</a></th><td>steps = 1000</td></tr><tr><th id="L51"><a href="#L51">51</a></th><td></td></tr><tr><th id="L52"><a href="#L52">52</a></th><td>mesh = Grid1D(dx = dx, nx = nx)</td></tr><tr><th id="L53"><a href="#L53">53</a></th><td></td></tr><tr><th id="L54"><a href="#L54">54</a></th><td>startingArray = zeros(nx, <b><span class="code-string">'d'</span></b>)</td></tr><tr><th id="L55"><a href="#L55">55</a></th><td>startingArray[50:90] = 1. </td></tr><tr><th id="L56"><a href="#L56">56</a></th><td></td></tr><tr><th id="L57"><a href="#L57">57</a></th><td>var = CellVariable(</td></tr><tr><th id="L58"><a href="#L58">58</a></th><td>    name = <b><span class="code-string">"advection variable"</span></b>,</td></tr><tr><th id="L59"><a href="#L59">59</a></th><td>    mesh = mesh,</td></tr><tr><th id="L60"><a href="#L60">60</a></th><td>    value = startingArray)</td></tr><tr><th id="L61"><a href="#L61">61</a></th><td></td></tr><tr><th id="L62"><a href="#L62">62</a></th><td>boundaryConditions = (</td></tr><tr><th id="L63"><a href="#L63">63</a></th><td>    FixedValue(mesh.getFacesLeft(), valueLeft),</td></tr><tr><th id="L64"><a href="#L64">64</a></th><td>    FixedValue(mesh.getFacesRight(), valueRight)</td></tr><tr><th id="L65"><a href="#L65">65</a></th><td>    )</td></tr><tr><th id="L66"><a href="#L66">66</a></th><td></td></tr><tr><th id="L67"><a href="#L67">67</a></th><td>eq = TransientTerm() - PowerLawConvectionTerm(coeff = (velocity,))</td></tr><tr><th id="L68"><a href="#L68">68</a></th><td></td></tr><tr><th id="L69"><a href="#L69">69</a></th><td><b><span class="code-lang">if</span></b> __name__ == <b><span class="code-string">'__main__'</span></b>:</td></tr><tr><th id="L70"><a href="#L70">70</a></th><td>    </td></tr><tr><th id="L71"><a href="#L71">71</a></th><td>    viewer = Viewer(vars=(var,))</td></tr><tr><th id="L72"><a href="#L72">72</a></th><td>    viewer.plot()</td></tr><tr><th id="L73"><a href="#L73">73</a></th><td>    raw_input(<b><span class="code-string">"press key to continue"</span></b>)</td></tr><tr><th id="L74"><a href="#L74">74</a></th><td>    <b><span class="code-lang">for</span></b> step <b><span class="code-lang">in</span></b> range(steps):</td></tr><tr><th id="L75"><a href="#L75">75</a></th><td>        eq.solve(var,</td></tr><tr><th id="L76"><a href="#L76">76</a></th><td>                 dt = timeStepDuration,</td></tr><tr><th id="L77"><a href="#L77">77</a></th><td>                 boundaryConditions = boundaryConditions,</td></tr><tr><th id="L78"><a href="#L78">78</a></th><td>                 solver = LinearLUSolver(tolerance = 1.e-15))</td></tr><tr><th id="L79"><a href="#L79">79</a></th><td>        viewer.plot()</td></tr><tr><th id="L80"><a href="#L80">80</a></th><td>    viewer.plot()</td></tr><tr><th id="L81"><a href="#L81">81</a></th><td>    raw_input(<b><span class="code-string">'finished'</span></b>)</td></tr></tbody></table>
      </div>
      <div id="help">
        <strong>Note:</strong> See <a href="/fipy/wiki/TracBrowser">TracBrowser</a>
        for help on using the browser.
      </div>
      <div id="anydiff">
        <form action="/fipy/diff" method="get">
          <div class="buttons">
            <input type="hidden" name="new_path" value="/trunk/examples/convection/advection/implicitUpwind.py" />
            <input type="hidden" name="old_path" value="/trunk/examples/convection/advection/implicitUpwind.py" />
            <input type="hidden" name="new_rev" value="2811" />
            <input type="hidden" name="old_rev" value="2811" />
            <input type="submit" value="View changes..." title="Select paths and revs for Diff" />
          </div>
        </form>
      </div>
    </div>
    <div id="altlinks">
      <h3>Download in other formats:</h3>
      <ul>
        <li class="first">
          <a rel="nofollow" href="/fipy/browser/trunk/examples/convection/advection/implicitUpwind.py?format=txt">Plain Text</a>
        </li><li class="last">
          <a rel="nofollow" href="/fipy/export/3291/trunk/examples/convection/advection/implicitUpwind.py">Original Format</a>
        </li>
      </ul>
    </div>
    </div>
    <div id="footer" lang="en" xml:lang="en">
            <div id="projfooter"><!-- Project specific footer start -->
                <script type="text/javascript"> if (window.runOnloadHook) runOnloadHook();</script>
                <script type="text/javascript">
                    var gaJsHost = (("https:" == document.location.protocol) ? "https://ssl." : "http://www.");
                    document.write(unescape("%3Cscript src='" + gaJsHost + "google-analytics.com/ga.js' type='text/javascript'%3E%3C/script%3E"));
                </script>
                <script type="text/javascript">
                    var pageTracker = _gat._getTracker("UA-2981268-9");
                    pageTracker._initData();
                    pageTracker._trackPageview();
                </script>
            </div><!-- Project specific footer end -->
            <div id="footer_banner">
                <img src="/trac_htdocs//footer.gif" width="840" height="45" border="0" usemap="#footer" />
                <map name="footer" id="footer">
                    <area shape="rect" coords="2,3,133,42" href="http://www.kent.edu" target="_blank" alt="Kent State University" />
                    <area shape="rect" coords="137,3,240,41" href="http://www.nist.gov" target="_blank" alt="NIST" />
                    <area shape="rect" coords="244,3,372,39" href="http://www.mit.edu" target="_blank" alt="MIT" />
                    <area shape="rect" coords="376,5,606,41" href="http://www.umich.edu" target="_blank" alt="University of Michigan" />
                    <area shape="rect" coords="613,5,715,38" href="http://www.purdue.edu" target="_blank" alt="Purdue" />
                    <area shape="rect" coords="718,4,833,41" href="http://www.iastate.edu" target="_blank" alt="Iowa State University" />
                </map>
            </div>
            <br />
            <div id="altlinks">
                <br />
                <ul>
                    <li><a href="http://matdl.org/repository/about.htm" class="last first"> About </a></li>
                    <li><a href="http://matdl.org/repository/tou.htm" class="last first"> Terms of Use </a></li>
                    <li><a href="http://matdl.org/repository/contact.htm" class="last first"> Contact </a></li>
                    <li><a href="http://matdl.org/repository/priv.htm" class="last first"> Privacy Policy </a></li>
                </ul>
            </div>
        </div>
    </body>
</html>