Sophie

Sophie

distrib > Mandriva > 9.1 > ppc > media > contrib > by-pkgid > 263386785cefb9ae5d63b926d214d809 > files > 925

mpqc-2.1.2-4mdk.ppc.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>clkstmpl.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
</head><body bgcolor="#ffffff">
<!-- Generated by Doxygen 1.2.5 on Mon Oct 14 14:16:36 2002 -->
<center>
<a class="qindex" href="index.html">Main Page</a> &nbsp; <a class="qindex" href="hierarchy.html">Class Hierarchy</a> &nbsp; <a class="qindex" href="annotated.html">Compound List</a> &nbsp; <a class="qindex" href="files.html">File List</a> &nbsp; <a class="qindex" href="functions.html">Compound Members</a> &nbsp; <a class="qindex" href="pages.html">Related Pages</a> &nbsp; </center>
<hr><h1>clkstmpl.h</h1><div class="fragment"><pre>00001 
00002 <font class="keyword">namespace </font>sc {
00003 
00004 <font class="keyword">class </font>LocalCLKSContribution {
00005   <font class="keyword">private</font>:
00006     <font class="keywordtype">double</font> * <font class="keyword">const</font> gmat;
00007     <font class="keywordtype">double</font> * <font class="keyword">const</font> pmat;
00008     <font class="keywordtype">double</font> a0;
00009 
00010   <font class="keyword">public</font>:
00011     LocalCLKSContribution(<font class="keywordtype">double</font> *g, <font class="keywordtype">double</font> *p, <font class="keywordtype">double</font> a) :
00012       gmat(g), pmat(p), a0(a) {}
00013     ~LocalCLKSContribution()<font class="keyword"> </font>{}
00014 
00015     <font class="keywordtype">void</font> set_bound(<font class="keywordtype">double</font>, <font class="keywordtype">double</font>)<font class="keyword"> </font>{}
00016 
00017     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont1(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00018       gmat[ij] += val*pmat[kl];
00019       gmat[kl] += val*pmat[ij];
00020     }
00021     
00022     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont2(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00023       val *= -0.25*a0;
00024       gmat[ij] += val*pmat[kl];
00025       gmat[kl] += val*pmat[ij];
00026     }
00027     
00028     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont3(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00029       val *= -0.5*a0;
00030       gmat[ij] += val*pmat[kl];
00031       gmat[kl] += val*pmat[ij];
00032     }
00033     
00034     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont4(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00035       val *= 1.0 - 0.25*a0;
00036       gmat[ij] += val*pmat[kl];
00037       gmat[kl] += val*pmat[ij];
00038     }
00039     
00040     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont5(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00041       val *= 1.0 - 0.5*a0;
00042       gmat[ij] += val*pmat[kl];
00043       gmat[kl] += val*pmat[ij];
00044     }
00045 };
00046 
00047 <font class="keyword">class </font>LocalCLKSEnergyContribution {
00048   <font class="keyword">private</font>:
00049     <font class="keywordtype">double</font> * <font class="keyword">const</font> pmat;
00050     <font class="keywordtype">double</font> a0;
00051 
00052   <font class="keyword">public</font>:
00053     <font class="keywordtype">double</font> ec;
00054     <font class="keywordtype">double</font> ex;
00055     
00056     LocalCLKSEnergyContribution(<font class="keywordtype">double</font> *p, <font class="keywordtype">double</font> a) : pmat(p), a0(a) {
00057       ec=ex=0;
00058     }
00059     ~LocalCLKSEnergyContribution()<font class="keyword"> </font>{}
00060 
00061     <font class="keywordtype">void</font> set_bound(<font class="keywordtype">double</font>, <font class="keywordtype">double</font>)<font class="keyword"> </font>{}
00062 
00063     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont1(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00064       ec += val*pmat[ij]*pmat[kl];
00065     }
00066     
00067     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont2(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00068       ex -= a0*0.25*val*pmat[ij]*pmat[kl];
00069     }
00070     
00071     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont3(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00072       ex -= a0*0.5*val*pmat[ij]*pmat[kl];
00073     }
00074     
00075     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont4(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00076       ec += val*pmat[ij]*pmat[kl];
00077       ex -= a0*0.25*val*pmat[ij]*pmat[kl];
00078     }
00079     
00080     <font class="keyword">inline</font> <font class="keywordtype">void</font> cont5(<font class="keywordtype">int</font> ij, <font class="keywordtype">int</font> kl, <font class="keywordtype">double</font> val)<font class="keyword"> </font>{
00081       ec += val*pmat[ij]*pmat[kl];
00082       ex -= a0*0.5*val*pmat[ij]*pmat[kl];
00083     }
00084 };
00085 
00086 }
</div></pre><hr>
<address>
<small>

Generated at Mon Oct 14 14:16:36 2002 for <a
href="http://aros.ca.sandia.gov/~cljanss/mpqc">MPQC</a>
2.1.2 using the documentation package <a
href="http://www.stack.nl/~dimitri/doxygen/index.html">Doxygen</a>
1.2.5.

</small>
</address>
</body>
</html>