<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8"> <title>APBS: vpbe.h Source File</title> <link href="apbs.css" rel="stylesheet" type="text/css"> <link href="tabs.css" rel="stylesheet" type="text/css"> </head><body> <!-- Generated by Doxygen 1.5.7.1 --> <div class="navigation" id="top"> <div class="tabs"> <ul> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="pages.html"><span>Related Pages</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Data Structures</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> </ul> </div> <div class="tabs"> <ul> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>Globals</span></a></li> </ul> </div> <h1>vpbe.h</h1><a href="vpbe_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <a name="l00064"></a>00064 <span class="preprocessor">#ifndef _VPBE_H_</span> <a name="l00065"></a>00065 <span class="preprocessor"></span><span class="preprocessor">#define _VPBE_H_</span> <a name="l00066"></a>00066 <span class="preprocessor"></span> <a name="l00067"></a>00067 <span class="comment">/* Generic headers */</span> <a name="l00068"></a>00068 <span class="preprocessor">#include "maloc/maloc.h"</span> <a name="l00069"></a>00069 <span class="preprocessor">#include "<a class="code" href="vhal_8h.html" title="Contains generic macro definitions for APBS.">apbs/vhal.h</a>"</span> <a name="l00070"></a>00070 <a name="l00071"></a>00071 <span class="comment">/* Specific headers */</span> <a name="l00072"></a>00072 <span class="preprocessor">#include "<a class="code" href="vunit_8h.html" title="Contains a collection of useful constants and conversion factors.">apbs/vunit.h</a>"</span> <a name="l00073"></a>00073 <span class="preprocessor">#include "<a class="code" href="vatom_8h.html" title="Contains declarations for class Vatom.">apbs/vatom.h</a>"</span> <a name="l00074"></a>00074 <span class="preprocessor">#include "<a class="code" href="vacc_8h.html" title="Contains declarations for class Vacc.">apbs/vacc.h</a>"</span> <a name="l00075"></a>00075 <span class="preprocessor">#include "<a class="code" href="vclist_8h.html" title="Contains declarations for class Vclist.">apbs/vclist.h</a>"</span> <a name="l00076"></a>00076 <a name="l00082"></a><a class="code" href="structsVpbe.html">00082</a> <span class="keyword">struct </span><a class="code" href="structsVpbe.html" title="Contains public data members for Vpbe class/module.">sVpbe</a> { <a name="l00083"></a>00083 <a name="l00084"></a><a class="code" href="structsVpbe.html#ed37c5892e35acfede3522d12059b490">00084</a> Vmem *<a class="code" href="structsVpbe.html#ed37c5892e35acfede3522d12059b490">vmem</a>; <a name="l00086"></a><a class="code" href="structsVpbe.html#80649348df8ee2fc947af00bffeea232">00086</a> <a class="code" href="structsValist.html" title="Container class for list of atom objects.">Valist</a> *<a class="code" href="structsVpbe.html#80649348df8ee2fc947af00bffeea232">alist</a>; <a name="l00087"></a><a class="code" href="structsVpbe.html#fb821e881d4544f5a4491383711fce7e">00087</a> <a class="code" href="structsVclist.html" title="Atom cell list.">Vclist</a> *<a class="code" href="structsVpbe.html#fb821e881d4544f5a4491383711fce7e">clist</a>; <a name="l00088"></a><a class="code" href="structsVpbe.html#9c50b58e4b00dada52ffddd25a84109e">00088</a> <a class="code" href="structsVacc.html" title="Oracle for solvent- and ion-accessibility around a biomolecule.">Vacc</a> *<a class="code" href="structsVpbe.html#9c50b58e4b00dada52ffddd25a84109e">acc</a>; <a name="l00090"></a><a class="code" href="structsVpbe.html#e9c9f8469bcbbb11eb29ff9e95327d1d">00090</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#e9c9f8469bcbbb11eb29ff9e95327d1d">T</a>; <a name="l00091"></a><a class="code" href="structsVpbe.html#67007a1a7d6eb5d248008acd5ea07371">00091</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#67007a1a7d6eb5d248008acd5ea07371">soluteDiel</a>; <a name="l00092"></a><a class="code" href="structsVpbe.html#8a62c5daa3ed947840c802ad80f27f41">00092</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#8a62c5daa3ed947840c802ad80f27f41">solventDiel</a>; <a name="l00093"></a>00093 <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#2007bd76c70f16cef6154be5f9bed46e">solventRadius</a>; <a name="l00097"></a><a class="code" href="structsVpbe.html#b43b1009002762a687ceddd55fa51481">00097</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#b43b1009002762a687ceddd55fa51481">bulkIonicStrength</a>; <a name="l00098"></a><a class="code" href="structsVpbe.html#82572b8e049bf3b6da775bb19cede900">00098</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#82572b8e049bf3b6da775bb19cede900">maxIonRadius</a>; <a name="l00101"></a><a class="code" href="structsVpbe.html#5a4d3fb93dfab85c6ad6648922259ef9">00101</a> <span class="keywordtype">int</span> <a class="code" href="structsVpbe.html#5a4d3fb93dfab85c6ad6648922259ef9">numIon</a>; <a name="l00102"></a><a class="code" href="structsVpbe.html#e02efec7896c92e95b7077cf7b28c144">00102</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#e02efec7896c92e95b7077cf7b28c144">ionConc</a>[<a class="code" href="group__Vhal.html#g8ec2427efb460890f443d47e210d9b60" title="The maximum number of ion species that can be involved in a single PBE calculation...">MAXION</a>]; <a name="l00103"></a><a class="code" href="structsVpbe.html#518ca26c5c9d4e78038542a5bbbe2ab0">00103</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#518ca26c5c9d4e78038542a5bbbe2ab0">ionRadii</a>[<a class="code" href="group__Vhal.html#g8ec2427efb460890f443d47e210d9b60" title="The maximum number of ion species that can be involved in a single PBE calculation...">MAXION</a>]; <a name="l00104"></a><a class="code" href="structsVpbe.html#a11e3833889be03c52e9a02cc1d865a1">00104</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#a11e3833889be03c52e9a02cc1d865a1">ionQ</a>[<a class="code" href="group__Vhal.html#g8ec2427efb460890f443d47e210d9b60" title="The maximum number of ion species that can be involved in a single PBE calculation...">MAXION</a>]; <a name="l00106"></a><a class="code" href="structsVpbe.html#5320377844b91cfd29e111e2fb2a5368">00106</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#5320377844b91cfd29e111e2fb2a5368">xkappa</a>; <a name="l00107"></a><a class="code" href="structsVpbe.html#dadcc0189a00c555dbd0450e7335f9eb">00107</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#dadcc0189a00c555dbd0450e7335f9eb">deblen</a>; <a name="l00108"></a><a class="code" href="structsVpbe.html#cf3c1b6241fb63b22c4f85b78721dc77">00108</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#cf3c1b6241fb63b22c4f85b78721dc77">zkappa2</a>; <a name="l00109"></a><a class="code" href="structsVpbe.html#dfc5ef0cfeae508f8dddf4b151d1485b">00109</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#dfc5ef0cfeae508f8dddf4b151d1485b">zmagic</a>; <a name="l00111"></a><a class="code" href="structsVpbe.html#dddf9f8577e8bea09217c5e0cdd6e76b">00111</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#dddf9f8577e8bea09217c5e0cdd6e76b">soluteCenter</a>[3]; <a name="l00112"></a><a class="code" href="structsVpbe.html#2b3418af230beb41a03f5858e6b31be6">00112</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#2b3418af230beb41a03f5858e6b31be6">soluteRadius</a>; <a name="l00113"></a><a class="code" href="structsVpbe.html#7b50431f2178e907dec2d43a322bcf5c">00113</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#7b50431f2178e907dec2d43a322bcf5c">soluteXlen</a>; <a name="l00114"></a><a class="code" href="structsVpbe.html#28c1ec7446792d75f2f442e3f350ce4d">00114</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#28c1ec7446792d75f2f442e3f350ce4d">soluteYlen</a>; <a name="l00115"></a><a class="code" href="structsVpbe.html#63465b3305fc338acfacdc30e5e39896">00115</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#63465b3305fc338acfacdc30e5e39896">soluteZlen</a>; <a name="l00116"></a><a class="code" href="structsVpbe.html#6ca9d873b3f6d95d23f23cc8cc760b32">00116</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#6ca9d873b3f6d95d23f23cc8cc760b32">soluteCharge</a>; <a name="l00118"></a><a class="code" href="structsVpbe.html#4460f54dc2f58ce5a1f797914f99bd98">00118</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#4460f54dc2f58ce5a1f797914f99bd98">smvolume</a>; <a name="l00119"></a><a class="code" href="structsVpbe.html#eac1bc42c54724e708a4a32bc95adce9">00119</a> <span class="keywordtype">double</span> <a class="code" href="structsVpbe.html#eac1bc42c54724e708a4a32bc95adce9">smsize</a>; <a name="l00120"></a><a class="code" href="structsVpbe.html#c1813a6df9a1eb2d4bf5df25bf4a768d">00120</a> <span class="keywordtype">int</span> <a class="code" href="structsVpbe.html#c1813a6df9a1eb2d4bf5df25bf4a768d">ipkey</a>; <a name="l00123"></a><a class="code" href="structsVpbe.html#3f366be28445c2f43e16dcb3121f749c">00123</a> <span class="keywordtype">int</span> <a class="code" href="structsVpbe.html#3f366be28445c2f43e16dcb3121f749c">paramFlag</a>; <a name="l00125"></a>00125 }; <a name="l00126"></a>00126 <a name="l00131"></a><a class="code" href="group__Vpbe.html#g0122150ffb43e32d7af8666ca8edd500">00131</a> <span class="keyword">typedef</span> <span class="keyword">struct </span><a class="code" href="structsVpbe.html" title="Contains public data members for Vpbe class/module.">sVpbe</a> <a class="code" href="structsVpbe.html" title="Contains public data members for Vpbe class/module.">Vpbe</a>; <a name="l00132"></a>00132 <a name="l00133"></a>00133 <span class="comment">/* ///////////////////////////////////////////////////////////////////////////</span> <a name="l00134"></a>00134 <span class="comment"> // Class Vpbe: Inlineable methods (vpbe.c)</span> <a name="l00136"></a>00136 <span class="comment"></span> <a name="l00137"></a>00137 <span class="comment">#if !defined(VINLINE_VPBE)</span> <a name="l00138"></a>00138 <span class="comment"></span> <a name="l00145"></a>00145 <span class="comment">Valist* Vpbe_getValist(Vpbe *thee);</span> <a name="l00146"></a>00146 <span class="comment"></span> <a name="l00153"></a>00153 <span class="comment">Vacc* Vpbe_getVacc(Vpbe *thee);</span> <a name="l00154"></a>00154 <span class="comment"></span> <a name="l00161"></a>00161 <span class="comment">double Vpbe_getBulkIonicStrength(Vpbe *thee);</span> <a name="l00162"></a>00162 <span class="comment"></span> <a name="l00169"></a>00169 <span class="comment">double Vpbe_getMaxIonRadius(Vpbe *thee);</span> <a name="l00170"></a>00170 <span class="comment"></span> <a name="l00177"></a>00177 <span class="comment">double Vpbe_getTemperature(Vpbe *thee); </span> <a name="l00178"></a>00178 <span class="comment"></span> <a name="l00185"></a>00185 <span class="comment">double Vpbe_getSoluteDiel(Vpbe *thee); </span> <a name="l00186"></a>00186 <span class="comment"></span> <a name="l00193"></a>00193 <span class="comment">double Vpbe_getGamma(Vpbe *thee);</span> <a name="l00194"></a>00194 <span class="comment"></span> <a name="l00201"></a>00201 <span class="comment">double Vpbe_getSoluteRadius(Vpbe *thee);</span> <a name="l00202"></a>00202 <span class="comment"></span> <a name="l00209"></a>00209 <span class="comment">double Vpbe_getSoluteXlen(Vpbe *thee);</span> <a name="l00210"></a>00210 <span class="comment"></span> <a name="l00217"></a>00217 <span class="comment">double Vpbe_getSoluteYlen(Vpbe *thee);</span> <a name="l00218"></a>00218 <span class="comment"></span> <a name="l00225"></a>00225 <span class="comment">double Vpbe_getSoluteZlen(Vpbe *thee);</span> <a name="l00226"></a>00226 <span class="comment"></span> <a name="l00233"></a>00233 <span class="comment">double* Vpbe_getSoluteCenter(Vpbe *thee);</span> <a name="l00234"></a>00234 <span class="comment"></span> <a name="l00241"></a>00241 <span class="comment">double Vpbe_getSoluteCharge(Vpbe *thee);</span> <a name="l00242"></a>00242 <span class="comment"></span> <a name="l00249"></a>00249 <span class="comment">double Vpbe_getSolventDiel(Vpbe *thee);</span> <a name="l00250"></a>00250 <span class="comment"></span> <a name="l00257"></a>00257 <span class="comment">double Vpbe_getSolventRadius(Vpbe *thee);</span> <a name="l00258"></a>00258 <span class="comment"></span> <a name="l00265"></a>00265 <span class="comment">double Vpbe_getXkappa(Vpbe *thee);</span> <a name="l00266"></a>00266 <span class="comment"></span> <a name="l00273"></a>00273 <span class="comment">double Vpbe_getDeblen(Vpbe *thee);</span> <a name="l00274"></a>00274 <span class="comment"></span> <a name="l00281"></a>00281 <span class="comment">double Vpbe_getZkappa2(Vpbe *thee);</span> <a name="l00282"></a>00282 <span class="comment"></span> <a name="l00289"></a>00289 <span class="comment">double Vpbe_getZmagic(Vpbe *thee);</span> <a name="l00290"></a>00290 <span class="comment"></span> <a name="l00291"></a>00291 <span class="comment">#else /* if defined(VINLINE_VPBE) */</span> <a name="l00292"></a>00292 <span class="preprocessor"># define Vpbe_getValist(thee) ((thee)->alist)</span> <a name="l00293"></a>00293 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getVacc(thee) ((thee)->acc)</span> <a name="l00294"></a>00294 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getBulkIonicStrength(thee) ((thee)->bulkIonicStrength)</span> <a name="l00295"></a>00295 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getTemperature(thee) ((thee)->T) </span> <a name="l00296"></a>00296 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteDiel(thee) ((thee)->soluteDiel) </span> <a name="l00297"></a>00297 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteCenter(thee) ((thee)->soluteCenter)</span> <a name="l00298"></a>00298 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteRadius(thee) ((thee)->soluteRadius)</span> <a name="l00299"></a>00299 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteXlen(thee) ((thee)->soluteXlen)</span> <a name="l00300"></a>00300 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteYlen(thee) ((thee)->soluteYlen)</span> <a name="l00301"></a>00301 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteZlen(thee) ((thee)->soluteZlen)</span> <a name="l00302"></a>00302 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSoluteCharge(thee) ((thee)->soluteCharge)</span> <a name="l00303"></a>00303 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSolventDiel(thee) ((thee)->solventDiel)</span> <a name="l00304"></a>00304 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getSolventRadius(thee) ((thee)->solventRadius)</span> <a name="l00305"></a>00305 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getMaxIonRadius(thee) ((thee)->maxIonRadius)</span> <a name="l00306"></a>00306 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getXkappa(thee) ((thee)->xkappa)</span> <a name="l00307"></a>00307 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getDeblen(thee) ((thee)->deblen)</span> <a name="l00308"></a>00308 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getZkappa2(thee) ((thee)->zkappa2)</span> <a name="l00309"></a>00309 <span class="preprocessor"></span><span class="preprocessor"># define Vpbe_getZmagic(thee) ((thee)->zmagic)</span> <a name="l00310"></a>00310 <span class="preprocessor"></span><span class="preprocessor">#endif </span><span class="comment">/* if !defined(VINLINE_VPBE) */</span> <a name="l00311"></a>00311 <a name="l00312"></a>00312 <span class="comment">/* ///////////////////////////////////////////////////////////////////////////</span> <a name="l00313"></a>00313 <span class="comment"> // Class Vpbe: Non-Inlineable methods (vpbe.c)</span> <a name="l00315"></a>00315 <span class="comment"></span> <a name="l00348"></a>00348 <span class="comment">Vpbe* Vpbe_ctor(Valist *alist, int ionNum, double *ionConc, </span> <a name="l00349"></a>00349 <span class="comment"> double *ionRadii, double *ionQ, double T, </span> <a name="l00350"></a>00350 <span class="comment"> double soluteDiel, double solventDiel, </span> <a name="l00351"></a>00351 <span class="comment"> double solventRadius, int focusFlag, double sdens);</span> <a name="l00352"></a>00352 <span class="comment"></span> <a name="l00385"></a>00385 <span class="comment">int Vpbe_ctor2(Vpbe *thee, Valist *alist, int ionNum, </span> <a name="l00386"></a>00386 <span class="comment"> double *ionConc, double *ionRadii, double *ionQ, </span> <a name="l00387"></a>00387 <span class="comment"> double T, double soluteDiel, </span> <a name="l00388"></a>00388 <span class="comment"> double solventDiel, double solventRadius, int focusFlag,</span> <a name="l00389"></a>00389 <span class="comment"> double sdens);</span> <a name="l00390"></a>00390 <span class="comment"></span> <a name="l00401"></a>00401 <span class="comment">int Vpbe_getIons(Vpbe *thee, int *nion, double ionConc[MAXION],</span> <a name="l00402"></a>00402 <span class="comment"> double ionRadii[MAXION], double ionQ[MAXION]);</span> <a name="l00403"></a>00403 <span class="comment"></span> <a name="l00409"></a>00409 <span class="comment">void Vpbe_dtor(Vpbe **thee);</span> <a name="l00410"></a>00410 <span class="comment"></span> <a name="l00416"></a>00416 <span class="comment">void Vpbe_dtor2(Vpbe *thee);</span> <a name="l00417"></a>00417 <span class="comment"></span> <a name="l00432"></a>00432 <span class="comment">double Vpbe_getCoulombEnergy1(Vpbe *thee);</span> <a name="l00433"></a>00433 <span class="comment"></span> <a name="l00441"></a>00441 <span class="comment">unsigned long int Vpbe_memChk(Vpbe *thee);</span> <a name="l00442"></a>00442 <span class="comment"></span> <a name="l00443"></a>00443 <span class="comment">#endif /* ifndef _VPBE_H_ */</span> <a name="l00444"></a>00444 </pre></div></div> <hr size="1"><address style="text-align: right;"><small>Generated on Thu Feb 12 06:23:50 2009 for APBS by <a href="http://www.doxygen.org/index.html"> <img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.7.1 </small></address> </body> </html>