mypath = os.path.abspath( os.path.split(__file__)[0] ) srcpath = os.path.join( mypath, 'src' ) sys.path.append( srcpath ) sys.path.append( os.path.join(os.curdir,'src' ) ) import multiphonon.io as io from user import * from multiphonon.expSqe import expSqe from multiphonon.correction import * from multiphonon.sqePlot import * import numpy nar = numpy.add.reduce #--- Prep S(Q,E)for calculation ----------------------------------------------- sqe = expSqe(Data,T,M,cutRange=cutRange) mqe = expSqe( MT,T,M,cutRange=cutRange) sqe.removeBackground(mqe,backgroundFrac,constantFrac) sqe.cropForCalc(cutoff,longE,eStop,elasticCutAvg) sqe.norm2one() sqe.expand(2.0) sqe0 = expSqe(sqe) sqe.plotSE(viewDirectory) sqe.plotSQE(viewDirectory,lower=1e-30,upper=2.5e-4) sqe.plotMask(viewDirectory) #--- Fitting ------------------------------------------------------------------ C_ms += 1.0 # This is a hack, until the internal rep of C_ms is changed. #------------------------------------------------------------------------------
import cPickle as cp import numpy nar = numpy.add.reduce import Gnuplot G = Gnuplot.Gnuplot() Gd = Gnuplot.Data G('set grid') #------------------------------------------------------------------------------ #---- Setup objects ----------------------------------------------------------- e,g = io.load(dosFile) dE = e[1] - e[0] E = numpy.arange(-maxE,maxE+dE,dE) Q = numpy.arange(minQ,maxQ,dQ) fakeSqe = numpy.outer(Q,E) sqe = expSqe.expSqe(Q,E,fakeSqe,fakeSqe,T,M) e = numpy.arange(0.0,maxE+dE,dE) dos = numpy.zeros(len(e)) dos[:len(g)] += g dos = densityOfStates.densityOfStates(e,dos,cutRange=cutRange) #------------------------------------------------------------------------------ #---- Get multiphonon scattering ---------------------------------------------- ANE = multiphonon.AthroughN(sqe,dos,N) SNQ = multiphonon.SthroughN(sqe,dos,N) SN = [] for i in range(len(SNQ)): SN.append( numpy.outer(SNQ[i],ANE[i]) ) SN = numpy.array(SN)