# Passing from Thermal to Thermal-Coupled displacement

**URL:** <https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023>\
**Category:** Uncategorized\
**Created:** [January 16, 2024, 11:07am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023 "2024-01-16T11:07:11Z")\
**Posts on this page:** 19\
**Page:** 1

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 16, 2024, 11:07am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/1 "2024-01-16T11:07:11Z")

</div>

Dear Support, after run succesfully a model for Thermal Analysis in Steady State. I used the same for a Coupled Thermal-Displacement Temperature. I received this error:

\*ERROR in u\_calloc: error allocating memory  
variable=prestr, file=ccx\_2.20.c, line=429, num=-798160198, size=8

My model is already reduced to first order tetra element for try to reduce the number of nodes and the Dynamic Solver Pardiso is in use. I’m running with 8 CPU. This u-calloc error is a problem that several times has been repeated and limit the use of calculix. Suggestion ? I also tried with uncoupled but is even worse.  
Thanks & Regards

---

<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:** [January 16, 2024, 1:08pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/2 "2024-01-16T13:08:36Z")

</div>

How big is this model - how many nodes ? Did you try in ccx 2.21 ?

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 16, 2024, 2:48pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/3 "2024-01-16T14:48:53Z")

</div>

We’re speaking about an FE model of 157’000 nodes with a dimension of 62MB (with Tetra order 2 would be also greater 179MB ). At the moment the latest version that I have in hand is the 2.20 so I did’nt try with the 2.21.

---

<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:** [January 16, 2024, 3:29pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/4 "2024-01-16T15:29:58Z")

</div>

157 000 nodes is not that bad. How much RAM do you have ? Try with other solvers too.

---

<div class="post-metadata">

**Author:** ![xyont](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/xyont/32/3553_2.png) [@xyont](https://calculix.discourse.group/u/xyont)\
**Post date:** [January 16, 2024, 5:35pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/5 "2024-01-16T17:35:54Z")

</div>

what a mesher being used? when memory is look enough, but the problem still not solved, try to renumber at node and element.

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [January 17, 2024, 2:51am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/6 "2024-01-17T02:51:19Z")

</div>

> [@Antonio\_Crupi](#):
>
> \*ERROR in u\_calloc: error allocating memory  
> variable=prestr, file=ccx\_2.20.c, line=429, num=-798160198, size=8

This is the line:  
`if((istep==0)||((irstrt[0]<0)&&(iprestr>0)))NNEW(prestr,double,6*mi[0]*ne_);`

Check how you initialize the problem - if you are using a restart or anything else. This variable is related to the residual stresses/strains.

---

<div class="post-metadata">

**Author:** ![vicmw](https://avatars.discourse-cdn.com/v4/letter/v/6de8d8/32.png) [@vicmw](https://calculix.discourse.group/u/vicmw)\
**Post date:** [January 17, 2024, 6:54am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/7 "2024-01-17T06:54:42Z")

</div>

Tet10 typically needs fewer nodes than tet4 because you can use a coarser mesh.

I tend to agree wtih @Calc_em that 157k nodes is usually OK. Spooles and Pardiso start going bad around 300k nodes for mechanical but I don’t have experience with coupled thermal-mechanical and maybe that’s more demanding. I think you should use Pastix to allow more nodes out of the box.

What size model does solve successfully? I’m just wondering if it really is that the model is too big or something else is wrong.

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 17, 2024, 7:44am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/8 "2024-01-17T07:44:43Z")

</div>

I have 32GB of RAM. Which solver you suggest and where can I found it?

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 17, 2024, 7:48am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/9 "2024-01-17T07:48:13Z")

</div>

I have not a restart comand inside and the unique initialization is the Initial Conditions of Temperature (23°), but this is necessari for Thermal part.

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 17, 2024, 8:02am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/10 "2024-01-17T08:02:21Z")

</div>

The element size in use can’t be increased in a coarser mesh because this size (2-3mm) is required for capture well the Stress in a Thermo-Structural Analysis. I followed your suggestion for use Pastix but is the same.  
The same model solve succesfully for Thermal Analysis. If really is the “Big” size of the model the cause of issue this is a limitation for this product because we’re speaking of a normal size for a single component, what happen if I have to consider an entire subsystem or worser a complete system?

Thank for you answer.

---

<div class="post-metadata">

**Author:** ![JuanP74](https://avatars.discourse-cdn.com/v4/letter/j/b5a626/32.png) [@JuanP74](https://calculix.discourse.group/u/JuanP74)\
**Post date:** [January 17, 2024, 3:50pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/11 "2024-01-17T15:50:13Z")

</div>

check out the number of equations in the screen output before starting the step, this is a better guide for problem size and computer requirements than node or element number. Te manual states 32Gb per 1 million equations as a minimum.

---

<div class="post-metadata">

**Author:** ![xyont](https://yyz2.discourse-cdn.com/free1/user_avatar/calculix.discourse.group/xyont/32/3553_2.png) [@xyont](https://calculix.discourse.group/u/xyont)\
**Post date:** [January 17, 2024, 4:56pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/12 "2024-01-17T16:56:23Z")

</div>

probably it’s right, the problems are due to another reason. Random and large jumping at number of element e.g starting with 179240 instead of 1 lead to another variable, even the error message is similar. Number of equation did not show early, thus make it hard to detect memory requirement for solving.

 ![2024-01-17 23_47_52-hdr1x.inp - SciTE](https://global.discourse-cdn.com/free1/uploads/calculix/original/2X/a/af1dffca35b0bdef8f116f902b44de9d9c62e7b6.png)

---

<div class="post-metadata">

**Author:** ![jbr](https://avatars.discourse-cdn.com/v4/letter/j/ecccb3/32.png) [@jbr](https://calculix.discourse.group/u/jbr)\
**Post date:** [January 17, 2024, 11:25pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/13 "2024-01-17T23:25:25Z")

</div>

Yep… Do a proper renumbering with no-gaps in element and node numbers. That would certainly help.

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 18, 2024, 8:03am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/14 "2024-01-18T08:03:07Z")

</div>

With the renumbering of Nodes & Elemts starting from 1 it seems going. Thanks for the Collaboration.

---

<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:** [January 18, 2024, 8:19am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/15 "2024-01-18T08:19:39Z")

</div>

Btw. PrePoMax can renumber nodes and elements so that the number starts from a given number.

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 19, 2024, 11:57am UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/16 "2024-01-19T11:57:14Z")

</div>

Ok I was able now to run my Thermo-Structural Analysis, but the convergency was obtained with the “Uncoupled temperature-displacement step” while the run is not able to reach the convergency in the configuration “Coupled temperature-displacement step”. Can someone explain me pratically which are the differencies between the two methods? I’m trying to understand if I can use this results in uncoupled way for my Thermo-Structural Analysis in which the only load is the Thermal Expansion of the structure.

Thanks & Regards

---

<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:** [January 19, 2024, 1:11pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/17 "2024-01-19T13:11:24Z")

</div>

> [@Antonio\_Crupi](#):
>
> Can someone explain me pratically which are the differencies between the two methods?

You can find an explanation here: [Mechanical-Thermal analysis - sequence - #2 by Calc\_em](https://calculix.discourse.group/t/mechanical-thermal-analysis-sequence/505/2)

---

<div class="post-metadata">

**Author:** ![Antonio\_Crupi](https://avatars.discourse-cdn.com/v4/letter/a/c6cbf5/32.png) [@Antonio\_Crupi](https://calculix.discourse.group/u/Antonio_Crupi)\
**Post date:** [January 19, 2024, 2:19pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/18 "2024-01-19T14:19:27Z")

</div>

Clear, so in absence of other external load, when only the Thermal Expansion coming from the heating source is the driver of loads then I think that Uncoupled should work fine.

---

<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:** [January 19, 2024, 2:45pm UTC](https://calculix.discourse.group/t/passing-from-thermal-to-thermal-coupled-displacement/2023/19 "2024-01-19T14:45:33Z")

</div>

From Abaqus documentation (there the procedures are defined differently but fully coupled is understood in the same way):

> Fully coupled thermal-stress analysis is needed when the stress analysis is dependent on the temperature distribution and the temperature distribution depends on the stress solution. For example, metalworking problems may include significant heating due to inelastic deformation of the material that, in turn, changes the material properties. In addition, contact conditions exist in some problems where the heat conducted between surfaces may depend strongly on the separation of the surfaces or the pressure transmitted across the surfaces. For such cases the thermal and mechanical solutions must be obtained simultaneously rather than sequentially.
