Example #1
0
 def analyze(self, force=False):
     if not self.info.analyzed or force:
         if not self.info.data_loaded:
             self.load_data()
         #end if
         self.vlog('main analysis of QmcpackAnalyzer data', n=1)
         try:
             self.set_global_info()
             self.propagate_indicators(analyzed=False)
             if self.info.type != 'bundled':
                 QAanalyzer.analyze(self, force=force)
             else:
                 for analyzer in self.bundled_analyzers:
                     analyzer.analyze()
                 #end for
                 QAanalyzer.analyze(self, force=force)
             #end if
             self.unset_global_info()
         except:
             exc_type, exc_value, exc_traceback = sys.exc_info()
             lines = traceback.format_exception(exc_type, exc_value,
                                                exc_traceback)
             msg = ''
             for line in lines:
                 msg += line
             #end for
             self.info.error = exc_type
             self.warn('runtime exception encountered\n' + msg)
         #end try
         self.vlog('end main analysis of QmcpackAnalyzer data', n=1)
         if self.info.request.savefile != '':
             self.save()
Example #2
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
Example #3
0
 def analyze(self,force=False):
     if not self.info.analyzed or force:
         if not self.info.data_loaded:
             self.load_data()
         #end if
         self.vlog('main analysis of QmcpackAnalyzer data',n=1)
         try:
             self.set_global_info()
             self.propagate_indicators(analyzed=False)
             if self.info.type!='bundled':
                 QAanalyzer.analyze(self,force=force)
             else:
                 for analyzer in self.bundled_analyzers:
                     analyzer.analyze()
                 #end for
                 QAanalyzer.analyze(self,force=force)
             #end if
             self.unset_global_info()
         except:
             exc_type, exc_value, exc_traceback = sys.exc_info()
             lines = traceback.format_exception(exc_type, exc_value, exc_traceback)
             msg = ''
             for line in lines:
                 msg+=line
             #end for
             self.info.error = exc_type
             self.warn('runtime exception encountered\n'+msg)
         #end try
         self.vlog('end main analysis of QmcpackAnalyzer data',n=1)
         if self.info.request.savefile!='':
             self.save()
Example #4
0
 def __init__(self,dmc,nindent=0):
     QAanalyzer.__init__(self,nindent=nindent)
     self.set(
         dmc = dmc,
         timesteps = [],
         energies  = [],
         errors    = []
         )
Example #5
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
    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
Example #7
0
 def __init__(self,dmc):
     QAanalyzer.__init__(self)
     self.set(
         dmc = dmc,
         timesteps = [],
         energies  = [],
         errors    = []
         )
Example #8
0
 def remove_data(self):
     QAanalyzer.remove_data(self)
     if 'spacegrids' in self:
         for sg in self.spacegrids:
             if 'data' in sg:
                 del sg.data
             #end if
         #end for
     #end if
     if 'outside' in self and 'data' in self.outside:
         del self.outside.data
    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
Example #10
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
Example #11
0
 def load_data(self):
     request = self.info.request
     if not os.path.exists(request.source):
         self.error('path to source\n  '+request.source+'\n  does not exist\n ensure that request.source points to a valid qmcpack input file')
     #end if
     self.set_global_info()
     self.propagate_indicators(data_loaded=False)
     if self.info.type=='bundled' and self.info.perform_bundle_average:
         self.prevent_average_load()
     #end if        
     QAanalyzer.load_data(self)
     if self.info.type=='bundled' and self.info.perform_bundle_average:
         self.average_bundle_data()
     #end if
     self.unset_global_info()
Example #12
0
 def load_data(self):
     request = self.info.request
     if not os.path.exists(request.source):
         self.error('path to source\n  '+request.source+'\n  does not exist\n ensure that request.source points to a valid qmcpack input file')
     #end if
     self.set_global_info()
     self.propagate_indicators(data_loaded=False)
     if self.info.type=='bundled' and self.info.perform_bundle_average:
         self.prevent_average_load()
     #end if        
     QAanalyzer.load_data(self)
     if self.info.type=='bundled' and self.info.perform_bundle_average:
         self.average_bundle_data()
     #end if
     self.unset_global_info()
Example #13
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
Example #14
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
Example #15
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)
Example #16
0
 def __init__(self, dmc):
     QAanalyzer.__init__(self)
     self.set(dmc=dmc, timesteps=[], energies=[], errors=[])
 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)
Example #18
0
 def __init__(self):
     QAanalyzer.__init__(self)
     self.method_info = QAanalyzer.method_info