コード例 #1
0
ファイル: dalek.py プロジェクト: wkerzendorf/pyfica
def runTriCycle(param=None,samples=10,fitHist=None,doPickle=True):
    IGEElement='Fe0'
    fitHist,curParam,intervals=initTriCycle(IGEElement)
    i=1
    while True:
        print "starting cycle %s"%i
        lumRange=np.linspace(intervals['luminterval'][0],intervals['luminterval'][1],num=samples)
        vphRange=np.linspace(intervals['vphinterval'][0],intervals['vphinterval'][1],num=samples)
#        IGERange=np.linspace(intervals['igeinterval'][0],intervals['igeinterval'][1],num=samples)
        IGERange=np.logspace(np.log10(intervals['igeinterval'][0]),np.log10(intervals['igeinterval'][1]),num=samples)
        lumMG,vphMG,IGEMG,curParamMG=launcherSteps.launchTriCycle(lumRange,vphRange,IGERange,IGEElement,initParam=copy.deepcopy(curParam),procPath='tri%02d'%i)
        print IGERange
        print "EVALING Cycle %s"%i
        print
        done=evalTriCycle(lumMG,vphMG,IGEMG,curParamMG,curParam,intervals,fitHist,IGEElement)
        #pdb.set_trace()
        #if done: break
        i+=1
    pickle.dump(curParam,file('curTriParam.pkl','w'))
    return curParam
コード例 #2
0
ファイル: dalek.py プロジェクト: wkerzendorf/pyfica
def initTriCycle(IGEElement,doPickle=True,samples=10):
    fitHist=param.fitHistory()
    lumInterval=runLumCycle(maxIter=5)
    curParam=param.param()
    curParam['lum']=lumInterval['suggestValue']
    intervals={'luminterval':lumInterval['interval'],
               'vphinterval':initialize.getVphBounds(),
                #make sure that no other metal really shoots up
                'igeinterval':initialize.getElementBounds(IGEElement,curParam.comp)}
    #pdb.set_trace()
    lumRange=np.linspace(intervals['luminterval'][0],intervals['luminterval'][1],num=samples)
    vphRange=np.linspace(intervals['vphinterval'][0],intervals['vphinterval'][1],num=samples)
    IGERange=np.linspace(intervals['igeinterval'][0],intervals['igeinterval'][1],num=samples)
    lumMG,vphMG,IGEMG,curParamMG=launcherSteps.launchTriCycle(lumRange,vphRange,IGERange,IGEElement,initParam=curParam)
    if doPickle:
        pickle.dump(lumMG,file('lumMG0.pkl','w'))
        pickle.dump(vphMG,file('vphMG0.pkl','w'))
        pickle.dump(IGEMG,file('igeMG0.pkl','w'))
    
    evalTriCycle(lumMG,vphMG,IGEMG,curParamMG,curParam,intervals,fitHist,IGEElement,mode='init')
    return fitHist,curParam,intervals