<!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>psiwfn.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:38 2002 --> <center> <a class="qindex" href="index.html">Main Page</a> <a class="qindex" href="hierarchy.html">Class Hierarchy</a> <a class="qindex" href="annotated.html">Compound List</a> <a class="qindex" href="files.html">File List</a> <a class="qindex" href="functions.html">Compound Members</a> <a class="qindex" href="pages.html">Related Pages</a> </center> <hr><h1>psiwfn.h</h1><div class="fragment"><pre>00001 00002 <font class="preprocessor">#ifdef __GNUC__</font> 00003 <font class="preprocessor"></font><font class="preprocessor">#pragma interface</font> 00004 <font class="preprocessor"></font><font class="preprocessor">#endif</font> 00005 <font class="preprocessor"></font> 00006 <font class="preprocessor">#ifndef _chemistry_qc_psi_psiwfn_h</font> 00007 <font class="preprocessor"></font><font class="preprocessor">#define _chemistry_qc_psi_psiwfn_h</font> 00008 <font class="preprocessor"></font> 00009 <font class="preprocessor">#include <chemistry/qc/wfn/wfn.h></font> 00010 <font class="preprocessor">#include <chemistry/qc/psi/psiexenv.h></font> 00011 00012 <font class="keyword">namespace </font>sc { 00013 00015 <a name="l00020"></a><a class="code" href="class_sc__PsiWavefunction.html">00020</a> <font class="keyword">class </font>PsiWavefunction: <font class="keyword">public</font> Wavefunction { 00021 00022 Ref<PsiExEnv> exenv_; 00023 00024 <font class="keywordtype">int</font>* read_occ(<font class="keyword">const</font> Ref<KeyVal> &keyval, <font class="keyword">const</font> <font class="keywordtype">char</font> *name, <font class="keywordtype">int</font> nirrep); 00025 00026 <font class="keyword">protected</font>: 00027 <font class="keywordtype">int</font> nirrep_; 00028 <font class="keywordtype">int</font> *docc_; 00029 <font class="keywordtype">int</font> *socc_; 00030 <font class="keywordtype">int</font> *frozen_docc_; 00031 <font class="keywordtype">int</font> *frozen_uocc_; 00032 <font class="keywordtype">int</font> multp_; 00033 <font class="keywordtype">int</font> charge_; 00034 <font class="keywordtype">char</font> *memory_; 00036 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiWavefunction.html#b0">write_input</a>(<font class="keywordtype">int</font> conv) =0; 00037 00038 <font class="keyword">public</font>: 00053 <a class="code" href="class_sc__PsiWavefunction.html#a0">PsiWavefunction</a>(<font class="keyword">const</font> Ref<KeyVal>&); 00054 <a class="code" href="class_sc__PsiWavefunction.html#a0">PsiWavefunction</a>(StateIn&); 00055 ~PsiWavefunction(); 00056 00057 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiWavefunction.html#a3">save_data_state</a>(StateOut&); 00058 00061 <font class="keyword">virtual</font> <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiWavefunction.html#a4">write_basic_input</a>(<font class="keywordtype">int</font> conv); 00062 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiWavefunction.html#a5">compute</a>(); 00063 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiWavefunction.html#a6">print</a>(std::ostream&o=ExEnv::out0()) <font class="keyword">const</font>; 00064 RefSymmSCMatrix <a class="code" href="class_sc__PsiWavefunction.html#a7">density</a>(); 00065 <font class="keywordtype">int</font> <a class="code" href="class_sc__PsiWavefunction.html#a8">nelectron</a>(); 00066 <a name="l00068"></a><a class="code" href="class_sc__PsiWavefunction.html#a9">00068</a> Ref<PsiExEnv> <a class="code" href="class_sc__PsiWavefunction.html#a9">get_psi_exenv</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> exenv_; }; <a name="l00070"></a><a class="code" href="class_sc__PsiWavefunction.html#a10">00070</a> Ref<PsiInput> <a class="code" href="class_sc__PsiWavefunction.html#a10">get_psi_input</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> exenv_->get_psi_input(); }; 00071 }; 00072 00075 <a name="l00076"></a><a class="code" href="class_sc__PsiSCF.html">00076</a> <font class="keyword">class </font>PsiSCF: <font class="keyword">public</font> PsiWavefunction { 00077 <font class="keyword">public</font>: 00078 PsiSCF(<font class="keyword">const</font> Ref<KeyVal>&); 00079 PsiSCF(StateIn&); 00080 ~PsiSCF(); 00081 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiSCF.html#a3">save_data_state</a>(StateOut&); 00082 00083 <font class="keyword">enum</font> RefType {rhf, hsoshf, uhf}; 00085 <font class="keyword">virtual</font> PsiSCF::RefType <a class="code" href="class_sc__PsiSCF.html#a4">reftype</a>() <font class="keyword">const</font> =0; 00086 }; 00087 00090 <a name="l00091"></a><a class="code" href="class_sc__PsiCLHF.html">00091</a> <font class="keyword">class </font>PsiCLHF: <font class="keyword">public</font> PsiSCF { 00092 <font class="keyword">protected</font>: 00093 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiCLHF.html#b0">write_input</a>(<font class="keywordtype">int</font> conv); 00094 <font class="keyword">public</font>: 00095 PsiCLHF(<font class="keyword">const</font> Ref<KeyVal>&); 00096 PsiCLHF(StateIn&); 00097 ~PsiCLHF(); 00098 00099 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiCLHF.html#a3">write_basic_input</a>(<font class="keywordtype">int</font> conv); <a name="l00100"></a><a class="code" href="class_sc__PsiCLHF.html#a4">00100</a> <font class="keywordtype">int</font> <a class="code" href="class_sc__PsiCLHF.html#a4">spin_polarized</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> 0;}; 00101 <font class="keywordtype">int</font> gradient_implemented()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> 1;}; <a name="l00102"></a><a class="code" href="class_sc__PsiCLHF.html#a6">00102</a> PsiSCF::RefType <a class="code" href="class_sc__PsiCLHF.html#a6">reftype</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> rhf;}; 00103 }; 00104 00107 <a name="l00108"></a><a class="code" href="class_sc__PsiHSOSHF.html">00108</a> <font class="keyword">class </font>PsiHSOSHF: <font class="keyword">public</font> PsiSCF { 00109 <font class="keyword">protected</font>: 00110 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiHSOSHF.html#b0">write_input</a>(<font class="keywordtype">int</font> conv); 00111 <font class="keyword">public</font>: 00112 PsiHSOSHF(<font class="keyword">const</font> Ref<KeyVal>&); 00113 PsiHSOSHF(StateIn&); 00114 ~PsiHSOSHF(); 00115 00116 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiHSOSHF.html#a3">write_basic_input</a>(<font class="keywordtype">int</font> conv); <a name="l00117"></a><a class="code" href="class_sc__PsiHSOSHF.html#a4">00117</a> <font class="keywordtype">int</font> <a class="code" href="class_sc__PsiHSOSHF.html#a4">spin_polarized</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> 0;}; 00118 <font class="keywordtype">int</font> gradient_implemented()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> 1;}; <a name="l00119"></a><a class="code" href="class_sc__PsiHSOSHF.html#a6">00119</a> PsiSCF::RefType <a class="code" href="class_sc__PsiHSOSHF.html#a6">reftype</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> hsoshf;}; 00120 }; 00121 00124 <a name="l00125"></a><a class="code" href="class_sc__PsiUHF.html">00125</a> <font class="keyword">class </font>PsiUHF: <font class="keyword">public</font> PsiSCF { 00126 <font class="keyword">protected</font>: 00127 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiUHF.html#b0">write_input</a>(<font class="keywordtype">int</font> conv); 00128 <font class="keyword">public</font>: 00129 PsiUHF(<font class="keyword">const</font> Ref<KeyVal>&); 00130 PsiUHF(StateIn&); 00131 ~PsiUHF(); 00132 00133 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiUHF.html#a3">write_basic_input</a>(<font class="keywordtype">int</font> conv); <a name="l00134"></a><a class="code" href="class_sc__PsiUHF.html#a4">00134</a> <font class="keywordtype">int</font> <a class="code" href="class_sc__PsiUHF.html#a4">spin_polarized</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> 1;}; 00135 <font class="keywordtype">int</font> gradient_implemented()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> 1;}; <a name="l00136"></a><a class="code" href="class_sc__PsiUHF.html#a6">00136</a> PsiSCF::RefType <a class="code" href="class_sc__PsiUHF.html#a6">reftype</a>()<font class="keyword"> const </font>{ <font class="keywordflow">return</font> uhf;}; 00137 }; 00138 00141 <a name="l00142"></a><a class="code" href="class_sc__PsiCCSD.html">00142</a> <font class="keyword">class </font>PsiCCSD: <font class="keyword">public</font> PsiWavefunction { 00143 Ref<PsiSCF> reference_; 00144 <font class="keyword">protected</font>: 00145 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiCCSD.html#b0">write_input</a>(<font class="keywordtype">int</font> conv); 00146 <font class="keyword">public</font>: 00147 PsiCCSD(<font class="keyword">const</font> Ref<KeyVal>&); 00148 PsiCCSD(StateIn&); 00149 ~PsiCCSD(); 00150 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiCCSD.html#a3">save_data_state</a>(StateOut&); <a name="l00151"></a><a class="code" href="class_sc__PsiCCSD.html#a4">00151</a> <font class="keywordtype">int</font> <a class="code" href="class_sc__PsiCCSD.html#a4">spin_polarized</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> reference_->spin_polarized();}; 00152 <font class="keywordtype">int</font> gradient_implemented() <font class="keyword">const</font>; 00153 }; 00154 00157 <a name="l00158"></a><a class="code" href="class_sc__PsiCCSD_T.html">00158</a> <font class="keyword">class </font>PsiCCSD_T: <font class="keyword">public</font> PsiWavefunction { 00159 Ref<PsiSCF> reference_; 00160 <font class="keyword">protected</font>: 00161 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiCCSD_T.html#b0">write_input</a>(<font class="keywordtype">int</font> conv); 00162 <font class="keyword">public</font>: 00163 PsiCCSD_T(<font class="keyword">const</font> Ref<KeyVal>&); 00164 PsiCCSD_T(StateIn&); 00165 ~PsiCCSD_T(); 00166 00167 <font class="keywordtype">void</font> <a class="code" href="class_sc__PsiCCSD_T.html#a3">save_data_state</a>(StateOut&); <a name="l00168"></a><a class="code" href="class_sc__PsiCCSD_T.html#a4">00168</a> <font class="keywordtype">int</font> <a class="code" href="class_sc__PsiCCSD_T.html#a4">spin_polarized</a>()<font class="keyword"> </font>{ <font class="keywordflow">return</font> reference_->spin_polarized();}; 00169 <font class="keywordtype">int</font> gradient_implemented() <font class="keyword">const</font>; 00170 }; 00171 00172 } 00173 00174 <font class="preprocessor">#endif</font> </font></div></pre><hr> <address> <small> Generated at Mon Oct 14 14:16:38 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>