Wrong results if *Coupled temp-disp is used instead of *Heat transfer


a FreeCAD forum user reported an issue with heat transfer analysis - the results he got are meaningless. We discovered that the problem lies in the fact that FreeCAD uses *Coupled temperature-displacement step for all thermal and thermomechanical analyses. If I just change this step in the input file to *Heat transfer, the temperatures are correct.

I don’t like the way boundary conditions and loads are defined in this analysis, it’s likely that they don’t represent the physics of the problem well. But anyway, it seems to be a bug in CalculiX.

Here’s a link to the aforementioned discussion on the FreeCAD forum: different results Freecad and Solidworks - FreeCAD Forum

And here’s the input file without that small modification of the step type:

Maybe I missed out on some important detail but for now, it seems to be the solver’s fault. Can you confirm this ?

Specific heat value seems wrong

*SPECIFIC HEAT = 9.000e+08 kJ/t/K (?¿?¿)

Inp says ** Specific Heat unit is kJ/t/K = mm^2/s^2/K

Metallic common values of Specific Heat are around 500-1.000 J/ (KgK) = KJ/ (tK) .

I’ve checked it now. The specific heat should be correct in this case since the user provided a value of 900 J/kg/K and it was automatically converted by FreeCAD and saved to the input file in SI(mm) units and thus it became 9e8 mJ/tonne/K. Maybe just the auto comment in the input file is somewhat misleading. However, even wrong specific heat value shouldn’t cause the issue with temperature results since it’s a steady-state analysis. To make sure, I commented out the specific heat definition and the problem still persists.

As a side note, I guess that I shouldn’t have used space in the name of this input file. It’s likely necessary to remove it before submitting the analysis from this file.

The Freecad user picture shows some heat transfer involved. Specific Heat coefficient transfer might be playing a role on this.


Unfortunately, he didn’t share the files from simulation in SolidWorks so I don’t know all the details of that analysis. Maybe he actually wanted to perform a transient study in which specific heat would be important. However, it seems that he just needed a steady-state solution and that’s what is selected in the input file. Anyway, as I’ve mentioned, even with the specific heat commented out the problem still occurs and thus its source must lie elsewhere.

Mechanical response is not important here so *Coupled temperature-displacement step normally wouldn’t be necessary (but FreeCAD doesn’t support the purely thermal step yet). Maybe the coupled step shouldn’t be used for analyses without any mechanical BCs and loads but I’d like to confirm this and find out what actually causes the temperatures to be so absurdly high.