Nodal temperature interpolation
For the finite volume method, the nodal interpolation is used to obtain temperature values at the element nodes considering various physical, material, and geometrical properties.
The purpose of the nodal interpolation is to obtain temperature values at the element nodes taking as input the temperatures at the solver calculation points (centers of gravity of elements and boundary elements), the heat flows through element boundaries, as well as element physical, material, and geometrical properties. One of the challenges of the thermal solver nodal interpolation problem is that there are many situations when it is not adequate to approximate the space distribution of temperatures around a given node with a single linear profile throughout the node-adjacent elements. Examples of such situations include:
- Contacts between different conductivity materials.
- Contacts between shells of different thickness.
- Shells at an angle, for example, plane crossing.
- Boundaries with heat load applied to them, which means discontinuity of the heat flux vector and temperature gradient.
Another requirement to the thermal solver nodal interpolation scheme is a good balance between accuracy, reliability, and the computational performance for as many modeling situations as possible.
The thermal solver uses an approach that could be named an adaptive piece-wise linear scheme. For accurate treatment of various special cases, such as listed previously, that scheme allows multiple element-specific linear profile pieces to fit the temperature distribution around a given node. To avoid excessive computational overhead of that method for simpler interpolation cases, the algorithm is made adaptive, so that it allows a number of different levels of approximation and simplification, with the optimal level of simplification automatically chosen for each given node, depending on the surroundings of the node.
When the finite element method is used as a discretization method, the thermal solver does not perform the temperature interpolation, because it computes temperatures on nodes. The thermal solver computes elemental temperatures at the element's center of gravity by interpolating nodal temperatures using shape functions.
Piece-wise linear interpolation
The thermal solver piece-wise linear interpolation scheme uses a linear temperature profile inside each internal element around a given node:
where:
- T0, x0, y0, z0 are the temperature and coordinates of the node.
- L is a characteristic length scale.
- Tx,y,z(e) are e-dependent coefficients of the linear interpolation.
Note that in the solver it is also assumed that there is a linear temperature profile inside each internal element and all the coefficients including T0 of that profile are fully determined by the temperatures of all the boundary elements. Yet, in the so determined coefficients, T0 is e-dependent as well, T0 = T0(e), that is, there is no single well-defined value for the nodal temperature. To overcome that problem, in the above equation a requirement is imposed that T0 is not e-dependent. the same T0 value is shared between all the internal elements adjacent to the node, but when determining the coefficients Tx,y,z(e) the constraint that the equation should reproduce all the boundary element temperatures of element e is dropped. It is only require that it reproduces temperature values Tb for the boundary elements b directly connected to the node:
where x(b), y(b), z(b) are the coordinates of the boundary element center of gravity.
That is, the constraints coming from the boundary elements that are not connected to the chosen node directly are sacrificed, though they belong to a node-adjacent internal element. That sacrifice also means that, in contrast to the TMG solver, coefficients are node-specific; for the same element they can be different depending on which of the nodes of the element is considered.
Since the above equations are not sufficient to determine all of the unknowns, it is also required that, similarly to a real physical system, there is a proper balance of heat coming in and out of each inter-element interface—a boundary element—with the contributing heat flows expressed in terms of the element linear temperature profiles. For lower dimensional elements, for example shells, a constraint is added that the temperature gradient is zero along the element normal.
The above-described constraints provide a complete system of equations to determine all the unknowns T0, Tx,y,z(e). Since that system is over-defined, it is treated as a fitting problem, using a least square fit procedure.
Adaptive choice for the accuracy level of the interpolation method
Before using any least square fits, the interpolation algorithm screens out various more trivial situations when adequate accuracy can be achieved already by much simpler means. In particular, if the input temperature range is very narrow, so that all the temperatures of the adjacent boundary elements fall within a 10-5 °C-wide interval (and there is more than just one internal element adjacent to the node), then we’ll just use a weighted average:
without any further checks or computations.
The next level of complexity, and the next step in the computational routine, targets situations when all the input temperatures from the node-adjacent boundary elements fall well onto one linear profile. For this purpose, only the 3 or 4, depending on the dimensionality of the problem, closest boundary elements are used to obtain a guess for a possible linear profile and then it is checked how well that linear profile can reproduce the temperature values of the rest of the points. If the errors are sufficiently small (and the gradient calculation has not failed), then the guess is accepted and no further checks and computations are done. The error is judged to be sufficiently small if the following criterion is satisfied for each adjacent boundary element:
where
- is the linear-profile-guess based prediction for the temperature value at the boundary element.
- ẟ is either 0.1 of the boundary element temperature range width or is 10-3, whichever is greater.
The next step is to check if there are sufficient reasons to use the full complexity treatment. Those reasons mainly include:
- Differences in the conductivity of the node-adjacent internal elements.
- Heat load on the boundary—nonzero right-hand side—meaning discontinuity of the heat flux vector at the boundary except solar extinction situation, where such boundary-localized discontinuities would be somewhat unphysical.
- Lower dimensional geometry with shells at some angle to each other or more than two internal elements sharing the same boundary element, for example crossing of two or more planes.
- Contacts between shells of different thickness.
If none of the above special cases are identified, then the scheme will use a reduced complexity treatment that is based on the piece-wise linear fit, but omitting the dependence of the coefficients Tx,y,z (e) on element index e. That simplification reduces the number of unknowns to 4.
Finally, if any of special cases 1-4 above are present, then the full complexity piece-wise linear treatment described in the previous section is applied.