Main Page | Class Hierarchy | Class List | File List | Class Members | File Members | Related Pages

gaufile.h

Go to the documentation of this file.
00001 
00009 #ifndef GAUFILE_H
00010 #define GAUFILE_H
00011 
00012 #include "g94_globals.h"
00013 #include "g94_protos.h" 
00014 
00015 #include "hastring.h"
00016 
00017 class GauFile
00019 {
00020 public:
00021   GauFile();
00022   GauFile(const char* NewFname, const int NewIunit, const char* mode="unknown");
00023   ~GauFile(){}
00024   int opendef();
00025   int open();
00026   int ifopen() { return flag_open; }
00027   int close(char* mode="keep");
00028   void set_gau_iunit(int unit) {iunit = unit ;}
00029   void set_alloc_unit(int size) { init_alloc=size ; }
00030   void set_file_name(const char* cfname) { fname=cfname ; }  
00031   int set_open_mode(const char* mode);
00032   int fileio(const char* operation, const int sub_file, 
00033               int length, void* target, int position);
00034   static void dump_info();
00035   
00036 private:
00037   HaString fname;
00038   int open_mode;
00039   int flag_open;
00040   int iunit;
00041   int init_alloc;
00042 
00043 public:
00044 // Gaussian unit numbers:
00045 
00046         enum GAUSS_RWF_NUM { IO_gen = 501,      /* /GEN/  see description in L1.F */
00047                           IO_basis = 506,    /* /B/ Basis set information */ 
00048                           IO_label = 502,
00049                           IO_ibf   = 508,
00050                           IO_s     = 514,    /* Overlap matrix */
00051                           IO_hcore = 515,
00052                           IO_kinet = 516,
00053                           IO_fermi = 517,
00054                           IO_multipole = 518,
00055                           IO_emo       = 522,
00056                           IO_ca        = 524,
00057                           IO_mo_real_a = 524,
00058                           IO_mo_imag_a = 525,
00059                           IO_cb        = 526,
00060                           IO_mo_real_b = 526,
00061                           IO_mo_imag_b = 527,
00062                           IO_greenf    = 527,
00063                           IO_scf_den_real_a = 528,
00064                           IO_scf_den_imag_a = 529,
00065                           IO_scf_den_real_b = 530,
00066                                                   IO_scf_den_imag_b    =  531,
00067                                                 IO_scf_den_real_tot  =  532,
00068                                                 IO_scf_den_imag_tot  =  533,
00069                                                 IO_scf_den_real_spin =  534,
00070                                                 IO_scf_den_imag_spin =  535,
00071                                                 IO_fock_real_a       =  536,
00072                                                 IO_fock_imag_a       =  537,
00073                                                 IO_fock_real_b       =  538,
00074                                                 IO_fock_imag_b       =  539,
00075                                                 IO_int_sym_a         =  563,  /* Integer symmetry assignments (alpha) */
00076                                                 IO_int_sym_b         =  564,  /* Integer symmetry assignments (beta)  */
00077                                                 IO_dypole_vel        =  572,
00078                                                 IO_dens              =  603,  /* Density Matricies at diff. levels of theory */ 
00079                                                 IO_excit_dens        =  633,  /* Excited-State CI densities */ 
00080                                                 IO_cis_ampl          =  635,  /* CIS amplitudes */
00081                                                 IO_S12_sec_deriv     =  656,  /* Non-symmetric S1 and S2 parts of Lagrangian 
00082                                                for MP2 or CIS second deribvatives */  
00083                                                 IO_sub               =  991,
00084                                                 IO_lnksub            =  992,
00085                                                 IO_info              =  993,
00086                                                 IO_phycon            =  994,
00087                                                 IO_munit             =  995,
00088                                                 IO_top               =  996,
00089                                                 IO_mol               =  997,
00090                                                 IO_ilsw              =  998,
00091                                                 IO_overlay           =  999  };
00092 
00093 };
00094 
00095 
00096 class StdGauFiles
00097 {
00098 public:
00099   StdGauFiles();
00100   StdGauFiles(int argc, char **argv); 
00101   HaString GetName(const char* FileType); 
00102   int SetName(const HaString fname, const char* FileType);
00103   
00104 private:
00105   HaString inp_fname;
00106   HaString rwf_fname;
00107   HaString chk_fname;
00108   HaString scr_fname;
00109   HaString int_fname;
00110   HaString d2e_fname;
00111   HaString out_fname;
00112 };
00113 
00114 #endif /* !GAUFILE_H */
00115 
00116 
00117 
00118 
00119 
00120 
00121 
00122 
00123 
00124 
00125 
00126 
00127 
00128 

Generated on Tue Feb 17 02:03:03 2004 for harlem by doxygen 1.3.6