Sophie

Sophie

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

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>ukstmpl.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:39 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>ukstmpl.h</h1><div class="fragment"><pre>00001 
00002 <font class="keyword">namespace </font>sc {
00003 
00004 <font class="keyword">class </font>LocalUKSContribution {
00005   <font class="keyword">private</font>:
00006     <font class="keywordtype">double</font> * <font class="keyword">const</font> gmata;
00007     <font class="keywordtype">double</font> * <font class="keyword">const</font> gmatb;
00008     <font class="keywordtype">double</font> * <font class="keyword">const</font> pmata;
00009     <font class="keywordtype">double</font> * <font class="keyword">const</font> pmatb;
00010     <font class="keywordtype">double</font> a0;
00011 
00012   <font class="keyword">public</font>:
00013     LocalUKSContribution(<font class="keywordtype">double</font> *ga, <font class="keywordtype">double</font> *pa, <font class="keywordtype">double</font> *gb, <font class="keywordtype">double</font> *pb,
00014                          <font class="keywordtype">double</font> a) :
00015       gmata(ga), gmatb(gb), pmata(pa), pmatb(pb), a0(a) {}
00016     ~LocalUKSContribution()<font class="keyword"> </font>{}
00017 
00018     <font class="keywordtype">void</font> set_bound(<font class="keywordtype">double</font>, <font class="keywordtype">double</font>)<font class="keyword"> </font>{}
00019 
00020     <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>{
00021       gmata[ij] += val*(pmata[kl]+pmatb[kl]);
00022       gmata[kl] += val*(pmata[ij]+pmatb[ij]);
00023 
00024       gmatb[ij] += val*(pmata[kl]+pmatb[kl]);
00025       gmatb[kl] += val*(pmata[ij]+pmatb[ij]);
00026     }
00027     
00028     <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>{
00029       val *= a0*0.5;
00030       gmata[ij] -= val*pmata[kl];
00031       gmata[kl] -= val*pmata[ij];
00032 
00033       gmatb[ij] -= val*pmatb[kl];
00034       gmatb[kl] -= val*pmatb[ij];
00035     }
00036     
00037     <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>{
00038       val *= a0;
00039       gmata[ij] -= val*pmata[kl];
00040       gmata[kl] -= val*pmata[ij];
00041 
00042       gmatb[ij] -= val*pmatb[kl];
00043       gmatb[kl] -= val*pmatb[ij];
00044     }
00045     
00046     <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>{
00047       cont1(ij,kl,val);
00048       cont2(ij,kl,val);
00049     }
00050     
00051     <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>{
00052       cont1(ij,kl,val);
00053       cont3(ij,kl,val);
00054     }
00055 };
00056 
00057 <font class="keyword">class </font>LocalUKSEnergyContribution {
00058   <font class="keyword">private</font>:
00059     <font class="keywordtype">double</font> * <font class="keyword">const</font> pmata;
00060     <font class="keywordtype">double</font> * <font class="keyword">const</font> pmatb;
00061     <font class="keywordtype">double</font> a0;
00062 
00063   <font class="keyword">public</font>:
00064     <font class="keywordtype">double</font> ec;
00065     <font class="keywordtype">double</font> ex;
00066     
00067     LocalUKSEnergyContribution(<font class="keywordtype">double</font> *a, <font class="keywordtype">double</font> *b, <font class="keywordtype">double</font> an) :
00068       pmata(a), pmatb(b), a0(an) {
00069       ec=ex=0;
00070     }
00071 
00072     ~LocalUKSEnergyContribution()<font class="keyword"> </font>{}
00073 
00074     <font class="keywordtype">void</font> set_bound(<font class="keywordtype">double</font>, <font class="keywordtype">double</font>)<font class="keyword"> </font>{}
00075 
00076     <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>{
00077       ec += val*(pmata[ij]+pmatb[ij])*(pmata[kl]+pmatb[kl]);
00078     }
00079     
00080     <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>{
00081       ex -= a0*0.5*val*(pmata[ij]*pmata[kl]+pmatb[ij]*pmatb[kl]);
00082     }
00083     
00084     <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>{
00085       ex -= a0*val*(pmata[ij]*pmata[kl]+pmatb[ij]*pmatb[kl]);
00086     }
00087     
00088     <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>{
00089       cont1(ij,kl,val);
00090       cont2(ij,kl,val);
00091     }
00092     
00093     <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>{
00094       cont1(ij,kl,val);
00095       cont3(ij,kl,val);
00096     }
00097 };
00098 
00099 }
</div></pre><hr>
<address>
<small>

Generated at Mon Oct 14 14:16:39 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>