1
2 """Analyze Steady Solver"""
3
4 import re
5
6 from LogLineAnalyzer import LogLineAnalyzer
7
9 """
10 Checks whether a Steady-solver has converged
11
12 Convergence is assumed if all the linear solvers have their
13 initial residual below their threshold
14 """
15
16 linearRegExp="^(.+): Solving for (.+), Initial residual = (.+), Final residual = (.+), No Iterations (.+)$"
17
25
27 """Counts the number of linear solvers that have not converged"""
28 time=self.parent.getTime()
29 if time!=self.lastTime:
30 if self.firstTime:
31 self.firstTime=False
32 else:
33 if self.counter==0:
34 self.isConverged=True
35 else:
36 self.isConverged=False
37 self.counter=0
38 self.lastTime=time
39
40 m=self.exp.match(line)
41 if m!=None:
42 if int(m.group(5))>0:
43 self.counter+=1
44
46 """Converged
47 @return: False if converged"""
48 return not self.isConverged
49