From 7346ee40732909ee8748c5b308edd7c8fbd8bc60 Mon Sep 17 00:00:00 2001 From: Uwe Date: Sat, 16 Jul 2022 19:46:46 +0200 Subject: [PATCH] [FEM] [skip CI] inform user about used CPU cores for Elmer Since the number of used cores can for Elmer have the impact that a solver run converges or not, output this info prominently --- src/Mod/Fem/femsolver/elmer/tasks.py | 5 +++++ src/Mod/Fem/femsolver/settings.py | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/src/Mod/Fem/femsolver/elmer/tasks.py b/src/Mod/Fem/femsolver/elmer/tasks.py index b8dbc78b04..f57394d55c 100644 --- a/src/Mod/Fem/femsolver/elmer/tasks.py +++ b/src/Mod/Fem/femsolver/elmer/tasks.py @@ -76,6 +76,9 @@ class Prepare(run.Prepare): def run(self): # TODO print working dir to report console self.pushStatus("Preparing input files...\n") + num_cores = settings.get_cores("ElmerGrid") + self.pushStatus("Number of CPU cores to be used for the solver run: {}\n" + .format(num_cores)) if self.testmode: # test mode: neither gmsh, nor elmergrid nor elmersolver binaries needed FreeCAD.Console.PrintMessage("Machine testmode: {}\n".format(self.testmode)) @@ -124,6 +127,8 @@ class Solve(run.Solve): os.environ["LD_LIBRARY_PATH"] = "$LD_LIBRARY_PATH:{}/modules".format(solvpath) # different call depending if with multithreading or not num_cores = settings.get_cores("ElmerSolver") + self.pushStatus("Number of CPU cores to be used for the solver run: {}\n" + .format(num_cores)) args = [] if int(num_cores) > 1: if system() != "Windows": diff --git a/src/Mod/Fem/femsolver/settings.py b/src/Mod/Fem/femsolver/settings.py index f8184e6808..d49b4821a1 100644 --- a/src/Mod/Fem/femsolver/settings.py +++ b/src/Mod/Fem/femsolver/settings.py @@ -114,7 +114,7 @@ def get_cores(name): if name in _SOLVER_PARAM: cores = _SOLVER_PARAM[name].get_cores() FreeCAD.Console.PrintMessage( - "Number of CPU cores to be used for the solver run: {} \n" + "Number of CPU cores to be used for the solver run: {}\n" .format(cores) ) return cores