²é¿´: 1538  |  »Ø¸´: 11
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

sci_papers

Òø³æ (ÕýʽдÊÖ)

[½»Á÷] ¡¾ÇóÖú¡¿°ïæ¸Äдչ¿í³ÌÐò ÒÑÓÐ3È˲ÎÓë

´ó¼ÒºÃ,ÎÒÏëÓøß˹չ¿í³ÌÐò,ÏÖÔڵõ½ÁËÒ»¸ö,µ«ÊǸоõ²»ÊǺÜÂúÒâ,ÔÙ´ÎÌù³ö,Âé·³´ó¼Ò°ïÎÒ¿´¿´ÔõôÐÞ¸Ä,¶øÇÒÎÒÒ²²»Ì«¶®±à³Ì,ËùÒÔ´ó¼ÒÐ޸ĺóÂ鷳Ҳȫ²¿ÌùÉÏ.лл,ÎÒÏÖÔڵijÌÐòÈçÏÂ:

        program CONVOLUTE
        implicit none
        integer noofmodes,arbitrary
        parameter(arbitrary=3500)
        double precision wavenr(arbitrary),IRint(arbitrary)
        integer weigenv
!        wavenumber start and finish
        double precision wbegin,wend
        character*80 fname
        character*30 tc
       
!        Filename: inputfilename
        read(5,*) tc,fname
!        wbegin: 0.0
        read(5,*) tc,wbegin
!        wend: 3500.0
        read(5,*) tc,wend
!        print the data
        print *,'Filename: ',fname
        print *,'wbegin: ',wbegin
        print *,'wend: ',wend
       
        print *,'calling subroutine...'
        call readfreq(fname,wavenr,IRint,weigenv,wbegin)
       
        call convolution(wbegin,wend,wavenr,IRint,weigenv)
        stop
!        end program
        end
       
        subroutine readfreq(fname,wavenr,IRint,weigenv,wbegin)
!        print *,'beginning of subroutine...'
!        read in eigenfrequencies and IR intensities
        implicit none
        integer noofmodes,arbitrary
        parameter(arbitrary=3500)
        double precision wavenr(arbitrary),IRint(arbitrary)
        double precision energy(2,arbitrary),wbegin
        character*80 fname
!        print *,'opening the file'
        integer i,reason,weigenv
        double precision wavetmp, inttmp
        open (unit=3,file=fname,status='OLD')
        i=0
!        print *,'entering do statement'
        do
        read(3,*,IOSTAT=reason) wavetmp,inttmp
        if (reason>0) then
        print *,'reason>0, i.e. somethings wrong'
        else if (reason<0) then
        print *,'reason<0, reached the end of file'
        close(3)
        return
        else
        if(wavetmp.gt.wbegin) then
        i=i+1
!        print *,'eigenfreq: ',wavetmp,'IR intensity',inttmp
        wavenr(i)=wavetmp
        IRint(i)=inttmp
        print *,'eigenfreq: ',wavenr(i),' IR intensity: ',IRint(i),' i = ',i
        weigenv=i
        endif
        end if
        end do
        return
!        print *,'end of subroutine'
        end subroutine
       
       
        subroutine convolution(wbegin,wend,wavenr,IRint,weigenv)
        implicit none
        integer bignumber,arbitrary
        parameter(bignumber=10000000,arbitrary=3500)
        double precision wbegin,wend,wavenr(arbitrary),IRint(arbitrary)
        integer noofscanpoints,n,m,k,weigenv
        parameter(noofscanpoints=100000)
        double precision deltaw,w1(bignumber),conv(bignumber)
        double precision mygamma,wave2ev
        parameter(wave2ev=8065.46)
!        mygamma=4.0d-3*wave2ev
        mygamma=10.0
!        mygamma=4.0d-3 in eV unit, convert to wavenumber by multiple wave2ev
       
        deltaw=(wend-wbegin)/dfloat(noofscanpoints)
        do n=1,noofscanpoints
        w1(n)=wbegin+n*deltaw
        conv(n)=0.0
        enddo
        do m=1,weigenv
        do k=1,noofscanpoints
!        print *,'m=',m,'k=',k
        conv(k)=conv(k)+IRint(m)/((w1(k)-wavenr(m))**2+mygamma**2)
!        print *,'w1=',w1(k),' conv(k)=',conv(k)
        enddo
        enddo
       
        open(unit=1,file='IETSconv.dat',status='unknown')
        do k=1,noofscanpoints
        write(1,*) w1(k),conv(k)
        enddo
        close(1)
       
        return
        end subroutine


ÏÖÔÚÂé·³´ó¼Ò:
1. Âé·³¼ì²éÏÂÕâ¸ö³ÌÐòµÄ¸ß˹չ¿íÊÇ·ñÕýÈ·. ×Ô¼ºÃ»Óùý,Õæ²»ÖªµÀ.лл
2. Õâ¸ö³ÌÐòÐèÒªÌṩjobinput.txtÎļþ,È»ºóÕâ¸öÎļþÖк¬ÓÐÏà¹ØÊýÖµ:
inputfile anth.txt
wbegin 1000.0
wend 1800.0
ÕâЩÊýÖµÒ²°üÀ¨ÁËÐèÒªÕ¹¿íµÄ²¨¶ÎÊý,±ÈÈç:1000.0-1800.0¡£ÎÒ¾õµÃÕâ¸öҲͦºÃ,ÒòΪÓÐʱºòÐèÒª·ÖÎöµÄ²¨¶Î²»ÊÇÈ«²¿²¨¶Î, È»ºóÕâ¸öÕ¹¿í³ÌÐò×Ô¶¯´Óanth.txtÎļþÖÐ×Ô¶¯¶ÁÈ¡Õâ¸ö·¶Î§µÄÊý¾ÝÕ¹¿í.È»ºó»áÊä³öÒ»¸öÕ¹¿íºóµÄÊý¾ÝÎļþIETSconv.dat.µ±È»ÎÒ˵ÕâЩ¶ÔÓÚ±à³ÌµÄÈËÀ´Ëµ¾ÍÌ«†ªàÂÁË,ÒòΪ´ó¼ÒÒ»¿´¾ÍÖªµÀʲôÒâ˼.²»ºÃÒâ˼

3. ÎÒÏÖÔÚÏëÒªµÄ¾ÍÊÇ,×Ô¼ºÊäÈëÐèÒª¶ÁÈ¡µÄÎļþ,Ò²Êä³ö±£´æµÄÎļþÃû.ÕâÑù±È½Ï·½±ã.²»ÏëÕâÑù¶ÁÈ¡inputfile,ÒòΪÈç¹û´¦ÀíÊý¾Ý¶àµÄ»°,ÿ´Î¶¼ÒªÐÞ¸ÄinputfileÎļþ,ºÜÂé·³.µ±È»ÔÚÕâ¶ù,Èç¹ûÎÒÖ»ÊäÈëÒ»¸öÎļþ,×îºóÊý¾Ý×Ô¶¯±£´æÎªÍ¬ÃûµÄdatÀàÐÍÎļþÔò¸üºÃ.
±ÈÈç./gauvib.exe < anth.txt > anth.dat
»òÕß./gauvib.exe < anth.txt È»ºóµÃµ½anth.datÊý¾ÝÎļþ¸üºÃ

4. ¼ÈÈ»Ïë²»ÓÃinputfileÎļþ,ÄÇÕâ¸öÎļþÖеIJ¨¶ÎÒªÔÚ³ÌÐòÖÐʵÏÖÁË.ÔÚ³ÌÐòÖмÓÈë¿ÉÒÔÉèÖò¨¶ÎµÄÓï¾ä.
±ÈÈç:
wbegin=1000.0
wend=1800.0

5. Èç¹ûË­ÓÐÕâÑùµÄ»òÕ߸üºÃµÄ¸ß˹»òÕßÂåÂ×´ÄÕ¹¿í³ÌÐò¿ÉÒÔ°ïæ¸øÎÒ,ÒòΪҪÓÃ,×Ô¼ºÓÖ²»»á.
ÔÙ´ÎÏȸÐл´ó¼Ò.ÉîÉîµÄÏ£Íû´ó¼Ò°ï¸öæ.¿´ÔõôÐ޸ijÌÐò.
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

» ±¾Ö÷ÌâÏà¹Ø¼ÛÖµÌùÍÆ¼ö£¬¶ÔÄúͬÑùÓаïÖú:

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

Õâ¸ö¿ÉÒÔÊÖ¹¤ÊäÈëÏà¹ØµÄ²ÎÊý£ºÊäÈëÎļþÃû£¬Êä³öÎļþÃû£¬Æðʼ²¨ÊýºÍÖÕÖ¹²¨Êý
CODE:
      program CONVOLUTE
      implicit none
      integer arbitrary
      parameter(arbitrary=3500)
      double precision wavenr(arbitrary),IRint(arbitrary)
      integer weigenv
!     wavenumber start and finish
      double precision wbegin,wend
      character*80 input, output
      
      write(*,'(a,$)') 'input file name: '
      read(*, '(a)') input
      write(*,'(a,$)') 'output file name: '
      read(*, '(a)') output
      write(*,'(a,$)') 'start of wavenumber: '
      read(*,*) wbegin
      write(*,'(a,$)') 'end of wavenumber: '
      read(*,*) wend
      
      call readfreq(input,wavenr,IRint,weigenv,wbegin,wend)
      
      call convolution(output,wbegin,wend,wavenr,IRint,weigenv)
      stop
      end
      
      subroutine readfreq(fname,wavenr,IRint,weigenv,wbegin,wend)
!      read in eigenfrequencies and IR intensities
      implicit none
      integer arbitrary
      parameter(arbitrary=3500)
      double precision wavenr(arbitrary),IRint(arbitrary)
      double precision wbegin,wend
      character*80 fname
!      print *,'opening the file'
      integer i,reason,weigenv
      double precision wavetmp, inttmp
      open (unit=3,file=fname,status='OLD')
      i=0
!      print *,'entering do statement'
      do
      read(3,*,IOSTAT=reason) wavetmp,inttmp
      if (reason>0) then
        write(*,*) 'reason>0, i.e. somethings wrong'
        stop
      endif
      if (reason<0) then
        write(*,*) 'reason<0, reached the end of file'
        close(3)
        return
      endif
      if(wavetmp.gt.wbegin .and. wavetmp .lt. wend) then
        i=i+1
        wavenr(i)=wavetmp
        IRint(i)=inttmp
        write(*,*) 'eigenfreq: ',wavenr(i),' IR intensity: ',
     &             IRint(i),' i = ',i
        weigenv=i
      endif
      end do
      return
!      print *,'end of subroutine'
      end subroutine
      
      
      subroutine convolution(fname,wbegin,wend,wavenr,IRint,weigenv)
      implicit none
      integer bignumber,arbitrary
      parameter(bignumber=10000000,arbitrary=3500)
      double precision wbegin,wend,wavenr(arbitrary),IRint(arbitrary)
      integer noofscanpoints,n,m,k,weigenv
      parameter(noofscanpoints=100000)
      double precision deltaw,w1(bignumber),conv(bignumber)
      double precision mygamma,wave2ev
      character*80 fname
      parameter(wave2ev=8065.46)
!      mygamma=4.0d-3*wave2ev
      mygamma=10.0
!      mygamma=4.0d-3 in eV unit, convert to wavenumber by multiple wave2ev
      
      deltaw=(wend-wbegin)/dfloat(noofscanpoints)
      do n=1,noofscanpoints
      w1(n)=wbegin+n*deltaw
      conv(n)=0.0
      enddo
      do m=1,weigenv
      do k=1,noofscanpoints
!      print *,'m=',m,'k=',k
      conv(k)=conv(k)+IRint(m)/((w1(k)-wavenr(m))**2+mygamma**2)
!      print *,'w1=',w1(k),' conv(k)=',conv(k)
      enddo
      enddo
      
      open(unit=1,file=fname,status='unknown')
      do k=1,noofscanpoints
      write(1,*) w1(k),conv(k)
      enddo
      close(1)
      
      return
      end subroutine

8Â¥2010-05-16 10:40:42
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 12 ¸ö»Ø´ð

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

¡ï ¡ï
resonant(½ð±Ò+2):ÐÂÕþ²ßÃþË÷ÖУ¬¸Ðл»ØÌû½»Á÷¡£ 2010-05-14 20:43:10
sci_papers(½ð±Ò+2):лл,swizard,ÎÒÒ²ÊÔ¹ýÁË,×îºóÒ²ÊÇÉú³ÉÒ»¸öÏàͬµÄÎļþ,Èç¹û´¦ÀíºÜ¶àÊý¾ÝµÄ»°,Ò²±È½ÏÂé·³.ËùÒÔ¾ÍÏëµÃµ½,ÊäÈëÒ»¸öÈ»ºó¾ÍÊä³öÒ»¸öÏàͬÎļþÃûµÄÎļþ.ÕâÑù¸Ð¾õÔÚLinuxϸüºÃÒ»µã.ËùÒÔ»¹ÊÇÏëÂé·³¸÷λ°ï¿´¿´ÎÒµÄÕâ¸ö³ÌÐò. 2010-05-14 22:46:06
sci_papers(½ð±Ò+1):ÎÒ²»»á±à³ÌŶ,°¥,²ÑÀ¢.ËùÒÔÂé·³´ó¼Ò°ïæ¿´¿´,Òª²»¿´ÔõôÔÚÕâ¸öÏÖÓеijÌÐòÉϸÄ. 2010-05-14 22:51:15
Ϊʲô²»Ö±½ÓÓà swizard £¨http://www.sg-chem.net/swizard/£©£¿ ÄǸöÓиü¶àµÄÑ¡ÏîɶµÄ¡­¡­

Èç¹ûÒ»¶¨Òª×Ô¼ºÐ´£¬Äã¿ÉÒԲο¼ËüµÄ˵Ã÷ÊéÖеÄÏàÓ¦µÄ·½·¨£¬ºÇºÇ¡­¡­
2Â¥2010-05-14 20:38:32
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sci_papers

Òø³æ (ÕýʽдÊÖ)

ÓÐÕ¹¿í³ÌÐòµÄ°ïæ¸øÒ»¸ö°É,»òÕß°ïæ¿´¿´Õâ¸ö³ÌÐòÔõô¸Ä,ллÁË
3Â¥2010-05-15 18:58:18
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

snoopyzhao

ÖÁ×ðľ³æ (Ö°Òµ×÷¼Ò)

sci_papers(½ð±Ò+2):лл,ÎÒÂíÉÏÌù³öÀ´ 2010-05-15 20:06:34
Äã¸øÒ»¸öÊý¾ÝÎļþÒÔ¼°ÆäËüËùÓбØÐëµÄÎļþ£¬¸æËßÎÒÃÇÈçºÎÈ¥ÅÜ£¬»á´ó¸Å»ñµÃÒ»¸öʲôÑùµÄ½á¹û£¬ÕâÑùÎÒÃDzſÉÒÔÊÔ×ÅÈ¥¸Ä¡£ÒªÖªµÀ£¬»á±à³ÌµÄ²»¼ûµÃ¶®µÃÄãµÄרҵ£¬ºÇºÇ¡­¡­

ÁíÍ⣬Èç¹ûÄãµÄ½á¹ûÓë Swizard ³öÀ´µÄ½á¹ûÒ»Ö£¬Ò²¿ÉÒÔÓà Swizard µÄ½á¹û×÷Ϊ bench mark£¬ºÇºÇ¡­¡­
4Â¥2010-05-15 19:12:25
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ×Ü·Ö322ÇóÉúÎïѧ/Éú»¯Óë·Ö×Ó/ÉúÎïÐÅϢѧÏà¹Øµ÷¼Á +4 ÐdzÁuu 2026-03-26 5/250 2026-03-26 17:00 by tjDOVE1025
[¿¼ÑÐ] 292Çóµ÷¼Á +9 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-25 10/500 2026-03-26 16:27 by ²»³Ôô~µÄ؈
[¿¼ÑÐ] Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£ +5 ³¿»èÏßÓëÐǺ£ 2026-03-20 5/250 2026-03-26 13:47 by Ò»Ö±×ß²»ÒªÍ£
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖÐÄÏ´óѧ»¯Ñ§Ñ§Ë¶0703×Ü·Ö337Çóµ÷¼Á +7 niko- 2026-03-22 7/350 2026-03-25 20:14 by qingfeng258
[¿¼ÑÐ] ÕÐ08¿¼Êýѧ +8 laoshidan 2026-03-20 17/850 2026-03-25 17:52 by Ò»¸öºìÌ«Ñô
[¿¼ÑÐ] 302Çóµ÷¼Á +4 ½õÒÂÎÀÌÙ½· 2026-03-25 4/200 2026-03-25 16:29 by ¹¦·ò·è¿ñ
[¿¼ÑÐ] 307Çóµ÷¼Á +3 ÓàÒâÇä 2026-03-21 6/300 2026-03-24 15:03 by ÓàÒâÇä
[»ù½ðÉêÇë] Çë½ÌÏ´ó¼Ò 2026Äê¹ú¼Ò»ù½ðÉêÇëÊÇ˫äÉóÂ𣿠+3 lishucheng1 2026-03-22 5/250 2026-03-24 08:22 by gltch
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ 070300 ѧ˶ 336·Ö Çóµ÷¼Á +7 vvÃÔ 2026-03-22 7/350 2026-03-23 23:44 by Txy@872106
[¿¼ÑÐ] 269Çóµ÷¼Á +4 ÎÒÏë¶ÁÑÐ11 2026-03-23 4/200 2026-03-23 21:25 by pswait
[¿¼ÑÐ] 333Çóµ÷¼Á +3 ALULU4408 2026-03-23 3/150 2026-03-23 19:04 by macy2011
[¿¼ÑÐ] ½ÓÊÕ2026˶ʿµ÷¼Á(ѧ˶+ר˶) +4 allen-yin 2026-03-23 6/300 2026-03-23 15:04 by Íô£¡£¿£¡
[¿¼ÑÐ] 298Çóµ÷¼Á +8 Éϰ¶6666@ 2026-03-20 8/400 2026-03-23 11:02 by laoshidan
[¿¼ÑÐ] 291Çóµ÷¼Á +5 ‹üÈA 2026-03-22 5/250 2026-03-23 09:20 by haoshis
[¿¼ÑÐ] 315·Ö£¬³ÏÇóµ÷¼Á£¬²ÄÁÏÓ뻯¹¤085600 +3 13756423260 2026-03-22 3/150 2026-03-22 20:11 by edmund7
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖÐũҵ071010£¬×Ü·Ö320Çóµ÷¼Á +5 À§À§À§À§À¤À¤ 2026-03-20 6/300 2026-03-22 17:41 by hxsm
[¿¼ÑÐ] 260Çóµ÷¼Á +3 ÖìÜÆÁÕ 2026-03-20 4/200 2026-03-22 15:12 by ÖìÜÆÁÕ
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³×Ü·Ö308Çóµ÷¼Á +7 īīĮ 2026-03-20 7/350 2026-03-21 16:36 by barlinike
[¿¼ÑÐ] AÇøÏß²ÄÁÏѧµ÷¼Á +5 ÖÜÖÜÎÞ¼« 2026-03-20 5/250 2026-03-20 21:33 by laoshidan
[¿¼ÑÐ] Çóµ÷¼Á +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û