Source code for PyFoam.LogAnalysis.BoundingLineAnalyzer

#  ICE Revision: $Id$
"""Check lines for Boundedness"""

import re

boundingRegExp="^bounding (.+), min: (.+) max: (.+) average: (.+)$"

# from FileLineAnalyzer import FileLineAnalyzer
# from TimeLineLineAnalyzer import TimeLineLineAnalyzer

from .GeneralLineAnalyzer import GeneralLineAnalyzer

[docs]class GeneralBoundingLineAnalyzer(GeneralLineAnalyzer): """Parses the line for information about variables being bounded Writes files of the form bounding_<var>""" def __init__(self, doTimelines=True, doFiles=True, singleFile=False, startTime=None, endTime=None): GeneralLineAnalyzer.__init__(self, titles=['Minimum','Maximum','Average'], doTimelines=doTimelines, doFiles=doFiles, singleFile=singleFile, startTime=startTime, endTime=endTime) self.exp=re.compile(boundingRegExp) self.registerRegexp(self.exp)
[docs] def addToFiles(self,match): name=self.fName(match.groups()[0]) rest=match.groups()[1:] self.files.write("bounding_"+name,self.parent.getTime(),rest)
[docs] def addToTimelines(self,match): name=self.fName(match.groups()[0]) rest=match.groups()[1:] self.lines.setValue(name+"_min",rest[0]) self.lines.setValue(name+"_max",rest[1]) self.lines.setValue(name+"_avg",rest[2])
[docs]class BoundingLineAnalyzer(GeneralBoundingLineAnalyzer): """Parses the line for information about variables being bounded Writes files of the form bounding_<var>""" def __init__(self): GeneralBoundingLineAnalyzer.__init__(self,doTimelines=False)
## FileLineAnalyzer.__init__(self,titles=['Minimum','Maximum','Average']) ## self.exp=re.compile(boundingRegExp) ## def doAnalysis(self,line): ## m=self.exp.match(line) ## if m!=None: ## name=m.groups()[0] ## rest=m.groups()[1:] ## self.files.write("bounding_"+name,self.parent.getTime(),rest)
[docs]class TimeLineBoundingLineAnalyzer(GeneralBoundingLineAnalyzer): """Parses the line for information about variables being bounded""" def __init__(self): GeneralBoundingLineAnalyzer.__init__(self,doFiles=False)
## TimeLineLineAnalyzer.__init__(self) ## self.exp=re.compile(boundingRegExp) ## def doAnalysis(self,line): ## m=self.exp.match(line) ## if m!=None: ## name=m.groups()[0] ## rest=m.groups()[1:] ## self.lines.setValue(name+"_min",rest[0]) ## self.lines.setValue(name+"_max",rest[1]) ## self.lines.setValue(name+"_avg",rest[2]) # Should work with Python3 and Python2