diff --git a/src/Mod/Fem/femsolver/elmer/tasks.py b/src/Mod/Fem/femsolver/elmer/tasks.py index 429bde9cc3..0f75d25e06 100644 --- a/src/Mod/Fem/femsolver/elmer/tasks.py +++ b/src/Mod/Fem/femsolver/elmer/tasks.py @@ -133,7 +133,7 @@ class Results(run.Results): def run(self): if self.solver.ElmerResult is None: self._createResults() - postPath = os.path.join(self.directory, "case0001.vtu") + postPath = self._getResultFile() self.solver.ElmerResult.read(postPath) self.solver.ElmerResult.getLastPostObject().touch() self.solver.Document.recompute() @@ -144,4 +144,20 @@ class Results(run.Results): self.solver.ElmerResult.Label = self.solver.Label + "Result" self.analysis.addObject(self.solver.ElmerResult) + def _getResultFile(self): + postPath = None + # elmer post file path changed with version x.x + # see https://forum.freecadweb.org/viewtopic.php?f=18&t=42732 + # workaround + possible_post_file_0 = os.path.join(self.directory, "case0001.vtu") + possible_post_file_t = os.path.join(self.directory, "case_t0001.vtu") + if os.path.isfile(possible_post_file_0): + postPath = possible_post_file_0 + elif os.path.isfile(possible_post_file_t): + postPath = possible_post_file_t + else: + self.report.error("Result file not found.") + self.fail() + return postPath + ## @}