12.07.2015 Views

a variacional del estado de transición a la - Páxinas persoais - USC ...

a variacional del estado de transición a la - Páxinas persoais - USC ...

a variacional del estado de transición a la - Páxinas persoais - USC ...

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

124 C.2. CONFORATEC Compute tras<strong>la</strong>tional partition functionfunction ztrans(amasr1,amasr2,t)implicit double precision(a-h,o-z)inclu<strong>de</strong> ’data.h’redm=amasr1*amasr2/(amasr1+amasr2)pi=2.d0*asin(1.d0)ztrans=1.D-6*(((2*pi*(redm*1D-3/av)*boltz*t))/(hp**2))**1.5returnendC Compute rotational partition function for linear moleculesfunction zrotlin(ainer,t)implicit double precision(a-h,o-z)inclu<strong>de</strong> ’data.h’zrotlin=(t*boltz/(hp*c))/ainerreturnendC Compute rotational partition function for non-linear moleculesfunction zrotnolin(ainerA,ainerB,ainerC,t)implicit double precision(a-h,o-z)inclu<strong>de</strong> ’data.h’pi=2.d0*asin(1.d0)C zrotnolin=(t*boltz/hp/c)**1.5*(8.*PI*ainerA*ainerB*ainerC)**0.5zrotnolin=(t*boltz/hp/c)**1.5*(PI/(ainerA*ainerB*ainerC))**0.5returnendC Compute vibrational partition functionfunction qqvib(freq,nconf,temp)implicit double precision (a-h,o-z)inclu<strong>de</strong> ’data.h’const=hp*c/boltz/tempqqvib=(exp(-0.5*const*freq)) / (1.-exp((-const*freq)))returnendC Compute electronic partition functionfunction qelect(nest,gi,energ,t)implicit double precision (a-h,o-z)inclu<strong>de</strong> ’data.h’dimension gi(nest),energ(nest)qelect=0.D0do i=1,nestqelect1=gi(i)*exp(-energ(i)/(rg*t))qelect=qelect+qelect1enddoreturnendC Reor<strong>de</strong>r the energiessubroutine reor<strong>de</strong>r(e,n,emin)implicit double precision(a-h,o-z)inclu<strong>de</strong> ’data.h’dimension e(nconfs)

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!