00001
00009 #ifndef HASCATTERMOD_H
00010 #define HASCATTERMOD_H
00011
00012 #include "hastl.h"
00013 #include "command.h"
00014 #include "hacompmod.h"
00015
00016 class HaNonLocField3D;
00017
00018
00019 class HaScatterMod : public HaCompMod
00020 {
00021 public:
00022 HaScatterMod(HaMolSet* new_phost_mset = NULL);
00023 virtual ~HaScatterMod();
00024
00025 void SetStdParams();
00026
00027 int FindGridHamEigVec(int num_vec);
00028
00029
00030 int CalcPseudoPotGrid();
00031 int CalcPseudoPotAO();
00032 double GetPsPGridElem( int nr_1, int nc_1, int nl_1,
00033 int nr_2, int nc_2, int nl_2);
00034 double GetPsP_xyz(double x1, double y1, double z1,
00035 double x2, double y2, double z2);
00036 double GetPsP_Gauss_xyz(double x1, double y1, double z1,
00037 double x2, double y2, double z2);
00038
00039 double GetKinEne_Gauss_xyz(double x1, double y1, double z1,
00040 double x2, double y2, double z2);
00041
00042 int SetCoreHamOnGrid();
00043
00044 HaNonLocField3D* pot_grid;
00045 double psp_thresh_val;
00046
00047 double pt_exp;
00048 int calc_kin_ene_flag;
00049 HaString psp_fname;
00050
00051 protected:
00052 HaMat_double pseudo_pot_ao;
00053
00054 };
00055
00056 #endif // end if !defined(HASCATTERMOD_H)