Hi,
I’m currently trying my hand at a thermal analysis, but unfortunately it’s not going as well as I’d expected. For the initial setup:
I have a model made up of C3D10 elements. A few nodes are fixed to prevent the model from moving in space. I have a temperature for each node that I would like to specify. CalculiX should then calculate the thermal strain (i.e., the displacement of all nodes) resulting from this temperature field.
My input file (solve_therm.inp) looks like this
*INCLUDE, INPUT=model.inp
*MATERIAL, NAME=generic
*ELASTIC, TYPE=ISO
525, 0.3
*EXPANSION, TYPE=ISO
0.4
*SOLID SECTION, ELSET=EALL, MATERIAL=generic
*STEP
*STATIC
*BOUNDARY
fixed, 1, 3, 0
*INCLUDE, INPUT=therm_boundary.inp
*NODE FILE
U
*END STEP
And the file content for the boundary conditions looks like this:
1,11,11, 5.643741273e+01
2,11,11, 5.414079499e+01
3,11,11, 1.761354130e+02
4,11,11, 4.460606464e+00
5,11,11, 7.423315814e+01
6,11,11, 8.601981278e+01
7,11,11, 3.460357794e+01
8,11,11, 4.604850232e+01
9,11,11, 5.263491499e+01
10,11,11, 9.986451767e+01
11,11,11, 7.811955094e+01
(...)
When I run this model with ccx -i solve_therm, the calculation completes without any error messages, but the displacements of all nodes are 0. Did I forget to define something? Or is the *STATIC environment not the right one for this type of problem?
When I replace the temperature boundary conditions with mechanical ones for testing purposes (e.g., applying a *CLOAD to some nodes), I get displacement solutions. The model itself (i.e., everything in the model.inp file) appears to be fault-free.
P.S.: I haven’t entered any actual material data yet. These are still dummy variables. There should still be some kind of (none zero) solution, though.