コード例 #1
0
    def __init__(self,input,opts,energy_weight=None,variance_weight=None,nindent=0):
        QAanalyzer.__init__(self,nindent=nindent)

        self.opts  = opts
        self.energy_weight = energy_weight
        self.variance_weight = variance_weight


        ew,vw = energy_weight,variance_weight
        if ew==None or vw==None:
            opts_in = []            
            for qmc in input.simulation.calculations:
                if qmc.method in self.opt_methods:
                    opts_in.append(qmc)
                #end if
            #end for
            optin = opts_in[-1] #take cost info from the last optimization section
            curv,crv,ce = optin.get(['unreweightedvariance','reweightedvariance','energy'])
            tol=1e-4
            if crv>tol:
                cv = crv
            elif curv>tol:
                cv = curv
            else:
                cv = 0
            #end if
            if ew==None:
                ew = ce
            #end if
            if vw==None:
                vw = cv
コード例 #2
0
    def __init__(self, arg0=None, load_jastrow=False, nindent=0):
        QAanalyzer.__init__(self, nindent=nindent)
        self.info.load_jastrow = load_jastrow

        if isinstance(arg0, str):
            self.info.filepath = arg0
        else:
            self.info.wfn_xml = arg0
コード例 #3
0
 def __init__(self,dmc,nindent=0):
     QAanalyzer.__init__(self,nindent=nindent)
     self.set(
         dmc = dmc,
         timesteps = [],
         energies  = [],
         errors    = []
         )
コード例 #4
0
    def __init__(self,arg0=None,load_jastrow=False,nindent=0):
        QAanalyzer.__init__(self,nindent=nindent)
        self.info.load_jastrow = load_jastrow

        if isinstance(arg0,str):
            self.info.filepath = arg0
        else:
            self.info.wfn_xml = arg0
コード例 #5
0
ファイル: qmcpack_result_analyzers.py プロジェクト: jyamu/qmc
 def __init__(self,dmc):
     QAanalyzer.__init__(self)
     self.set(
         dmc = dmc,
         timesteps = [],
         energies  = [],
         errors    = []
         )
コード例 #6
0
    def __init__(self,
                 input,
                 opts,
                 energy_weight=None,
                 variance_weight=None,
                 nindent=0):
        QAanalyzer.__init__(self, nindent=nindent)

        self.opts = opts
        self.energy_weight = energy_weight
        self.variance_weight = variance_weight

        ew, vw = energy_weight, variance_weight
        if ew is None or vw is None:
            opts_in = []
            for qmc in input.simulation.calculations:
                if qmc.method in self.opt_methods:
                    opts_in.append(qmc)
                #end if
            #end for
            optin = opts_in[
                -1]  #take cost info from the last optimization section
            curv, crv, ce = optin.get(
                ['unreweightedvariance', 'reweightedvariance', 'energy'])
            if curv is None and crv is None and ce is None:
                if optin.minmethod.lower().startswith('oneshift'):
                    ce = 1.0  # energy-only for oneshift
                    crv = 0.0
                else:
                    ce = 0.9  # qmcpack defaults
                    crv = 0.1
                #end if
            #end if
            if vw is None:
                vw = 0
                if crv is not None:
                    vw += crv
                #end if
                if curv is not None:
                    vw += curv
                #end if
            #end if
            if ew is None:
                ew = 0
                if ce is not None:
                    ew = ce
                #end if
            #end if
        #end if

        if self.optimize == 'lastcost':
            self.optimize = ew, vw
コード例 #7
0
ファイル: qmcpack_analyzer.py プロジェクト: jyamu/qmc
    def __init__(self,arg0=None,**kwargs):
        QAanalyzer.__init__(self)

        analyze = False
        if 'analyze' in kwargs:
            analyze=kwargs['analyze']
            del kwargs['analyze']
        #end if

        if isinstance(arg0,Simulation):
            sim = arg0
            if 'analysis_request' in sim:
                request = sim.analysis_request.copy()
            else:
                request = QmcpackAnalysisRequest(
                    source = os.path.join(sim.resdir,sim.infile),
                    destination = sim.resdir
                    )
            #end if
        elif isinstance(arg0,QmcpackAnalysisRequest):
            request = arg0
        elif isinstance(arg0,str):
            kwargs['source']=arg0
            request = QmcpackAnalysisRequest(**kwargs)
        else:
            if 'source' not in kwargs:
                kwargs['source']='./qmcpack.in.xml'
            #end if
            request = QmcpackAnalysisRequest(**kwargs)
        #end if

        self.change_request(request)

        if request!=None and os.path.exists(request.source):
            self.init_sub_analyzers(request)
        #end if

        savefile = request.savefile
        savefilepath = os.path.join(request.destination,request.savefile)
        self.info.savefile = savefile
        self.info.savefilepath = savefilepath
        self.info.error = None
        if os.path.exists(savefilepath) and savefile!='':
            self.load()
        elif analyze:
            self.analyze()
        #end if

        return
コード例 #8
0
    def __init__(self, arg0=None, **kwargs):
        QAanalyzer.__init__(self)

        analyze = False
        if 'analyze' in kwargs:
            analyze = kwargs['analyze']
            del kwargs['analyze']
        #end if

        if isinstance(arg0, Simulation):
            sim = arg0
            if 'analysis_request' in sim:
                request = sim.analysis_request.copy()
            else:
                request = QmcpackAnalysisRequest(source=os.path.join(
                    sim.resdir, sim.infile),
                                                 destination=sim.resdir)
            #end if
        elif isinstance(arg0, QmcpackAnalysisRequest):
            request = arg0
        elif isinstance(arg0, str):
            kwargs['source'] = arg0
            request = QmcpackAnalysisRequest(**kwargs)
        else:
            if 'source' not in kwargs:
                kwargs['source'] = './qmcpack.in.xml'
            #end if
            request = QmcpackAnalysisRequest(**kwargs)
        #end if

        self.change_request(request)

        if request != None and os.path.exists(request.source):
            self.init_sub_analyzers(request)
        #end if

        savefile = request.savefile
        savefilepath = os.path.join(request.destination, request.savefile)
        self.info.savefile = savefile
        self.info.savefilepath = savefilepath
        self.info.error = None
        if os.path.exists(savefilepath) and savefile != '':
            self.load()
        elif analyze:
            self.analyze()
        #end if

        return
コード例 #9
0
 def __init__(self, series=None, calc=None, input=None):
     QAanalyzer.__init__(self)
     if series != None and calc != None and input != None:
         self.init_sub_analyzers(series, calc, input)
コード例 #10
0
 def __init__(self):
     QAanalyzer.__init__(self)
     self.method_info = QAanalyzer.method_info
コード例 #11
0
 def __init__(self,series=None,calc=None,input=None,nindent=0):
     QAanalyzer.__init__(self,nindent=nindent)
     if series!=None and calc!=None and input!=None:
         self.init_sub_analyzers(series,calc,input)
コード例 #12
0
ファイル: qmcpack_result_analyzers.py プロジェクト: jyamu/qmc
 def __init__(self, dmc):
     QAanalyzer.__init__(self)
     self.set(dmc=dmc, timesteps=[], energies=[], errors=[])
コード例 #13
0
    def __init__(self, arg0=None, **kwargs):

        verbose = False
        if 'verbose' in kwargs:
            verbose = kwargs['verbose']
            del kwargs['verbose']
        #end if
        QAanalyzer.verbose_vlog = verbose or QAanalyzer.verbose_vlog

        nindent = 0
        if 'nindent' in kwargs:
            nindent = kwargs['nindent']
            del kwargs['nindent']
        #end if
        QAanalyzer.__init__(self, nindent=nindent)

        analyze = False
        if 'analyze' in kwargs:
            analyze = kwargs['analyze']
            del kwargs['analyze']
        #end if

        if isinstance(arg0, Simulation):
            sim = arg0
            if 'analysis_request' in sim:
                request = sim.analysis_request.copy()
            else:
                request = QmcpackAnalysisRequest(source=os.path.join(
                    sim.resdir, sim.infile),
                                                 destination=sim.resdir)
                if 'stat' in request.data_sources:
                    request.data_sources.remove('stat')
                #end if
                if 'storeconfig' in request.data_sources:
                    request.data_sources.remove('storeconfig')
                #end if
                if 'traces' in request.data_sources:
                    request.data_sources.remove('traces')
                #end if
            #end if
        elif isinstance(arg0, QmcpackAnalysisRequest):
            request = arg0
        elif isinstance(arg0, str):
            kwargs['source'] = arg0
            request = QmcpackAnalysisRequest(**kwargs)
        else:
            if 'source' not in kwargs:
                kwargs['source'] = './qmcpack.in.xml'
            #end if
            request = QmcpackAnalysisRequest(**kwargs)
        #end if

        self.change_request(request)

        if request != None and os.path.exists(request.source):
            self.init_sub_analyzers(request)
        #end if

        savefile = request.savefile
        savefilepath = os.path.join(request.destination, request.savefile)
        self.info.savefile = savefile
        self.info.savefilepath = savefilepath
        self.info.error = None
        if os.path.exists(savefilepath) and savefile != '':
            self.load()
        elif analyze:
            self.analyze()
        #end if

        return