From c7ab1fd98b54da82f4b24982880ad36b504f23b0 Mon Sep 17 00:00:00 2001 From: Bernd Hahnebach Date: Fri, 11 Sep 2015 18:16:42 +0200 Subject: [PATCH] FEM: add FEM Mesh Type to the CalculiX elementset up to date only solid is supported --- src/Mod/Fem/ccxInpWriter.py | 14 ++++++-------- src/Mod/Fem/frequency_analysis.inp | 4 ++-- src/Mod/Fem/static_analysis.inp | 4 ++-- 3 files changed, 10 insertions(+), 12 deletions(-) diff --git a/src/Mod/Fem/ccxInpWriter.py b/src/Mod/Fem/ccxInpWriter.py index b4a828194..92410091e 100644 --- a/src/Mod/Fem/ccxInpWriter.py +++ b/src/Mod/Fem/ccxInpWriter.py @@ -55,15 +55,12 @@ class inp_writer: f.write('** Element sets for materials\n') f.write('** written by {} function\n'.format(sys._getframe().f_code.co_name)) for m in self.material_objects: - mat_obj = m['Object'] - mat_obj_name = mat_obj.Name[:80] - - f.write('*ELSET,ELSET=' + mat_obj_name + '\n') if len(self.material_objects) == 1: + f.write('*ELSET,ELSET=MaterialSolidElements\n') f.write('Eall\n') else: - if mat_obj_name == 'MechanicalMaterial': - f.write('Eall\n') + print 'material object count: ', len(self.material_objects) + FreeCAD.Console.PrintError('Multiple materials are not yet supported!\n') def write_fixed_node_sets(self, f): f.write('\n***********************************************************\n') @@ -142,10 +139,11 @@ class inp_writer: f.write('{0:.3e}, \n'.format(density_in_tone_per_mm3)) # write element properties if len(self.material_objects) == 1: - f.write('*SOLID SECTION, ELSET=' + mat_obj_name + ', MATERIAL=' + mat_name + '\n') + f.write('*SOLID SECTION, ELSET=MaterialSolidElements, MATERIAL=' + mat_name + '\n') else: if mat_obj_name == 'MechanicalMaterial': - f.write('*SOLID SECTION, ELSET=' + mat_obj_name + ', MATERIAL=' + mat_name + '\n') + f.write('*SOLID SECTION, ELSET=MaterialSolidElements, MATERIAL=' + mat_name + '\n') + def write_step_begin(self, f): f.write('\n***********************************************************\n') diff --git a/src/Mod/Fem/frequency_analysis.inp b/src/Mod/Fem/frequency_analysis.inp index 4432c5f11..6210b4655 100644 --- a/src/Mod/Fem/frequency_analysis.inp +++ b/src/Mod/Fem/frequency_analysis.inp @@ -391,7 +391,7 @@ *********************************************************** ** Element sets for materials ** written by write_material_element_sets function -*ELSET,ELSET=MechanicalMaterial +*ELSET,ELSET=MaterialSolidElements Eall *********************************************************** @@ -455,7 +455,7 @@ Eall 0.360 *DENSITY 1.000e-09, -*SOLID SECTION, ELSET=MechanicalMaterial, MATERIAL=Test Material +*SOLID SECTION, ELSET=MaterialSolidElements, MATERIAL=Test Material *********************************************************** ** One step is needed to calculate the mechanical analysis of FreeCAD diff --git a/src/Mod/Fem/static_analysis.inp b/src/Mod/Fem/static_analysis.inp index 9b4ae8f6b..b24652a95 100644 --- a/src/Mod/Fem/static_analysis.inp +++ b/src/Mod/Fem/static_analysis.inp @@ -391,7 +391,7 @@ *********************************************************** ** Element sets for materials ** written by write_material_element_sets function -*ELSET,ELSET=MechanicalMaterial +*ELSET,ELSET=MaterialSolidElements Eall *********************************************************** @@ -455,7 +455,7 @@ Eall 0.360 *DENSITY 1.000e-09, -*SOLID SECTION, ELSET=MechanicalMaterial, MATERIAL=Test Material +*SOLID SECTION, ELSET=MaterialSolidElements, MATERIAL=Test Material *********************************************************** ** One step is needed to calculate the mechanical analysis of FreeCAD