Passing from Thermal to Thermal-Coupled displacement

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

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

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.

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

1 Like

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

1 Like

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.

1 Like

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.

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

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.

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.

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.

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.

1 Like

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

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

2 Likes

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

2 Likes

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

You can find an explanation here: Mechanical-Thermal analysis - sequence - #2 by Calc_em

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.

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.

1 Like