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
00045
00046 enum GAUSS_RWF_NUM { IO_gen = 501,
00047 IO_basis = 506,
00048 IO_label = 502,
00049 IO_ibf = 508,
00050 IO_s = 514,
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,
00076 IO_int_sym_b = 564,
00077 IO_dypole_vel = 572,
00078 IO_dens = 603,
00079 IO_excit_dens = 633,
00080 IO_cis_ampl = 635,
00081 IO_S12_sec_deriv = 656,
00082
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
00115
00116
00117
00118
00119
00120
00121
00122
00123
00124
00125
00126
00127
00128