From d2ec8a85cc506d69d0500d00984f0efa65b8506b Mon Sep 17 00:00:00 2001 From: Uwe Date: Sat, 4 Feb 2023 19:27:00 +0100 Subject: [PATCH] [FEM] Elmer output material name - when looking at the Elmer input file 'case.sif' it is extremely helpful to thee also the name of the material Since the name is only form info, this does not change the actual simulation --- src/Mod/Fem/femsolver/elmer/writer.py | 4 ++++ src/Mod/Fem/femtest/data/elmer/box_static_0_mm.sif | 1 + .../Fem/femtest/data/elmer/ccxcantilever_faceload_0_mm.sif | 1 + .../Fem/femtest/data/elmer/ccxcantilever_faceload_1_si.sif | 1 + .../Fem/femtest/data/elmer/ccxcantilever_nodeload_0_mm.sif | 1 + .../data/elmer/ccxcantilever_prescribeddisplacement_0_mm.sif | 1 + 6 files changed, 9 insertions(+) diff --git a/src/Mod/Fem/femsolver/elmer/writer.py b/src/Mod/Fem/femsolver/elmer/writer.py index a2a9034895..7328c4d1e5 100644 --- a/src/Mod/Fem/femsolver/elmer/writer.py +++ b/src/Mod/Fem/femsolver/elmer/writer.py @@ -803,6 +803,7 @@ class Writer(object): "There are two or more materials with empty references.\n\n" "Set for the materials to what solid they belong to.\n" ) + self._material(name, "Name", m["Name"]) if density_needed is True: self._material( name, "Density", @@ -935,6 +936,7 @@ class Writer(object): if obj.References else self._getAllBodies()) for name in (n for n in refs if n in bodies): + self._material(name, "Name", m["Name"]) if "RelativePermittivity" in m: self._material( name, "Relative Permittivity", @@ -1138,6 +1140,7 @@ class Writer(object): if obj.References else self._getAllBodies()) for name in (n for n in refs if n in bodies): + self._material(name, "Name", m["Name"]) if "Density" in m: self._material( name, "Density", @@ -1564,6 +1567,7 @@ class Writer(object): raise WriteError( "Used material does not specify the necessary 'Density'." ) + self._material(name, "Name", m["Name"]) self._material( name, "Density", self._getDensity(m)) diff --git a/src/Mod/Fem/femtest/data/elmer/box_static_0_mm.sif b/src/Mod/Fem/femtest/data/elmer/box_static_0_mm.sif index ef908c06df..1cd043f720 100644 --- a/src/Mod/Fem/femtest/data/elmer/box_static_0_mm.sif +++ b/src/Mod/Fem/femtest/data/elmer/box_static_0_mm.sif @@ -44,6 +44,7 @@ Body 1 End Material 1 + Name = String "Steel-Generic" Poisson ratio = Real 0.3 Youngs Modulus = Real 200000000000.0 End diff --git a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_0_mm.sif b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_0_mm.sif index 84760888df..155d966040 100644 --- a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_0_mm.sif +++ b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_0_mm.sif @@ -44,6 +44,7 @@ Body 1 End Material 1 + Name = String "CalculiX-Steel" Poisson ratio = Real 0.3 Youngs Modulus = Real 210000000000.0 End diff --git a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_1_si.sif b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_1_si.sif index 84760888df..155d966040 100644 --- a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_1_si.sif +++ b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_faceload_1_si.sif @@ -44,6 +44,7 @@ Body 1 End Material 1 + Name = String "CalculiX-Steel" Poisson ratio = Real 0.3 Youngs Modulus = Real 210000000000.0 End diff --git a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_nodeload_0_mm.sif b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_nodeload_0_mm.sif index 92764980ec..027662232f 100644 --- a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_nodeload_0_mm.sif +++ b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_nodeload_0_mm.sif @@ -44,6 +44,7 @@ Body 1 End Material 1 + Name = String "CalculiX-Steel" Poisson ratio = Real 0.3 Youngs Modulus = Real 210000000000.0 End diff --git a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_prescribeddisplacement_0_mm.sif b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_prescribeddisplacement_0_mm.sif index c345731432..735754f376 100644 --- a/src/Mod/Fem/femtest/data/elmer/ccxcantilever_prescribeddisplacement_0_mm.sif +++ b/src/Mod/Fem/femtest/data/elmer/ccxcantilever_prescribeddisplacement_0_mm.sif @@ -44,6 +44,7 @@ Body 1 End Material 1 + Name = String "CalculiX-Steel" Poisson ratio = Real 0.3 Youngs Modulus = Real 210000000000.0 End