# Thermal expansion

Dear CalculiX Users,

I am trying to calculate thermal expantion of a B32 beam with expand ratio of 1.2E-05.
In Theory, the furmula for calculating strain is ‘Strain = Alpha * dT’, in case of my Example, dT= 200°C and Alpha = 1.2E-05. As a result–> Strain=1.2E-05 * 200 = 2.4E-03.

But, in CalculiX i got the value of strain equal to 9.4E-04.

I use the static analysis and Direct incremnet of time steps. Does anyone have any experience regarding to thermal expantion simulation who could help me to find the reason of this differences?

Greetings
Vahid

Which strain component do you check ? Are you sure the value is taken from the last frame of the analysis ? How many elements do you use for this beam ?

Hi vaka,
The relationship between 2.4 and 9.4 is suspiciously similar to the one between mm and Inch. ¿Could you check that your units are consistent?

thnaks for reply. I checked the strain in X direction as weel as the displacement of the beam in X direction. Yes, i took the last timestep’s result, and it has been defined by using 1 element, two points, in this way (Id startpoint startpoint endpoint).

I do it again.

Maybe useful for someone!
I have tested the B31, B31R, and B21 beam elements. in these cases I got the value of Strain equal to 1.2E-03 (half of theorical value which should i get).

Moreover, whenever i use more than one element in the beam, the expantion are calculated junt in first element near boundary condition. I mean, it seem, the beam should be difined using just one element.

That’s interesting, I would also check other types of beam elements (three-node ones).

Are you sure that units are correct ? Can you paste the input file’s content here for further tests ?

Regarding units, there are expand ratio which is (1/°c) and dT (°C).

Static_analysis

** MESH NODES AND ELEMENTS

*Node
11, 0.2, -0.005, 0.0025
12, 0., -0.005, 0.0025
**
*ELEMENT, TYPE=B31, ELSET=elset_gedge178
100, 12 , 11

*NSet, nset=nodeset_gvertex182
11
*NSet, nset=nodeset_gvertex184
12

*INITIAL CONDITIONS,TYPE=TEMPERATURE
12,0.
11,0.
**

** MATERIAL MODELS

**
*Material, Name=Material_steel_SI_Beam
*Density
7810.
*Elastic, Type=ISO
21000000., 0.3
*EXPANSION,
12.E-06,200.
**
**

** Beam Properties

*BEAM SECTION,ELSET=elset_gedge178,MATERIAL=Material_steel_SI_Beam, SECTION=Rect.
0.001, 0.001
0.,0.,1.
**
**
*AMPLITUDE, NAME=a1
0.,1.,2.,200.

** STEP - Procedure

*Step ,NLGEOM,INC=10000
*Static,Direct
0.01, 2.

*Boundary
nodeset_gvertex184, 6, 6, 0.
nodeset_gvertex184, 5, 5, 0.
nodeset_gvertex184, 4, 4, 0.
nodeset_gvertex184, 3, 3, 0.
nodeset_gvertex184, 2, 2, 0.
nodeset_gvertex184, 1, 1, 0.
*Boundary
*TEMPERATURE, Amplitude=a1
nodeset_gvertex182,1.
**
**
**

**Output

*Node File, Output=3d
U, NT,
*El File
S, E, HFL,

*NODE PRINT,NSET=nodeset_gvertex182
Rf
*NODE PRINT,NSET=nodeset_gvertex182
U
*NODE PRINT,NSET=nodeset_gvertex184
Rf
*NODE PRINT,NSET=nodeset_gvertex184
U
**
*End Step

I’ve noticed that the same issue happens in Abaqus so it can’t be CalculiX’s fault. Apparently, the problem is caused by the fact that *Temperature is applied only to the node at the free end. If you add the other node, you will get the expected result.

2 Likes

Exactly, I got the expected result, when i implemente BC in both nodes of the Beam.

Result seems fine. There is a linear temperature gradient inside the element.
Mean value 100ºC. Half the expected strain.

2 Likes