<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html;
      charset=windows-1252">
  </head>
  <body text="#000000" bgcolor="#FFFFFF">
    <div class="moz-cite-prefix">On 04/22/2018 06:20 PM, Andrew Devin
      Mcbryde wrote:<br>
    </div>
    <blockquote type="cite"
      cite="mid:0e49dd2823fc4aa1ba792cd1dd731785@spiderman.MercerU.local">
      <meta http-equiv="Content-Type" content="text/html;
        charset=windows-1252">
      <style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
      <div id="divtagdefaultwrapper" dir="ltr" style="font-size: 12pt;
        color: rgb(0, 0, 0); font-family: Calibri, Helvetica,
        sans-serif, EmojiFont, &quot;Apple Color Emoji&quot;,
        &quot;Segoe UI Emoji&quot;, NotoColorEmoji, &quot;Segoe UI
        Symbol&quot;, &quot;Android Emoji&quot;, EmojiSymbols;">
        <p style="margin-top:0; margin-bottom:0">My group and I are
          having some difficulty in understanding your expectation using
          the Jacobi algorithm to calculate the iterations that the
          simulation code uses. We do not understand what the Jacobi
          algorithm actually is and how it can be applied to the problem
          we are currently facing. Most of the information we find
          regarding the function references how the memory is referenced
          and not the actual math that calculates the final values.</p>
      </div>
    </blockquote>
    <p><br>
    </p>
    <p>Let's see if we can break this down a little... equation (2) on
      the group project sheet (which shows how the concentrations of
      each cell change with time)  should be replaced with something
      like equation 3.7 in the text.   In equation 3.7 the <img
        alt="$\Phi$" style="vertical-align: middle;"
        src="cid:part1.17233F9E.EC559767@mercer.edu"> values refer to
      the quantity changing (in your case it is concentrations).  <br>
    </p>
    <p><br>
    </p>
    <p>You will, however, need to convert equation 3.7 to work in 3D. 
      To do this you will need to add a <img alt="$z$"
        style="vertical-align: middle;"
        src="cid:part2.8133B7BC.099788E9@mercer.edu"> component to each 
      concentration cell, i.e. - <img alt="$\Phi(x,y,z)$"
        style="vertical-align: middle;"
        src="cid:part3.92097864.CBEACE4F@mercer.edu">.  You will also
      need to add an additional term to account for the change in the <img
        alt="$z$" style="vertical-align: middle;"
        src="cid:part2.8133B7BC.099788E9@mercer.edu"> dimension.  <br>
    </p>
    <p><br>
    </p>
    <p>Since the diffusion is taking place through the faces only
      (areas), the denominators in your 3D equation will remain squared
      terms, and note cubed terms.<br>
    </p>
    <p><br>
    </p>
    <p>Now think about this -- your modified equation 3.7 will let you
      determine how much any cell in your cube should change with a VERY
      significant new feature -- you have BROKEN all data dependencies
      that would inhibit parallelism (and in many cases those that would
      inhibit vectorization).  Let's call <img alt="$\Phi_c$"
        style="vertical-align: middle;"
        src="cid:part5.6D4DC66B.9F295B95@mercer.edu"> the copy of our
      diffusion cube.  I can calculate the entities of <img
        alt="$\Phi_c$" style="vertical-align: middle;"
        src="cid:part5.6D4DC66B.9F295B95@mercer.edu"> as...</p>
    <p><br>
    </p>
    <p><img alt="$\Phi_c(x,y,z) = \Phi(x,y,z) +
        \frac{\delta\Phi(x,y,z)}{\delta t}$" style="vertical-align:
        middle;" src="cid:part7.0028A2EB.6E7A958E@mercer.edu"></p>
    <p><br>
    </p>
    <p>With this technique you  can calculate ALL of the elements of <img
        alt="$\Phi_c$" style="vertical-align: middle;"
        src="cid:part5.6D4DC66B.9F295B95@mercer.edu"> independently and
      then, when done, copy all of the elements of <img alt="$\Phi_c
        \rightarrow \Phi$" style="vertical-align: middle;"
        src="cid:part9.2B02C603.7943D6D8@mercer.edu">, and then repeat
      the process until you reach equilibrium. <br>
    </p>
    <p><br>
    </p>
    <p>Once you develop a new algorithm,  test the serial version and
      try to obtain the same results you got on your CSC 330 projects. <br>
    </p>
    <p><br>
    </p>
    <p>I STRONGLY encourage you to get the serial version working on
      hammer first.  <br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <p><br>
    </p>
    <pre class="moz-signature" cols="72">-- 
Andrew J. Pounds, Ph.D.  (<a class="moz-txt-link-abbreviated" href="mailto:pounds_aj@mercer.edu">pounds_aj@mercer.edu</a>)
Professor of Chemistry and Computer Science
Mercer University,  Macon, GA 31207   (478) 301-5627
<a class="moz-txt-link-freetext" href="http://faculty.mercer.edu/pounds_aj">http://faculty.mercer.edu/pounds_aj</a>
</pre>
  </body>
</html>