Radiation test case

Hello,
I’m a brand new user, sorry if i missed something important.
I want to reproduce the well-known triangle cavity radiation test case detailed in this pdf
Unfortunately I don’t get the right temperature/flux values
I’m not sure about the radiation BCs cause of the thin temperatures requested, guess :

  • I must set cavity=Yes, so that thin temperature is not ?
  • all radiations bcs of a cavity must have the same name ?

prepomax file

Thanks for helping

I made a very similar test in this tutorial, check if it helps you:

Hello,
That tutorial helps !
I did exactly the same as in the tutorial (I missed the negative sink temperature), I can’t get the convergence…
file

Thanks for helping

Seems that you are using Plane Stress elements (CPS3 & CPS4)

What’s wrong with that ? Those elements can be used in pure thermal studies too.

Ahh, not just plane stress analysis. Thanks for clarifying.

I get the analysis to run by changing radiation sink temperatures to anything above (or equal to) Absolute Zero (0K) - perhaps the solver no longer allows negative Kelvin ?

image

I was using transient analysis, the OPs one is steady-state. If I were him, I would start from my setup and then introduce his changes one by one. It should work if the inputs are realistic.

Hello
Thank for helping !
I did exactly what @FEAnalyst did in the tutorial 25 modulo set the radiation sink temperature to 0K as mentionned by @arnie (i just use CPS3 elements) and perform a steady-state simulation.
A still can’t get the right values but i noticed the results depends a lot on the initial temperature (set to 300K) and also to the copper conductivity which is not normal
Thanks a lot.

Steady State analisys doesn’t work with RADIATION.

When performing the transient be sure to provide enough time to the system so it can reach the steady solution.

With negative environment temperature on the Kelvin Scale, you can force that view factors add up to 1. For example, Sink= -10 °K

Where are you looking the temperature ( inside or outsideof the cavity) to compare results?

Theoretically, it can work, at least in Abaqus - CalculiX may not have it implemented so well:

The exact cavity radiation equations are solved whether parallel decomposition is allowed or not; however, when parallel decomposition is active, Abaqus/Standard may require more iterations to obtain a solution. This slower rate of convergence comes from an approximation to the Jacobian (the linearization of the radiation fluxes) that is based on small changes of the irradiation (any part not due to emission from the surface). Models involving surfaces with low emissivities and steady-state analyses might be especially affected. If you encounter convergence problems with parallel decomposed cavities, you may consider

  • changing the analysis from steady-state to transient Uncoupled Heat Transfer Analysis or
  • allowing more solver iterations per time increment.

But, as I said before, the OP should use transient analysis here like I did in my tutorial. I also used that approach with -10 K. From ccx manual:

Sometimes, it is useful to specify that the radiation is closed. This is done by specifying a value of the environment temperature which is negative if expressed on the absolute scale (Kelvin). Then, the viewfactors are scaled to one exactly.

Being closer to the problem BC used to obtain the Analitical means T=307ºK and all BC applied to the inner faces.

Result [ºC] Result [ºK] Expected Deviation
T2 366.3 639.3 641 0.3%
T3 321.2 594.2 600 1.0%

Hello @ANYS,
I didn’t know calculix does not handle steady-state radiation (hope it’ll be included)
Could you share your prepomax file ?
Thanks.

*Node
1, 4.00000000E+003, 4.00000000E+003
2, 4.00000000E+003, 1.00000000E+003
3, 5.00000000E+003, 1.00000000E+003
4, 5.00000000E+003, 4.00000000E+003
5, 4.00000000E+003, 2.50000000E+003
6, 4.50000000E+003, 1.00000000E+003
7, 4.50000000E+003, 2.50000000E+003
8, 5.00000000E+003, 2.50000000E+003
9, 4.50000000E+003, 4.00000000E+003
10, 4.00000000E+003, 0.00000000E+000
11, 4.00000000E+003, 1.00000000E+003
12, 0.00000000E+000, 1.00000000E+003
13, 0.00000000E+000, 0.00000000E+000
14, 2.00000000E+003, 1.00000000E+003
15, 2.00000000E+003, 5.00000000E+002
16, 4.00000000E+003, 5.00000000E+002
17, 0.00000000E+000, 5.00000000E+002
18, 2.00000000E+003, 0.00000000E+000
19, 0.00000000E+000, 1.00000000E+003
20, 4.00000000E+003, 4.00000000E+003
21, 3.40000000E+003, 4.80000000E+003
22, -6.00000000E+002, 1.80000000E+003
23, 1.70000000E+003, 2.90000000E+003
24, 3.70000000E+003, 4.40000000E+003
25, 2.55000000E+003, 3.85000000E+003
26, 2.85000000E+003, 3.45000000E+003
27, -3.00000000E+002, 1.40000000E+003
28, 8.50000000E+002, 1.95000000E+003
29, 5.50000000E+002, 2.35000000E+003
30, 2.00000000E+003, 2.50000000E+003
31, 1.40000000E+003, 3.30000000E+003
**
** Elements ++++++++++++++++++++++++++++++++++++++++++++++++
**
*Element, Type=CPS6, Elset=right
1, 1, 2, 3, 5, 6, 7
2, 3, 4, 1, 8, 9, 7
*Element, Type=CPS6, Elset=bottom
3, 11, 12, 10, 14, 15, 16
4, 12, 13, 10, 17, 18, 15
*Element, Type=CPS6, Elset=slopped
5, 20, 21, 23, 24, 25, 26
6, 22, 19, 23, 27, 28, 29
7, 19, 20, 23, 30, 26, 28
8, 21, 22, 23, 31, 29, 25
**
** Node sets +++++++++++++++++++++++++++++++++++++++++++++++
**
*Nset, Nset=Internal_Selection-1_T1
11, 12, 14
*Nset, Nset=Internal-1_Internal_Selection-1_e1
11, 12, 14
*Nset, Nset=Internal-1_Internal_Selection-1_e2
1, 2, 5
*Nset, Nset=Internal-1_Internal_Selection-1_Radiation-1
19, 20, 30
*Nset, Nset=Internal-1_Internal_Selection-1_q2
1, 2, 5
*Nset, Nset=Internal-1_Internal_Selection-1_q3
19, 20, 30
*Nset, Nset=Internal_Selection-1_Init
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 
17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31
**
** Element sets ++++++++++++++++++++++++++++++++++++++++++++
**
*Elset, Elset=Internal_Selection-1_Copper
right, 
bottom, 
slopped
*Elset, Elset=Internal-1_Internal_Selection-1_e1_S3
3
*Elset, Elset=Internal-1_Internal_Selection-1_e2_S3
1
*Elset, Elset=Internal-1_Internal_Selection-1_Radiation-1_S3
7
*Elset, Elset=Internal-1_Internal_Selection-1_q2_S3
1
*Elset, Elset=Internal-1_Internal_Selection-1_q3_S3
7
**
** Surfaces ++++++++++++++++++++++++++++++++++++++++++++++++
**
*Surface, Name=Internal_Selection-1_e1, Type=Element
Internal-1_Internal_Selection-1_e1_S3, S1
*Surface, Name=Internal_Selection-1_e2, Type=Element
Internal-1_Internal_Selection-1_e2_S3, S1
*Surface, Name=Internal_Selection-1_Radiation-1, Type=Element
Internal-1_Internal_Selection-1_Radiation-1_S3, S1
*Surface, Name=Internal_Selection-1_q2, Type=Element
Internal-1_Internal_Selection-1_q2_S3, S1
*Surface, Name=Internal_Selection-1_q3, Type=Element
Internal-1_Internal_Selection-1_q3_S3, S1
**
** Physical constants ++++++++++++++++++++++++++++++++++++++
**
*Physical constants, Absolute zero=-273.15, Stefan Boltzmann=5.6704E-11
**
** Coordinate systems ++++++++++++++++++++++++++++++++++++++
**
**
** Materials +++++++++++++++++++++++++++++++++++++++++++++++
**
*Material, Name=Copper
*Conductivity
400
*Specific heat
385000000
*Expansion, Zero=26.85
1E-12
*Density
8.96E-09
**
** Sections ++++++++++++++++++++++++++++++++++++++++++++++++
**
*Solid section, Elset=Internal_Selection-1_Copper, Material=Copper
1000
**
** Pre-tension sections ++++++++++++++++++++++++++++++++++++
**
**
** Constraints +++++++++++++++++++++++++++++++++++++++++++++
**
**
** Surface interactions ++++++++++++++++++++++++++++++++++++
**
**
** Contact pairs +++++++++++++++++++++++++++++++++++++++++++
**
**
** Amplitudes ++++++++++++++++++++++++++++++++++++++++++++++
**
**
** Initial conditions ++++++++++++++++++++++++++++++++++++++
**
** Name: Init
*Initial conditions, Type=Temperature
Internal_Selection-1_Init, 33.85
**
** Steps +++++++++++++++++++++++++++++++++++++++++++++++++++
**
**
** Heat ++++++++++++++++++++++++++++++++++++++++++++++++++++
**
*Step, Inc=1000
*Heat transfer, Solver=Pardiso
10000, 8000000, 1E-05, 10000
**
** Controls ++++++++++++++++++++++++++++++++++++++++++++++++
**
**
** Output frequency ++++++++++++++++++++++++++++++++++++++++
**
*Output, Frequency=1
**
** Boundary conditions +++++++++++++++++++++++++++++++++++++
**
*Boundary, op=New
** Name: T1
*Boundary
Internal_Selection-1_T1, 11, 11, 33.85
**
** Loads +++++++++++++++++++++++++++++++++++++++++++++++++++
**
*Cflux, op=New
*Dflux, op=New
*Radiate, op=New
** Name: q2
*Dflux
Internal_Selection-1_q2, S, 2
** Name: q3
*Dflux
Internal_Selection-1_q3, S, 1
** Name: e1
*RadiateCavity=cav
Internal-1_Internal_Selection-1_e1_S3, R1CR, -283.15, 0.4
** Name: e2
*RadiateCavity=cav
Internal-1_Internal_Selection-1_e2_S3, R1CR, -283.15, 0.6
** Name: e3
*RadiateCavity=cav
Internal-1_Internal_Selection-1_Radiation-1_S3, R1CR, -283.15, 0.8
**
** Defined fields ++++++++++++++++++++++++++++++++++++++++++
**
**
** History outputs +++++++++++++++++++++++++++++++++++++++++
**
**
** Field outputs +++++++++++++++++++++++++++++++++++++++++++
**
*Node file
NT, RFL
*El file, Output=3D
HFL
**
** End step ++++++++++++++++++++++++++++++++++++++++++++++++
**
*End step

Under Step control you can edit the number of iterations after which a cutback is made (parameter IR). I changed it from the default (8) to 50, the solution converged after 26 iterations.
However, it was also neccessary to change the unit system to SI units (Kelvin). I have no idea if it’s just a coincidence but it worked for this case.

comparison with elmer:

Oh!. Nice contribution. In my case I had to increase it up to 200.
Steady State has converge in 102 iterations with exactly the same result as in my previous post (but much faster: Total CalculiX Time: 0.664303 s)

SUMMARY OF JOB INFORMATION
STEP INC ATT ITRS TOT TIME STEP TIME INC TIME
1 1 1 102 0.100000E+01 0.100000E+01 0.100000E+01

Hi everybody

Thanks to all your kind answers, I finally get the right results with your help !
To clarify :

  • I use a steady state “Heat transfer step” (not transient step)
  • I set all sink temperatures to -10K
  • i set IR=50 (under edit control->Time incrementation), thanks @Gunnar

So I guess Calculix handles steadystate radiation !

@Gunnar, how do you manage to set kelvin as temperature unit ?

I have some GUI suggestions to make radiation easier to set @Matej

I still have a question : is it possible to calculate the heat flow through an edge (1d-integral of the heat flux on a border) ?

In that case, iI need to check the heat flow on T1 (bottom) is 11KW/m

What I meant is, I used the unit system type “unitless” and entered all values in SI units.
I rememberd that it is generally recommended to use an absolute temperature scale for radiation as it being proportional to T^4.

Being able to switch to Kelvins would be nice. It was requested in the past: Unit Systems: (m, kg, s, K) and/or (mm, kg, s, K)

You can use 1D (e.g. beam) elements in CalculiX for heat transfer but they are expanded to solids anyway and not supported in PrePoMax for now.

The procedure is the same as with reaction forces. In this case FLUX is the requested variable. Check 7.114 *SECTION PRINT in the manual for more details.

Result:

 total surface flux (q) for set INNER1 and time  0.1000000E+01
 -1.107630E+04