OpenMCTDHB v2.3
|
00001 C*********************************************************************** 00002 C 00003 C MCTDH include file operdef.inc 00004 C 00005 C*********************************************************************** 00006 00007 integer maxhtm,maxdef,maxfac,maxmuld 00008 parameter (maxhtm=1200) 00009 parameter (maxfac=1200) 00010 parameter (maxdef=100) 00011 parameter (maxmuld=10) 00012 00013 C----------------------------------------------------------------------- 00014 C parameters defining operator modes (may be different from system) 00015 C----------------------------------------------------------------------- 00016 integer nopmode,nopdof 00017 00018 common /opmodes/ nopmode,nopdof 00019 00020 C----------------------------------------------------------------------- 00021 C POINTERS FOR ARRAYS 00022 C 00023 C----------------------------------------------------------------------- 00024 integer zhop(maxhtm) 00025 00026 common /operpoint/ zhop 00027 00028 C----------------------------------------------------------------------- 00029 C the hterm and associated arrays 00030 C----------------------------------------------------------------------- 00031 integer hterm(maxfac,maxhtm),htmdof(maxhtm),htmmode(maxhtm), 00032 + htmmuld(maxhtm),htmfac(maxhtm),htmform(maxhtm), 00033 + htmsym(maxhtm) 00034 00035 common /htmdef/ hterm,htmdof,htmmode,htmmuld,htmfac,htmform, 00036 + htmsym 00037 00038 C----------------------------------------------------------------------- 00039 C SOME MORE PARAMETERS NEEDED FOR HAMILTONIAN 00040 C 00041 C nopts(n) : number of parameters storred in pesopts(n) for nth surface 00042 C----------------------------------------------------------------------- 00043 integer maxhpar,maxhop,maxpes 00044 parameter (maxhpar=5) 00045 parameter (maxhop=1000) 00046 parameter (maxpes=20) 00047 00048 integer hopfile(maxhop),hopdim,hopipar(maxhpar,maxhop), 00049 + hopilab(maxhop),npesopt,nhoppar,zpesopts(maxhpar,maxpes), 00050 + nopts(maxpes) 00051 real*8 hoprpar(maxhpar,maxhop) 00052 real*8 hoppar(maxhpar,maxhop) 00053 character*(c2) hoplab(maxhop) 00054 character*(c5) pesopts(maxpes) 00055 00056 common /ihoplab/ hopfile,nhoppar,hopdim,hopilab,hopipar, 00057 + npesopt,zpesopts,nopts 00058 common /ahoplab/ hoplab,pesopts 00059 common /rhoplab/ hoprpar,hoppar 00060 00061 C----------------------------------------------------------------------- 00062 C parameters used to cut high/low values of correlated PES surface 00063 C----------------------------------------------------------------------- 00064 logical lcutpes 00065 real*8 pesmin,pesmax 00066 00067 common /lcutpescb/ lcutpes 00068 common /rcutpes/ pesmin,pesmax 00069 00070 C----------------------------------------------------------------------- 00071 C properties of the PES surface 00072 C 00073 C iqconst(f) : if 1, and dof is not in specified system, coordinate 00074 C is set to value in rqconst(f) 00075 C if 0, and dof is not in specified system, coordinate 00076 C is set to 0.0d0 00077 C if dof is in specified system, this flag is ignored. 00078 C----------------------------------------------------------------------- 00079 integer iqconst(maxdim) 00080 real*8 vmin,vmax,rqconst(maxdim) 00081 00082 common /ipesprop/ iqconst 00083 common /rpesprop/ vmin,vmax,rqconst 00084 00085 C----------------------------------------------------------------------- 00086 C arrays storing information for multi-D operators 00087 C 00088 C mulddim: no. of multi-D sets of coordinates 00089 C 00090 C----------------------------------------------------------------------- 00091 integer mulddim,mulddof(maxdim,maxmuld),muldsize(maxmuld), 00092 + nmulddof(maxmuld) 00093 00094 common /mulddef/ mulddim,mulddof,muldsize,nmulddof 00095 00096 C----------------------------------------------------------------------- 00097 C PARAMETERS NEEDED FOR HAMILTONIAN 00098 C 00099 C hopsdim : length of array containing hops 00100 C lcap : calculation employing CAPs 00101 C lcdvr : any multidimensional Hamiltonian terms use the CDVR method 00102 C ltdvr : any multidimensional Hamiltonian terms use the TDVR method 00103 C lanalpes : an analytic PES will be generated (e.g. for CDVR) 00104 C----------------------------------------------------------------------- 00105 integer hopsdim,ktot 00106 logical lcap,lcdvr,ltdvr,lanalpes 00107 00108 common /iopinitg/ hopsdim,ktot 00109 common /lopinitg/ lcap,lcdvr,ltdvr,lanalpes 00110 00111 C----------------------------------------------------------------------- 00112 C SOME MORE PARAMETERS NEEDED FOR HAMILTONIAN 00113 C 00114 C kzahl : number of correlated Hamiltonian expansion coefficients 00115 C koeff(k) : expansion coefficients of correlated Hamiltonian 00116 C ki(k),kf(k): defines states for Hamiltonian term <kf|H|ki> 00117 C complete(m) : if true, spf basis is "complete" and (1-P)H phi =0 00118 C diag(m,k) : array of unitary spf hamiltonian matrices 00119 C hsym(m,k) : array of operator symmetries 00120 C hlsym(m,k) : array of hloch symmetries 00121 C diagh(m) : auxiliary diag array 00122 C kinop(f,k) : logical set to true if a correlated Hamiltonian term is 00123 C a kinetic (i.e. non-diagonal) operator 00124 C laddmode(m,nh) : logical set to true if the mode m is to be included 00125 C into the operator nh. (See keyword 'addmode'). 00126 C khzahl(m,s) : number of uncorrelated coefficients for dimension m 00127 C and state s 00128 C hamlab(nham) : string with name of nham-th Hamiltonian. 00129 C hamilton(f,k) : integer with no. of kth Hamiltonian term for dof f. 00130 C zhun(m,s) : pointer to start of uncorrelated terms in hamilton array 00131 C ldissop: indicates if dissipative operators are involved 00132 C ldissin: indicates if input wishes dissipative treatment 00133 C ldproj: indicates if the equations of motion of the parameters 00134 C shall be modified 00135 C----------------------------------------------------------------------- 00136 integer maxham 00137 parameter (maxham=10) 00138 00139 integer kzahl(maxham),nmulpot(maxham),khtot(maxham) 00140 integer ki(maxkoe),kf(maxkoe) 00141 complex*16 koeff(maxkoe) 00142 logical complete(maxdim),diag(maxdim,maxkoe),diagh(maxdim), 00143 + kinop(maxdim,maxkoe),laddmode(maxdim,maxham), 00144 + ldissop,ldissin,ldproj 00145 00146 integer khzahl(maxdim,maxsta,maxham), 00147 + zhun(maxdim,maxsta,maxham),hamilton(maxdim,maxkoe), 00148 + htmtype(maxhtm),htmdim,zham(maxham),hamdim, 00149 + hamnum(maxkoe),hsym(maxdim,maxkoe),hlsym(maxdim,maxkoe) 00150 character*(c2) hamlab(maxham) 00151 00152 common /iop/ kzahl,khzahl,hamilton,htmtype,zhun,khtot, 00153 + nmulpot,ki,kf,htmdim,zham,hamdim,hamnum, 00154 + hsym,hlsym 00155 common /cop/ koeff 00156 common /lop/ complete,diag,diagh,kinop,laddmode,ldissop, 00157 + ldissin,ldproj 00158 common /aop/ hamlab 00159 00160 C----------------------------------------------------------------------- 00161 C flag to turn off use of diag flag and extraction of huncorr terms. 00162 C----------------------------------------------------------------------- 00163 logical nodiag(maxham) 00164 00165 common /hamflags/ nodiag 00166 00167 C----------------------------------------------------------------------- 00168 C logical variables for FT in potfit 00169 C----------------------------------------------------------------------- 00170 logical lft,lftsym 00171 00172 common/plftt/ lft,lftsym 00173 00174 C----------------------------------------------------------------------- 00175 C 00176 C Flags for operator action 00177 C 00178 C kfirst, kact, ktwin 00179 C 00180 C ktwin points to the twin operator in a dissipative part. 00181 C kact: 1: for wave-functions 00182 C 2: pure-left 00183 C 3: pure-right 00184 C 4: left-right 00185 C 00186 C----------------------------------------------------------------------- 00187 integer kfirst(maxdim,maxkoe),kact(maxkoe),ktwin(maxkoe) 00188 00189 common /iop1/ kfirst,kact,ktwin 00190 00191 C----------------------------------------------------------------------- 00192 C Variables needed for autocap option 00193 00194 C countpsi : number of output of psi in psi file 00195 C autocap(k) : if > 0, k the term includes an autocap on dof f=autocap(k). 00196 C The cap is then activated when it is populated. 00197 C indicap(f) : number of grid point where the CAP starts 00198 C gpopcap(f) : grid population at the point where the CAP starts 00199 C----------------------------------------------------------------------- 00200 integer countpsi,indicap(maxdim),autocap(maxkoe) 00201 real*8 gpopcap(maxdim) 00202 00203 common /iautcap/ countpsi,indicap,autocap 00204 common /rautcap/ gpopcap 00205 00206 C----------------------------------------------------------------------- 00207 C Information about natpot terms: 00208 C 00209 C modc - the contracted mode of the natpots 00210 C nterm - the number of the first natpot term in the correlated terms 00211 C of hamiltonian 00212 C natcdof - the dof for which natpot terms are pre-multiplied (in "fast" 00213 C algorithm) 00214 C----------------------------------------------------------------------- 00215 integer vpdim(maxdim),pdim(maxdim),npdim(maxdim),modc,nterm, 00216 + natcdof 00217 00218 common /natdata/ vpdim,pdim,npdim,modc,nterm,natcdof 00219 00220 C----------------------------------------------------------------------- 00221 C Variables for fourier transformation of some dofs in potfit program 00222 C 00223 C pdofft : dof, which should be fourier transformed 00224 C npdofft : number of grid points used in fourier transformation 00225 C----------------------------------------------------------------------- 00226 integer pdofft,npdofft 00227 00228 common /pft/ pdofft,npdofft 00229 00230 C----------------------------------------------------------------------- 00231 C SOME MORE PARAMETERS NEEDED FOR EXPECTATION VALUES 00232 C 00233 C nexpect : number of operators to derive the expectation-value 00234 C expectlab() : labels for the expectation operators 00235 C----------------------------------------------------------------------- 00236 integer nexpect 00237 complex*16 expvalue(maxham) 00238 character*(c2) expectlab(maxham) 00239 00240 common /lexpectation/ expectlab 00241 common /iexpectation/ nexpect 00242 common /cexpectation/ expvalue 00243 00244 00245