PyFoam.LogAnalysis.FoamLogAnalyzer module

Analyze OpenFOAM logs

class PyFoam.LogAnalysis.FoamLogAnalyzer.FoamLogAnalyzer(progress=False)[source]

Bases: object

Base class for all analyzers

Administrates and calls a number of LogLineAnlayzers for each line

addAnalyzer(name, obj)[source]

Adds an analyzer

obj - A LogLineAnalyzer name - the name of the analyzer

addResetFileTrigger(f)[source]
addTimeListener(listener)[source]
Parameters:listener – An object that is notified when the time changes. Has to

implement a timeChanged method

addTrigger(time, func, once=True, until=None)[source]

Adds a trigger function that is to be called as soon as the simulation time exceeds a certain value :param time: the time at which the function should be triggered :param func: the trigger function :param once: Should this function be called once or at every time-step :param until: The time until which the trigger should be called

analyze(fh)[source]

Analyzes a file (one line at a time)

fh - handle of the file

analyzeLine(line)[source]

Calls all the anlyzers for a line

checkTriggers()[source]

Check for and execute the triggered functions

collectData(structured=False)[source]

Collect dictionaries of collected data (current state) from the analyzers :return: the dictionary

getAnalyzer(name)[source]

Get the LogLineAnalyzer name

getDirectory()[source]

Gets the output directory

getTime()[source]

Gets the current time

goOn()[source]

Checks with all the analyzers

If one analyzer returns False it returns False

hasAnalyzer(name)[source]

Is this LogLineAnalyzer name there

isPastTime(check)[source]

Are we past a given Time?

listAnalyzers()[source]
Returns:A list with the names of the Analyzers
resetFile()[source]

Propagate a reset to the actual analyzers

setDirectory(d)[source]

Sets the output directory for all the analyzers

setTime(time)[source]

Sets the time and alert all the LineAnalyzers that the time has changed :param time: the new value of the time

summarizeData(col=80)[source]

Get a summary of the data

tearDown()[source]

Remove reference to self in children (hoping to remove circular dependencies)

writeProgress(msg)[source]

Write a message to the progress output