diff options
Diffstat (limited to 'var/spack/repos/builtin/packages/nwchem/raman_displ.patch')
-rwxr-xr-x | var/spack/repos/builtin/packages/nwchem/raman_displ.patch | 311 |
1 files changed, 0 insertions, 311 deletions
diff --git a/var/spack/repos/builtin/packages/nwchem/raman_displ.patch b/var/spack/repos/builtin/packages/nwchem/raman_displ.patch deleted file mode 100755 index 7ff9b65ea5..0000000000 --- a/var/spack/repos/builtin/packages/nwchem/raman_displ.patch +++ /dev/null @@ -1,311 +0,0 @@ -Index: src/property/raman_input.F -=================================================================== ---- src/property/raman_input.F (revision 28032) -+++ src/property/raman_input.F (revision 28033) -@@ -47,6 +47,7 @@ - c - c set some defaults - c -+ field=' ' - plot = 'normal' ! normal or resonance - line = 'lorentzian' ! lorentzian (l) or gaussian (g) lineshape - width = 20.0D+00 ! full-width at half maximum (FWHM) in 1/cm -@@ -54,7 +55,6 @@ - hyperraman = .false. ! flag to calculate hyperaman terms - vroa = .false. ! flag to calculate vibrational raman spec - rmmodes = 0 -- first = 7 - last = 10000 - low = 0.0D+00 - high = 100000.0D+00 -@@ -132,9 +132,9 @@ - else if(inp_compare(.false.,'first',test)) then - if(.not. inp_i(first)) - $ call errquit(pname//'missing value for first',911, INPUT_ERR) -- if (.not. rtdb_put(rtdb,'raman:first',mt_int,1,first)) -- $ call errquit(pname//'rtdb put failed',0, RTDB_ERR) --c --- determine first normal mode to use --- -+c --- not setting default here, it will be set later after -+c frequency calculation has been done so we know if we have -+c a linear molecule or not - else if(inp_compare(.false.,'last',test)) then - if(.not. inp_i(last)) ! FA-06-16-12 bug-fixed (BEF: first AFT: last) - $ call errquit(pname//'missing value for last',911, INPUT_ERR) -Index: src/property/task_raman.F -=================================================================== ---- src/property/task_raman.F (revision 28032) -+++ src/property/task_raman.F (revision 28033) -@@ -59,6 +59,7 @@ - - integer j,pos,first0 ! FA-06-15-12 - logical preraman ! FA-06-18-12 -+ logical linear - - character*32 pname - -@@ -107,6 +108,12 @@ - $ call errquit(pname//'rtdb_put freq_done',911, RTDB_ERR) - endif - c -+c --------Figure out if molecule is linear------------ -+ -+c if vib module doesn't list molecule as linear, assume it is not -+ if (.not. rtdb_get(rtdb,'vib:linear',mt_log,1,linear)) -+ $ linear=.false. -+c - c --------Create/load reference geometry to get the number of atoms------------ - - if (.not.geom_create(geom,'geometry')) call errquit -@@ -116,7 +123,11 @@ - if (.not. geom_ncent(geom,nat)) - & call errquit(pname//'geom_ncent failed?',3, GEOM_ERR) - nc = nat*3 -- rmmodes = nc-6 -+ if (linear) then -+ rmmodes = nc-5 -+ else -+ rmmodes = nc-6 -+ end if - - c if (ga_nodeid().eq.0) then - c write(*,1) nat,nc,rmmodes -@@ -146,8 +157,13 @@ - $ low = 0.0D+00 ! lowest wavenumber normal mode to use - if (.not. rtdb_get(rtdb,'raman:high',mt_dbl,1,high)) - $ high = 100000.0D+00 ! Highest wavenumber normal mode to use -- if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first)) -- $ first = 7 ! first normal mode to use -+ if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first)) then -+ if (linear) then -+ first = 6 ! first normal mode to use -+ else -+ first = 7 ! first normal mode to use -+ end if -+ end if - if (.not. rtdb_get(rtdb,'raman:last',mt_int,1,last)) - $ last = 10000 ! last normal mode to use - if (.not. rtdb_get(rtdb,'raman:hyperraman',mt_log,1,hyperraman)) -@@ -156,7 +172,11 @@ - $ vroa = .false. ! # flag to calculate vibrational - if (.not. rtdb_get(rtdb,'raman:preraman',mt_log,1,preraman)) - $ preraman = .false. ! # flag to do task_freq() and leave -- first0=7 ! constant -+ if (linear) then -+ first0=6 ! constant -+ else -+ first0=7 ! constant -+ end if - c ======== FA-debug =============== START - c if (ga_nodeid().eq.0) then - c write(*,2) plot,line,width,step_size,steps -@@ -172,8 +192,13 @@ - rmmodes = nc - c - c --- in case we want overide the defaults for modes to include --- -- if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first)) -- $ first = 7 ! srtep size for displacement along modes -+ if (.not. rtdb_get(rtdb,'raman:first',mt_int,1,first)) then -+ if (linear) then -+ first = 6 ! srtep size for displacement along modes -+ else -+ first = 7 ! srtep size for displacement along modes -+ end if -+ end if - endif - c - c ----------alocate space for freq and normal modes---------------------------- -@@ -294,7 +319,7 @@ - c ------------enough setup really do the calculation------------------------ - if (.not.preraman) then - call task_raman_doit(rtdb,geom,nc,nat, -- & first0, ! = 7 constant -+ & first0, ! = 6 or 7 - & first,last,rmmodes, - & steps,nfreq,plot,line,width, - & step_size, -@@ -336,7 +361,7 @@ - c - c == perform raman calculation == - subroutine task_raman_doit(rtdb,geom,nc,nat, -- & first0, ! = 7 constant -+ & first0, ! = 6 or 7 - & first,last,rmmodes, - & steps,nfreq, - & plot,line,width, -@@ -495,7 +520,7 @@ - & lbl_raman, ! in: raman label - & begin, ! in: - & last, ! in: -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -519,7 +544,7 @@ - & lbl_raman, ! in: raman label - & mode_ini, ! in: - & mode_end, ! in: -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -541,7 +566,7 @@ - & lbl_raman, ! in: raman label - & begin, ! in: starting mode - & last, ! in: ending mode -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -596,7 +621,7 @@ - & rmmodes, ! in: total nr. modes - & rminfo, ! in: stores raman info - & nc,nat, ! in: (nc,nat)=(nr coord,nr atoms) -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -757,7 +782,8 @@ - & step_size, - & rminfo, - & eigenvecs, -- & mass) -+ & mass, -+ & first0) - c ======== FA: Writing to file rminfo ========= START - c if (ga_nodeid().eq.0) - c & write(*,*) 'BEF raman_write() ...' -@@ -783,7 +809,7 @@ - & lbl_raman, ! in: raman label - & begin, ! in: starting mode - & last, ! in: ending mode -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -890,7 +916,7 @@ - & rmmodes, ! in: total nr. modes - & rminfo, ! in: stores raman info - & nc,nat, ! in: (nc,nat)=(nr coord,nr atoms) -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -915,7 +941,7 @@ - & lbl_raman, ! in: raman label - & mode_ini, ! in: - & mode_end, ! in: -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -1036,7 +1062,7 @@ - & rmmodes, ! in: total nr. modes - & rminfo, ! in: stores raman info - & nc,nat, ! in: (nc,nat)=(nr coord,nr atoms) -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -1058,7 +1084,7 @@ - & lbl_raman, ! in: raman label - & begin, ! in: - & last, ! in: -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -@@ -1139,7 +1165,7 @@ - & rmmodes, ! in: total nr. modes - & rminfo, ! in: stores raman info - & nc,nat, ! in: (nc,nat)=(nr coord,nr atoms) -- & first0, ! in: = 7 constant -+ & first0, ! in: = 6 or 7 - & eigenvecs, ! in: hessian data (modes) - & eigenvals, ! in: hessian data (frequencies) - & mass, ! in: mass(i) i=1,nat -Index: src/property/raman.F -=================================================================== ---- src/property/raman.F (revision 28032) -+++ src/property/raman.F (revision 28033) -@@ -29,8 +29,8 @@ - integer rtdb ! [input] rtdb handle - integer natom ! [input] number of atoms - integer nat3 ! [input] 3*number of atoms -- integer first ! first mode to consider in aoresponse (default =7 ramana =1 hyperraman) -- integer tmpmode ! set to fill rminfo from 1 ( not 7 for raman calc) -+ integer first ! first mode to consider in aoresponse (default =6 or 7 raman =1 hyperraman) -+ integer tmpmode ! set to fill rminfo from 1 ( not 6 or 7 for raman calc) - integer rmmodes ! # of raman active modes - - double precision rminfo(rmmodes,4) ! data for raman spec -@@ -41,6 +41,10 @@ - double precision ncoords(3,natom) ! [scratch] coords after step - double precision steps(3,natom) ! [scratch] step generated by vector and scaled - c -+ double precision length_of_step, scale -+ double precision ddot -+ external ddot -+c - parameter (bohr2ang=0.52917724924D+00) ! CONVERSION OF BOHR to ANGSTROMS - c -------------determine sign of the step--------------------------------- - if (iii.eq.1) then -@@ -57,13 +61,16 @@ - c & i4,',',i4,',',i4,',',i4,',',f15.8,')') - c ======= FA-check rminfo(x,1) ======== END - c -------------------------------------------------------------------- -- ivec = 1 -- do iatom = 1,natom -- do ixyz = 1,3 -- steps(ixyz,iatom)=sign*step_size*eigenvecs(ivec,imode) -- ivec = ivec + 1 -- enddo ! ixyz -- enddo ! iatom -+ ivec = 1 -+ do iatom = 1,natom -+ do ixyz = 1,3 -+ steps(ixyz,iatom)=eigenvecs(ivec,imode) -+ ivec = ivec + 1 -+ enddo ! ixyz -+ enddo ! iatom -+ length_of_step = sqrt(ddot(nat3,steps,1,steps,1)) -+ scale = sign*step_size/length_of_step -+ call dscal(nat3,scale,steps,1) - - call daxpy(nat3,1.0d00,steps,1,ncoords,1) ! mult coords - if (.not. geom_cart_coords_set(geom,ncoords)) -@@ -85,7 +92,8 @@ - & step_size,! in : step of finite differencing - & rminfo, ! in : Raman data - & eigenvecs,! in : normal modes eigenvectors (nat3,nat3) -- & mass) ! in : mass -+ & mass, ! in : mass -+ & first0) ! in : first nonzero mode (6 or 7) - c - c Authors: Jonathan Mullin, Northwestern University (ver 1: Jan. 2011) - c Fredy W. Aquino, Northwestern University (ver 2: Oct. 2012) -@@ -108,6 +116,7 @@ - integer imode ! mode # - integer natom ! [input] number of atoms - integer nat3 ! [input] 3*number of atoms -+ integer first0 ! [input] first nonzero mode (6 or 7) - c - double precision rminfo(rmmodes,4) ! raman data - double precision step_size,stepsize ! [input] step of finite differencing -@@ -134,7 +143,7 @@ - call dfill(3*natom,0.0D+00,tmode,1) ! - c zero - stepsize = zero -- m = imode - 6 -+ m = imode - first0 + 1 - j=1 - i=1 - ar2 = zero ! alpha real |