From 177fdcd02bb06e6582b9eabbd3358edef16c1ed0 Mon Sep 17 00:00:00 2001 From: Uwe Date: Mon, 6 Feb 2023 06:05:53 +0100 Subject: [PATCH] [FEM] Elmer electrostatic improvements - output only a reasonable number of digits for vacuum permittivity - output the FC label of potential constraints as comment (helps a lot when having several constraints) --- .../femsolver/elmer/equations/electrostatic_writer.py | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Mod/Fem/femsolver/elmer/equations/electrostatic_writer.py b/src/Mod/Fem/femsolver/elmer/equations/electrostatic_writer.py index 916f77c41d..fa9b7257f0 100644 --- a/src/Mod/Fem/femsolver/elmer/equations/electrostatic_writer.py +++ b/src/Mod/Fem/femsolver/elmer/equations/electrostatic_writer.py @@ -101,10 +101,12 @@ class ESwriter: equation.PotentialDifference = 0.0 def handleElectrostaticConstants(self): - self.write.constant( - "Permittivity Of Vacuum", - self.write.convert(self.write.constsdef["PermittivityOfVacuum"], "T^4*I^2/(L^3*M)") + permittivity = self.write.convert( + self.write.constsdef["PermittivityOfVacuum"], + "T^4*I^2/(L^3*M)" ) + permittivity = round(permittivity, 20) # to get rid of numerical artifacts + self.write.constant("Permittivity Of Vacuum", permittivity) def handleElectrostaticMaterial(self, bodies): for obj in self.write.getMember("App::MaterialObject"): @@ -125,6 +127,9 @@ class ESwriter: for obj in self.write.getMember("Fem::ConstraintElectrostaticPotential"): if obj.References: for name in obj.References[0][1]: + # output the FreeCAD label as comment + if obj.Label: + self.write.boundary(name, "! FreeCAD Name", obj.Label) if obj.PotentialEnabled: if hasattr(obj, "Potential"): # Potential was once a float and scaled not fitting SI units