# Thermal expansion

**URL:** <https://calculix.discourse.group/t/thermal-expansion/901>\
**Category:** Uncategorized\
**Created:** [December 11, 2021, 3:31pm UTC](https://calculix.discourse.group/t/thermal-expansion/901 "2021-12-11T15:31:27Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 11, 2021, 3:31pm UTC](https://calculix.discourse.group/t/thermal-expansion/901/1 "2021-12-11T15:31:27Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [December 11, 2021, 3:55pm UTC](https://calculix.discourse.group/t/thermal-expansion/901/2 "2021-12-11T15:55:24Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![Disla](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/disla/32/3548_2.png) [@Disla](https://calculix.discourse.group/u/Disla)\
**Post date:** [December 11, 2021, 10:10pm UTC](https://calculix.discourse.group/t/thermal-expansion/901/3 "2021-12-11T22:10:17Z")

</div>

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?

---

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 12, 2021, 6:21am UTC](https://calculix.discourse.group/t/thermal-expansion/901/4 "2021-12-12T06:21:54Z")

</div>

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).

---

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 12, 2021, 6:23am UTC](https://calculix.discourse.group/t/thermal-expansion/901/5 "2021-12-12T06:23:17Z")

</div>

thanks for the reply.  
I do it again.

---

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 13, 2021, 9:07am UTC](https://calculix.discourse.group/t/thermal-expansion/901/6 "2021-12-13T09:07:49Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [December 13, 2021, 9:22am UTC](https://calculix.discourse.group/t/thermal-expansion/901/7 "2021-12-13T09:22:43Z")

</div>

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 ?

---

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 13, 2021, 9:30am UTC](https://calculix.discourse.group/t/thermal-expansion/901/8 "2021-12-13T09:30:45Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 13, 2021, 9:40am UTC](https://calculix.discourse.group/t/thermal-expansion/901/11 "2021-12-13T09:40:55Z")

</div>

\*Heading  
Static\_analysis

* * *

\*\* MESH NODES AND ELEMENTS

* * *

\*\* Additional Node Options: none  
\*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 condition and loads

* * *

\*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

---

<div class="post-metadata">

**Author:** ![Calc\_em](https://avatars.discourse-cdn.com/v4/letter/c/43a26b/32.png) [@Calc\_em](https://calculix.discourse.group/u/Calc_em)\
**Post date:** [December 13, 2021, 10:29am UTC](https://calculix.discourse.group/t/thermal-expansion/901/12 "2021-12-13T10:29:24Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![vaka](https://avatars.discourse-cdn.com/v4/letter/v/35a633/32.png) [@vaka](https://calculix.discourse.group/u/vaka)\
**Post date:** [December 13, 2021, 10:35am UTC](https://calculix.discourse.group/t/thermal-expansion/901/13 "2021-12-13T10:35:18Z")

</div>

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

---

<div class="post-metadata">

**Author:** ![Disla](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/disla/32/3548_2.png) [@Disla](https://calculix.discourse.group/u/Disla)\
**Post date:** [December 13, 2021, 11:32am UTC](https://calculix.discourse.group/t/thermal-expansion/901/14 "2021-12-13T11:32:26Z")

</div>

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