From d56f6217c1d1768bb2d1530895d2b6cad3648708 Mon Sep 17 00:00:00 2001 From: Jean-Matthieu Etancelin <jean-matthieu.etancelin@imag.fr> Date: Thu, 23 May 2013 14:22:56 +0000 Subject: [PATCH] Fix problem input variables --- HySoP/hysop/problem/problem.py | 25 +++++++++++++------------ 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/HySoP/hysop/problem/problem.py b/HySoP/hysop/problem/problem.py index d5d961c63..758bcbdda 100644 --- a/HySoP/hysop/problem/problem.py +++ b/HySoP/hysop/problem/problem.py @@ -74,7 +74,18 @@ class Problem(object): if __VERBOSE__: print "==== Variables initialization ====" - # \todo find a way to set self.input properly. + # Build variables list to initialize + # These are operators input variables that are not output of + # previous operators in the operator stack + self.input += self.operators[-1].input + for op in self.operators[:-1][::-1]: + for v in op.output: + if v in self.input: + self.input.remove(v) + for v in op.input: + if not v in self.input: + self.input.append(v) + for v in self.input: v.initialize() @@ -113,22 +124,12 @@ class Problem(object): op.apply(self.simulation) self.simulation.advance() - print "\n\n End solving\n" - print "=== Timings ===" - if (self.domain.topologies.values()[0].rank == 0): - for op in self.operators: - op.printComputeTime() - self.time_info[0] += op.time_info[0] - self.time_info[1] += op.time_info[1] - print "\n" - print "===\n" - @debug def finalize(self): """ Finalize method """ - print "==== Finalization ====" + print "\n\n==== End ====" ## We terminate monitors before operators. for op in self.operators: if isinstance(op, Monitoring): -- GitLab