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()
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
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()
def __init__(self,dmc,nindent=0): QAanalyzer.__init__(self,nindent=nindent) self.set( dmc = dmc, timesteps = [], energies = [], errors = [] )
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
def __init__(self,dmc): QAanalyzer.__init__(self) self.set( dmc = dmc, timesteps = [], energies = [], errors = [] )
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
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
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()
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
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
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)
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)
def __init__(self): QAanalyzer.__init__(self) self.method_info = QAanalyzer.method_info