Inverse Heat Conduction Problem Applied to a High Pressure Turbine Vane David Wasserman MEAE 6630 Conduction Heat Transfer Prof. E. Gutierrez-Miravete 4/6/00 Introduction and Goals Inverse problems are encountered in many branches of engineering and science. In one particular branch, heat transfer, the inverse problem can be used to estimate such conditions as temperature or surface heat flux, or can be used to determine important thermal properties such as the thermal conductivity or heat capacity of solids. This can be useful for certain applications where the direct measurement of the heat flux would be difficult or impossible due to extremely high temperatures. This type of situation can be encountered at the surface of a space reentry vehicle or in a gas turbine engine combustion chamber or high-pressure turbine. It is important to know temperatures and heat fluxes because one would want to know if there is a danger of approaching the maximum operating temperature of the solid. In this project, I will be analyzing a simple one-dimensional model of a high-pressure gas turbine vane platform, with constant thermal properties and no heat generation within the metal. One side of the platform is exposed to gaspath hot air and the other side is exposed to cooling air bled off of the compressor. A sensor at the cool surface of the metal measures temperatures over a range of time. The goal is to use the measured temperatures and the inverse analysis to estimate the amount of heat flux required on the cool side of the platform to keep the metal on the gaspath side below the maximum operating temperature in order to avoid microstructural or possibly melting. Now that the problem has been stated, let us get into the mathematics of it. Problem Formulation The direct formulation of the heat conduction problem is given as such: 2T 1 T x 2 t T qt 1) k x T Thot Tmax T Tmax in 0 x L t0 @ x0 t0 @ for xL t0 t0 0 xL In the direct formulation the surface heat flux at x = 0 is considered known. In the inverse problem, the surface heat flux is considered unknown. The inverse formulation of the problem is given as such: 2T 1 T x 2 t T qt ? 2) k x T Thot Tmax T Tmax in 0 x L @ x0 @ for xL t0 t0 0 xL Here is a picture of what we are talking about. -k (dT/dx) = q(t) = ? T=Tmax sensor x=L x=0 Figure 1 Method of Solution The main difficulty encountered when attempting to solve inverse problems is that the solutions are very sensitive to changes in the input data and thus may not be unique. This can be a result of measurement and modeling errors. This places the inverse problem in the class of mathematical problems called the ill-posed problems. This is because the solution of the inverse problem does not satisfy the general requirement of existence, uniqueness, and stability with small changes to the input data. In contrast, direct heat conduction problems are well posed because they satisfy the requirements of existence, uniqueness, and stability of the solution. Various methods for solving inverse heat conduction problems have been proposed and executed but many were unstable or not useful for practical applications. To generate a successful solution to an inverse problem one generally needs to transform the problem into a well-posed approximate solution. One good way to do this is to transform the problem into a least squares problem. This transformation requires that the inverse solution minimize the least squares norm, rather than make it zero, which guarantees the existence of an inverse solution. To solve the inverse problem by this method we require that the estimated temperatures match the measured temperatures as closely as possible over a specified time domain. The estimated temperatures are computed from the solution of the direct problem by using the estimated heat flux components, whereas the measured temperatures are recorded using a sensor placed at a "strategic" location that will provide the least measurement error. To ensure optimal matching between the measured and estimated temperatures we require that the least squares norm is minimized with respect to each of the unknown heat flux components. Here is the least squares norm modified by the addition of a zeroth-order regularization term: M M 2 ˆ ) Y j Tˆ j (q ˆ ) qˆ 2j 3) S (q j 1 where qˆ qˆi j 1 for i 1,2,..., M and the superscript ^ denotes the estimated values. The other quantities are defined by S q̂ = sum of squares qˆ j qˆ t j = estimated surface heat flux at the boundary Y j Y t j = measured temperature at surface x = 0, at times tj Tˆ j q̂ = estimated temperature at the surface x = 0 at times t = tj computed by using estimated heat flux, qˆi , i 1,2,..., M q̂ = the regularization parameter > 0 In equation 3, the first term is the traditional least squares. The second term is the zero-order regularization term used to reduce instability or oscillations that are inherent in the solution of ill-posed problems. If the regularization parameter goes to zero the solution exhibits oscillatory behavior and becomes unstable if a large number of parameters are to be estimated. If the regularization parameter is a large value, the solution is damped and deviates from the exact solution. Studies have shown that a relatively wide range of alpha star can be used, and depending on the value of the standard deviation of measurement errors (I will assume zero measurement error in this project), the optimum value of the regularization parameter ranged from 10E-2 to 10E-4. For my solution I used the median of the optimum value range, 10E-3. What we would like to do next is minimize the least squares equation by differentiating it with respect to each of the unknown heat flux components and setting the resulting expression equal to zero. Doing so yields: 4) M T M ˆ qˆ qˆ S qˆ 2 j Tˆj qˆ Y j 2 qˆ j j 0 qˆi qˆi qˆi j 1 j 1 where i = 1,2,…,M and 5) qˆ j 0 qˆi 1 for i j for i j Equation 4, can be rearranged as M Tˆj qˆ qˆ ˆ ˆ Y T q qˆ j j j j qˆi qˆi j 1 j 1 M 6) where i = 1,2,…,M and 7) Tˆj qˆ Tˆj qˆ1 , qˆ 2 ,..., qˆ M X ji sensitivity coefficients wrt q̂i qˆi qˆi Equation 6 can be written in the matrix form as 8) X T Y T q where the vectors are given by Tˆ1 Y1 qˆ1 ˆ Y qˆ T2 2 , Y , q 2 9) T ˆ ˆ YM qM TM and the sensitivity matrix X with respect to q is written explicitly as T1 q 1 T T 2 10) X T q1 q T M q1 T1 q2 T2 q2 TM q2 T1 q M T2 q M TM q M In this sensitivity matrix the terms above the diagonal must be zero because the temperatures T̂i calculated at any instant of time ti must be independent of the future heat fluxes, qˆ j , j i . In order to solve equation 8 it is desirable to express it in a more convenient form. This is achieved by expanding the estimated temperatures in a Taylor series with respect to an arbitrary value of the heat flux like so: Tˆ j qˆ qˆ0 ˆk k k 1 q M 11) Tˆ j Tˆ0 j If we choose the arbitrary point to be 0, then the equation reduces to Tˆ j qˆ ˆk k k 1 q M 12) Tˆ j or in matrix form as 13) T T q Xq q T If we substitute equation 12 into equation 6 we get M Tˆ M Tˆ j qˆ qˆ j ˆ Y q qˆ j j j k ˆ k qˆi qˆi j 1 k 1 q j 1 M 14) The matrix form of this equation is 15) X T Y Xq q which can be rearranged as 16) q X T X I X T Y 1 Equation 16 is the formal solution of the inverse heat conduction problem for the unknown heat flux over the period 0 t t f . Once the sensitivity coefficients, the regularization parameter, and the measured temperatures are available, we can directly compute the heat flux. Since I already selected the regularization parameter to be 10E-3 and the measured temperatures are known, all that is left is the calculation of the sensitivity coefficients. Because the direct heat conduction problem associated with the inverse problem is linear, we can use Duhamel's theorem to solve the direct problem containing a time dependent boundary condition. This will let us determine the sensitivity coefficients. Duhamel's theorem states: 17) T x, t t 0 q x, t d t where x, t is the solution to the following auxiliary problem (obtained from the direct problem formulation): 2 1 x 2 t 1 18) k x 1 1 in 0 x L @ x0 @ for xL t0 This auxiliary problem is a 1 dimensional linear transient problem with no heat generation and nonhomogeneous boundary conditions. The auxiliary problem can be split into a set of simpler problems containing a nonhomogeneous steady state problem and a homogeneous transient problem, which can be solved by the method of separation of variables. The steady state problem is given by: d 2 0 in 0 x L dx 2 d 19) k 1 @ x0 dx 1 @ xL and the homogeneous problem is given by: 2 1 x 2 t k 0 20) x 0 h x s f * x in 0 x L @ x0 @ xL for t 0,0 x L Then, the solution of the original auxiliary problem is determined from 21) x, t s x h ( x, t ) The steady state problem can be integrated twice , with the use of the boundary conditions, to yield: 22) s x 1 1 L x k The homogeneous problem is the familiar transient 1-D slab problem, whose solution can be written immediately as: 23) h x, t e mt 2 m 0 1 N m X m , x L x0 X m , x f * x dx From Table 2-2 on pages 48-49 of the textbook we can see that our homogeneous problem corresponds to that of case 6. Now we can determine the eigenfunctions, inverse of the norm, and the eigenvalues, which are respectively: 24) X m , x cos m x, 1 N m 2 , cos m L 0 L where the eigenvalues, beta, are the positive roots of the third equation. Substituting into the homogeneous solution we get: 25) h x, t L 2 m2 t 1 e cos m x 1 1 L x cos m x dx x 0 L m 0 k If we perform the integrations (which are fairly lengthy and will not be shown here) we get: 26) h x, t 27) m 2 m2 t cos m x e kL m0 m2 2m 1 , 2L m 0,1,2,... Thus, the overall solution to the nonhomogeneous auxiliary problem is 28) x, t 1 2 1 L x 2 e mt cos 2 m x k kL m0 m Now that we have solved the auxiliary problem we can return to Duhamel's theorem and use the auxiliary solution. Duhamel's theorem can be written in the alternative form as: 29) T x, t t 0 q x, t d since 30) x, t x, t t The integral in equation 29 can be discretized as: x, t M n 1 x, t M n n 1 M T x, t M 31) qn x, t M ( n 1) x, t M n M n 1 which is written more compactly as: M 32) TM qn M n n 1,2,..., M n 1 In matrix form this is written as: T1 0 T 1 2 33) 2 TM M 1 0 1 0 0 1 q1 q 2 0 qM If we recall the definition of X from equation 10, we can see that the coefficient matrix must be the sensitivity matrix X. Thus, 0 1 34) X X ij 2 M 1 where i i 1 i 0 1 0 0 1 0 and i x, ti . Phi represents the temperature rise in the solid for a unit step increase in the surface heat flux, and can be computed directly from the solution to the auxiliary problem, which is evaluated at the sensor location, x = 0, over the range of times. Now that we have the measured temperatures, the sensitivity coefficients, and the regularization parameter, we can determine the unknown surface heat flux vector from equation 16. Results The solution to the inverse problem was executed in MATLAB (see Appendix A for the included code). Originally, I was attempting to analyze the steady state case for the turbine vane, which I would consider cruise conditions. At cruise the turbine temperatures remain fairly constant, so there are no transients such as in take-off or climb. Since steady state is a limiting case for this inverse problem, the analysis is somewhat different than the procedure given in the textbook, and consequently was too difficult. As was agreed upon by myself and Professor Gutierrez-Miravete, I analyzed the transient solution so that the procedure could be followed more easily. I was able to obtain typical metal temperatures for the hot surface and the cool surface, and thermal properties, since they vary with temperature, were selected at the average of the hot and cool metal temperatures. Since temperatures were not available over a range of times, a linear temperature distribution of Tcold at b was assumed. Therefore, if we assume that the temperature on the cool side of the platform is equal to the hot metal temperature of 2000 F at the initial time t = 0, and the temperature on the cool side is equal to the steady state temperature 1200 F at the final temperature, we get an equation for the temperature on the cool side of the platform as a function of time: T Thot t Thot 35) Tcool s. s. t final I assumed that steady state temperature was reached after 60 seconds, and that temperature measurements were taken at four evenly spaced times of 15 seconds. Using these conditions for the starting and ending times, temperatures, and sensor measurements, the MATLAB program produced a surface heat flux vector of 116.27 103.35 36) q 90.43 77.52 where q is measured in BTU/sq in/sec and the four points correspond to t = 15, 30, 45, 60 seconds at cool side temperatures of 1800, 1600, 1400, and 1200 F respectively (see Graph 1). The results are somewhat promising. They showed a heat flux vector decreasing with time. At first this seemed counter-intuitive. I was expecting to see a heat flux vector that was increasing with time. To determine if this was a problem with my MATLAB code I solved example 5-3 in the textbook. This problem had a time varying heat flux of t, which, when plotted, gives a line with a slope of one. I solved the direct problem in MATLAB, took the temperatures and perturbed them slightly (I used 99% of the values) for use as the measured temperatures, and solved the inverse problem for the estimated heat flux. The resulting graph from the inverse solution showed a time varying heat flux that was parallel to the original heat flux but offset slightly under it (see Graph 2). This proved that my MATLAB program was coded correctly. However, I knew that I was still getting incorrect results for the project, although they were of the correct trend. We would expect to see the heat flux vector decrease with time because more heat flux is needed at the beginning of the problem than at the end. If we plot Temperature vs. x, we can see that for early times the temperature stays fairly constant along the slab until we approach the cool side, and then temperature drops off sharply. As time progresses, the temperature in the slab approaches the straight line representing the linear temperature distribution at steady state. Since the heat flux is the negative of the derivative of the temperature with respect to x, the slope of the temperature profile represents the heat flux. As described here, the slope of the temperature profile at x = 0 (cool side) becomes less and less negative as we approach the steady state time value. The problem with the results was that, although the trend was correct, the value of the heat flux obtained at steady state was incorrect. If we solve the steady state problem given as: d 2T 0 in 0 x L dx 2 x0 37) T 1200 @ T 2000 @ xL we get a solution of: 38) T x 800 x 1200 L If we take the first derivative of T with respect to x and multiply by -k to obtain the heat flux we get: 39) q k 800 L which, when substituting in, gives a value of -49.07 BTU/sq in/sec. This is obviously different from the value obtained from MATLAB. Also, when the input to the problem was changed (number of points, total time elapsed, etc), the final value for heat flux remained the same. This check of the steady state value for heat flux tell me that something is incorrect with my problem formulation. This is probably due to the fact that I created the measured temperature vector (for lack of any better information) and forced it to a fixed value at the final time. Also, the measured temperature vector is not necessarily linear, and might be more of a parabolic or hyberbolic shape. This assumption of a linear temperature drop could also produce incorrect results. Graph 1 Graph 2 On another note, the regularization parameter was varied within the suggested optimum values to determine its effect on the stability of the solution. I found that varying this parameter had little to no effect on the results. The major factor was the value used for the final time. If the value was large, as it was for 60 seconds, the summation terms approached zero very rapidly due to the combined effect of the time and the squared eigenvalue. Since this is the case, the sensitivity coefficients all approached zero, except for the ones corresponding to t = 0, which appear on the diagonal. Since it is desirable to have large, uncorrelated values for the sensitivity coefficients, this poses a problem. As time was decreased, to determine its effect on the solution, a significant change was not seen until the final time was one second or lower. For these small times, the sensitivity coefficient matrix was zero only above the diagonal, which is correct, but some of the values were small, which is undesirable. Conclusions Inverse problems can be very difficult to solve to obtain a good estimation of the unknown heat flux. Obviously something is wrong with the problem formulation because of the incorrect value obtained for the steady state heat flux. Also, problems may have arisen due to the fact that the true temperatures over the time range were not know but rather estimated linearly. Only the maximum operating temperature and the steady state temperature on the cool side were truly known. Additionally, the solution seemed to reach steady state values after only 1 second, which is not true of the real world situation. Perhaps the heat flux could be estimated more accurately using software such as ANSYS or PATRAN, or by using a different representation for the measured temperature vector, such as a parabolic or hyperbolic shape. Appendix A %David Wasserman %MEAE 6630 - Conduction Heat Transfer %Term Project %4/2/00 clear %Define Constants %k is BTU/sec/inches/F k=132.5/60/144; %rho is lb/in^3 rho=.323; %Cp is BTU/lb/F Cp=.14; %L is inches L=.25; %a is in^2/sec a=k/rho/Cp; %astar is dimensionless regularization parameter astar=10e-4; %Temps in F Th=2000; Tss=1200; %time in sec tf=60; M=4; delt=tf/M; %Create time vector t=zeros(M+1,1); for i=2:(M+1) t(i)=t(i-1)+delt; end %Create measured temperatures vector T=zeros(M,1); for i=1:M T(i)=((Tss-Th)/tf)*t(i+1)+Th; end %Calculate the phi's necessary for the sensitivity coefficients %phi is the solution to the auxiliary problem for i=1:M+1 sum=0; for m=1:4 beta(m)=(2*(m-1)+1)*pi/2/L; sum=sum+exp(-a*beta(m)^2*t(i))/beta(m)^2; end phi(i)=1+(L/k)-(2*sum/k/L); end %Calculate delta phi's for i=1:M dphi(i)=phi(i+1)-phi(i); end %Create matrix of sensitivity coefficients X=[]; for i=1:M for j=1:M if j>i X(i,j)=0; else X(i,j)=dphi(i-j+1); end end end %Create Identity matrix I=eye(M); %Calculate the unknown heat flux vector %q is BTU/in^2/sec A=X'*X+astar.*I; B=inv(A); q=B*X'*T