Steady state analysis
In a steady state analysis, the thermal solver solves the temperatures of non-sink elements iteratively using the following algorithm.
Initialization
Initial values are assigned to all the element temperatures, conductances, and heat inputs. The initial temperatures default to zero unless a file TEMPF, which contains calculated temperatures, is present, or initial temperatures have been specified, in which case these define the initial temperatures.
For multilayer elements, the layer temperatures are initialized to the temperature of the middle layer.
The temperatures of initialized Oppenheim elements are initialized at the average temperature of the elements the Oppenheim element is connected to.
If the element CG method is used, the boundary element temperatures are initialized to the weighted average temperatures of the elements they are connected to.
During each thermal steady–state iteration, the complete hydraulic element network is solved in a separate iterative solution loop. For more information on initialization of hydraulic elements, see Hydraulic network analysis.
Time t at the start of the run is defined with TST
parameter.
Using the user-subroutine, you can add new conductances to the conductance matrix.
If the element CG method is used, large negative conductances are modified according to the MODCOND values.
Solving hydraulic network
Total pressures of hydraulic elements are calculated for the current iteration, see Hydraulic network analysis.
Calculation of conductances
Convective and free convection conductances associated with hydraulic elements are updated as described in Hydraulic network analysis.
One-way conductances for hydraulic networks are updated by multiplying the mass flow values flowing through DUCT and FLOWRES elements with the specific heat. Conductive conductances for hydraulic elements are calculated from the CG to the boundary.
where:
- G is the conductance from the CG to the boundary.
- Ad is the duct cross-section.
- L is the length of the duct.
- Ktherm is the thermal conductivity of the fluid.
Free convection conductances not associated with hydraulic elements are calculated with:
where:
- Gij,n is the value of the conductance between elements i and j at iteration n.
- i,n refers to the property of element i at iteration n.
- Ti,n is the temperature of element i at iteration n.
- Tj,n is the temperature of element jat iteration n.
- GFij is the free convection conductance parameter.
- EXP is the specified exponent.
Table Interpolation
Linear table interpolations are performed. Heat inputs, sink temperatures, and table-dependent conductances are evaluated.
If the independent variable is greater than the largest value in the table, the last dependent variable is used, and a warning message is issued. If the independent variable is smaller than the smallest value in the table, the first dependent variable is used. In other words, the first and last values of the table are extended beyond the table limits.
If electrical elements are present, the electrical network is solved for voltage and current. The power dissipation in the electrical network is computed and summed with other heat inputs specified for the electrical elements.
If the default element CG formulation is used and restriction and the CAPDIST OFF parameter is not present, then the heat loads on solid elements are redistributed from the CG to the boundary elements. For tetrahedra, a uniform weighting factor is used. For wedges and hexahedra, the weighting factors are proportional to the areas of the boundary elements.
Thermostat-controlled heat inputs
Thermostats are transformed into proportional controllers. For proportional controllers, the heat input Q to the heaters follows the following relationship:
where:
- T(N1) is the sensor temperature.
- Qhtr is the maximum heater power.
- T2 is the cut-in temperature of the heater.
- T3 is the cut-out temperature for the proportional controller.
Modification temperature-dependent orthotropic conductances
If orthotropic materials are present, all conductances associated with orthotropic elements are recalculated, provided the maximum temperature change of an orthotropic element has not exceeded 20 degrees.
Adding series conductances
If series or interface conductances are present the conductances the interface element is connected to are modified.
Using the user-written subroutine to modify heat inputs
Next, the optional user–written subroutine USER1 is entered. You can modify conductances, heat loads, etc. before calculating temperatures.
Heater sizing calculations
If a thermostat option is present with the Q_EQUIV
parameter, then a
sensitivity analysis is performed to calculate the heater heat loads required to
keep the sensors at the average of the Thigh and
Tlow temperatures.
Solving for temperatures
The undamped temperature estimate Tiest,n+1 for iteration n+1 is calculated according to the method outlined in the section on the conjugate gradient solver below. The temperatures Ti,n+1 for all elements ifor the next iteration n+1 are computed with damping from Ti,n+1.
where:
- DT is the iteration damping factor, default = 0.5.
- Tiest,n+1 is the temperature estimate at iteration n+1calculated with the CG solver.
Sink element and MCV(moving control volume) element temperatures are not altered. Sink element temperatures may be altered through table interpolation or in USER1.
Modifying temperatures
Once temperatures are calculated, USER1 is entered. This gives the option to alter some of the calculated temperatures.
Recovering substructures temperature and print
Next, a check is made to determine whether the printout is enabled.
If the printout is enabled and substructuring are performed, the temperatures of the eliminated elements are recovered.
The temperature recovery matrix is read in from file MODLCRF, and the heat loads of the eliminated elements are redistributed in the order the elements were eliminated, according to the method described in the MEREL module section. Then, the temperatures Ti,n+1 of each eliminated elements i are computed in the reverse order they were eliminated.
Next, printout is performed. At every printout a set of results are written on files QNODEF, <simulation/model name>-<solution/analysis name>_report.log, PRESSF, TEMPF, tmgrslt.dat, and <simulation/model name>-<solution/analysis name>_verbose.log.
Convergence check
A run completion check is performed. A run is considered completed if the maximum number of iterations is exceeded, or if convergence occurs. Convergence occurs if the maximum temperature difference between two subsequent iterations is less than the convergence criterion, default = 0.001. If the system energy balance criterion is set, this criterion must also be met for convergence to occur. For each sink element i a heat flow Qsinki is computed:
where:
- Qsinki, n+i is the heat flowing into (or out of) the sink element iat iteration n+1.
- GSUMi,n is the sum of conductances Gij,n for element i.
- GTSUMi,n is the sum of the Tj,nGij,n for element i.
- GSUMCi,n is the sum of non-radiative conductances for element i.
- GSUMRi,n is the sum of all GRij for element i.
- GTSUMCi,n is the sum of the Tj,nGij,n for all non-radiative conductances for element i.
- GTSUMRi,n is the sum of the Tj,n4GRij for all radiative conductances for element i.
To satisfy the system energy balance criterion the following criterion must be met:
Where:
- Qsinkin is the sum of the heat flows into the sink elements.
- Qsinkout is the sum of the heat flows out of the sink elements.
- Qtot is the sum of the heat loads into the elements.
- T1 is either an absolute value or is a specified fraction of Qsinkin.
If convergence has not occurred, the cycle start again at solving hydraulic network.
Use user–written subroutine for multiple runs
Once the run is completed, USER1 is entered. At this time you can specify additional steady-state or transient runs by setting a flag in the array IR. For further details, please refer to Card 10 User-Written Subroutines.
If an additional run is specified, the program continues solving hydraulic network of either the steady state or transient algorithms.
If there are subsequent runs, a printout on files TEMPFn, PRESSFn, and QNODEFn is created, where n is the run number.
Calculation completed
If the run is completed, a final printout is performed.