Package PyFoam :: Package Execution :: Module ConvergenceRunner
[hide private]
[frames] | no frames]

Source Code for Module PyFoam.Execution.ConvergenceRunner

 1  #  ICE Revision: $Id: /local/openfoam/Python/PyFoam/PyFoam/Execution/ConvergenceRunner.py 5655 2009-09-28T18:16:31.683539Z bgschaid  $  
 2  """Stop solver at convergence""" 
 3   
 4  from AnalyzedRunner import AnalyzedRunner 
 5  from PyFoam.LogAnalysis.SteadyConvergedLineAnalyzer import SteadyConvergedLineAnalyzer 
 6   
7 -class ConvergenceRunner(AnalyzedRunner):
8 """It is assumed that the provided solver is a steady state 9 solver. After all the linear solvers have initial residuals below 10 their limits the run is assumed to be convergent and the run is 11 stopped by setting 12 13 stopAt nextWrite; 14 writeInterval 1; 15 16 in the controlDict""" 17
18 - def __init__(self,analyzer, 19 argv=None, 20 silent=False, 21 logname="PyFoamSolve", 22 server=False, 23 lam=None, 24 restart=False, 25 compressLog=False, 26 noLog=False, 27 remark=None, 28 jobId=None):
29 """See AnalyzedRunner""" 30 AnalyzedRunner.__init__(self, 31 analyzer, 32 argv, 33 silent, 34 logname, 35 server=server, 36 lam=lam, 37 compressLog=compressLog, 38 restart=restart, 39 noLog=noLog, 40 remark=remark, 41 jobId=jobId) 42 43 self.analyzer.addAnalyzer("Convergence",SteadyConvergedLineAnalyzer())
44
45 - def lineHandle(self,line):
46 """Not to be called: Stops the solver""" 47 AnalyzedRunner.lineHandle(self,line) 48 49 if not self.analyzer.goOn(): 50 self.stopGracefully()
51