From 18d1941a7929b53ef4a6afdccc4598aca9a55c6e Mon Sep 17 00:00:00 2001 From: Uwe Date: Fri, 5 Aug 2022 02:13:04 +0200 Subject: [PATCH] [FEM] Elmer: push mesh scaled to Elmer - reverts commit d296732d - the scaling it correct - there is a bug in Elmer that the heat source is not aware of the scaling - write the scaling directly to the solver, not to the mesh itself. (make in principal no difference but we are closer to the solver) --- src/Mod/Fem/femsolver/elmer/tasks.py | 1 + src/Mod/Fem/femsolver/elmer/writer.py | 9 +++------ 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/Mod/Fem/femsolver/elmer/tasks.py b/src/Mod/Fem/femsolver/elmer/tasks.py index cca6ed22a8..cb2b12fe99 100644 --- a/src/Mod/Fem/femsolver/elmer/tasks.py +++ b/src/Mod/Fem/femsolver/elmer/tasks.py @@ -252,6 +252,7 @@ class Results(run.Results): self.fail() return self.solver.ElmerResult.read(postPath) + self.solver.ElmerResult.scale(1000) self.solver.ElmerResult.getLastPostObject().touch() self.solver.Document.recompute() diff --git a/src/Mod/Fem/femsolver/elmer/writer.py b/src/Mod/Fem/femsolver/elmer/writer.py index ee108268fa..ddc28f1590 100644 --- a/src/Mod/Fem/femsolver/elmer/writer.py +++ b/src/Mod/Fem/femsolver/elmer/writer.py @@ -311,12 +311,9 @@ class Writer(object): def _handleSimulation(self): self._simulation("Coordinate System", "Cartesian 3D") self._simulation("Coordinate Mapping", (1, 2, 3)) - # not necessary anymore since we use SI units - # if self.unit_schema == Units.Scheme.SI2: - # self._simulation("Coordinate Scaling", 0.001) - # Console.PrintMessage( - # "'Coordinate Scaling = Real 0.001' was inserted into the solver input file.\n" - # ) + # Elmer uses SI base units, but our mesh is in mm, therefore we must tell + # the solver that we have another scale + self._simulation("Coordinate Scaling", 0.001) self._simulation("Simulation Type", "Steady state") self._simulation("Steady State Max Iterations", 1) self._simulation("Output Intervals", 1)