I think I see the source of your result dependency right here:
I apply a temperature load of 40 degrees Celsius to all facets
This applies temperatures to the exterior face nodes but the internal volume nodes remain undefined. The program cannot handle a null temperature value for these nodes so it applies a default 0 Kelvin to them. So, as your exterior face nodes expand the interior volume nodes are likely contracting.
To fix this you would do the following process:
- Edit the definition of your Temperature boundary condition
- Remove all faces
- Press F5 on your keyboard to show the Selection Filter toolbar
- Select the 'Solid Body' filter ()
- Select the body (or bodies) of your model from the graphics window to make your selections
- Accept the changed Temperature boundary condition.
The run the study again and see if the results are not close to what you expect.
This is a very subtle nuance, I myself would not have guessed. Thanks Ryan Dark.