diff --git a/src/Mod/Fem/FemInputWriterCcx.py b/src/Mod/Fem/FemInputWriterCcx.py index 9211ad469..6c5aa2ec3 100644 --- a/src/Mod/Fem/FemInputWriterCcx.py +++ b/src/Mod/Fem/FemInputWriterCcx.py @@ -278,7 +278,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter): density_in_tonne_per_mm3 = 1 try: YM = FreeCAD.Units.Quantity(mat_obj.Material['YoungsModulus']) - YM_in_MPa = YM.getValueAs('MPa') + YM_in_MPa = float(YM.getValueAs('MPa')) except: FreeCAD.Console.PrintError("No YoungsModulus defined for material: default used\n") try: @@ -287,17 +287,17 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter): FreeCAD.Console.PrintError("No PoissonRatio defined for material: default used\n") try: TC = FreeCAD.Units.Quantity(mat_obj.Material['ThermalConductivity']) - TC_in_WmK = TC.getValueAs('W/m/K') # SvdW: Add factor to force units to results' base units of t/mm/s/K - W/m/K results in no factor needed + TC_in_WmK = float(TC.getValueAs('W/m/K')) # SvdW: Add factor to force units to results' base units of t/mm/s/K - W/m/K results in no factor needed except: FreeCAD.Console.PrintError("No ThermalConductivity defined for material: default used\n") try: TEC = FreeCAD.Units.Quantity(mat_obj.Material['ThermalExpansionCoefficient']) - TEC_in_mmK = TEC.getValueAs('mm/mm/K') + TEC_in_mmK = float(TEC.getValueAs('mm/mm/K')) except: FreeCAD.Console.PrintError("No ThermalExpansionCoefficient defined for material: default used\n") try: SH = FreeCAD.Units.Quantity(mat_obj.Material['SpecificHeat']) - SH_in_JkgK = SH.getValueAs('J/kg/K') * 1e+06 # SvdW: Add factor to force units to results' base units of t/mm/s/K + SH_in_JkgK = float(SH.getValueAs('J/kg/K')) * 1e+06 # SvdW: Add factor to force units to results' base units of t/mm/s/K except: FreeCAD.Console.PrintError("No SpecificHeat defined for material: default used\n") mat_info_name = mat_obj.Material['Name'] @@ -306,7 +306,7 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter): f.write('**FreeCAD material name: ' + mat_info_name + '\n') f.write('*MATERIAL, NAME=' + mat_name + '\n') f.write('*ELASTIC \n') - f.write('{0}, {1:.3f}\n'.format(YM_in_MPa, PR)) + f.write('{0:.0f}, {1:.3f}\n'.format(YM_in_MPa, PR)) try: density = FreeCAD.Units.Quantity(mat_obj.Material['Density']) density_in_tonne_per_mm3 = float(density.getValueAs('t/mm^3')) @@ -315,11 +315,11 @@ class FemInputWriterCcx(FemInputWriter.FemInputWriter): f.write('*DENSITY \n') f.write('{0:.3e}, \n'.format(density_in_tonne_per_mm3)) f.write('*CONDUCTIVITY \n') - f.write('{}, \n'.format(TC_in_WmK)) + f.write('{0:.3f}, \n'.format(TC_in_WmK)) f.write('*EXPANSION \n') - f.write('{}, \n'.format(TEC_in_mmK)) + f.write('{0:.3e}, \n'.format(TEC_in_mmK)) f.write('*SPECIFIC HEAT \n') - f.write('{}, \n'.format(SH_in_JkgK)) + f.write('{0:.3e}, \n'.format(SH_in_JkgK)) def write_femelementsets(self, f): f.write('\n***********************************************************\n') diff --git a/src/Mod/Fem/test_files/ccx/cube_frequency.inp b/src/Mod/Fem/test_files/ccx/cube_frequency.inp index c2dbe8d41..13d878f0c 100644 --- a/src/Mod/Fem/test_files/ccx/cube_frequency.inp +++ b/src/Mod/Fem/test_files/ccx/cube_frequency.inp @@ -474,15 +474,15 @@ Eall **FreeCAD material name: Steel-Generic *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000 , 0.300 +200000, 0.300 *DENSITY 7.900e-09, *CONDUCTIVITY -1, +1.000, *EXPANSION -1, +1.000e+00, *SPECIFIC HEAT -1, +1.000e+00, *********************************************************** ** Sections diff --git a/src/Mod/Fem/test_files/ccx/cube_static.inp b/src/Mod/Fem/test_files/ccx/cube_static.inp index 14765d2e3..2a1b1075c 100644 --- a/src/Mod/Fem/test_files/ccx/cube_static.inp +++ b/src/Mod/Fem/test_files/ccx/cube_static.inp @@ -474,15 +474,15 @@ Eall **FreeCAD material name: Steel-Generic *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000 , 0.300 +200000, 0.300 *DENSITY 7.900e-09, *CONDUCTIVITY -1, +1.000, *EXPANSION -1, +1.000e+00, *SPECIFIC HEAT -1, +1.000e+00, *********************************************************** ** Sections diff --git a/src/Mod/Fem/test_files/ccx/spine_thermomech.inp b/src/Mod/Fem/test_files/ccx/spine_thermomech.inp index 346f2b08c..7fa8715e7 100644 --- a/src/Mod/Fem/test_files/ccx/spine_thermomech.inp +++ b/src/Mod/Fem/test_files/ccx/spine_thermomech.inp @@ -104,15 +104,15 @@ Eall **FreeCAD material name: Steel-Generic *MATERIAL, NAME=MechanicalMaterial *ELASTIC -200000 , 0.300 +200000, 0.300 *DENSITY 7.900e-09, *CONDUCTIVITY -43.27 , +43.270, *EXPANSION -1.2e-05 , +1.200e-05, *SPECIFIC HEAT -5e+08 , +5.000e+08, *********************************************************** ** Initial temperature constraint