(*********************************************************************** Mathematica-Compatible Notebook This notebook can be used on any computer system with Mathematica 4.0, MathReader 4.0, or any compatible application. The data for the notebook starts with the line containing stars above. To get the notebook into a Mathematica-compatible application, do one of the following: * Save the data starting with the line of stars above into a file with a name ending in .nb, then open the file inside the application; * Copy the data starting with the line of stars above to the clipboard, then use the Paste menu command inside the application. Data for notebooks contains only printable 7-bit ASCII and can be sent directly in email or through ftp in text mode. Newlines can be CR, LF or CRLF (Unix, Macintosh or MS-DOS style). NOTE: If you modify the data for this notebook not in a Mathematica- compatible application, you must delete the line below containing the word CacheID, otherwise Mathematica-compatible applications may try to use invalid cache data. For more information on notebooks and Mathematica-compatible applications, contact Wolfram Research: web: http://www.wolfram.com email: info@wolfram.com phone: +1-217-398-0700 (U.S.) Notebook reader applications are available free of charge from Wolfram Research. ***********************************************************************) (*CacheID: 232*) (*NotebookFileLineBreakTest NotebookFileLineBreakTest*) (*NotebookOptionsPosition[ 23456, 516]*) (*NotebookOutlinePosition[ 24455, 548]*) (* CellTagsIndexPosition[ 24411, 544]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{ Cell["\<\ Device Efficiency of TEG and TEC : One-dimensional Modelling of Thermoelectric Cooler and Generator\ \>", "Subtitle"], Cell["\<\ Dr. W. Seifert, S. Walczak, Dept. of Physics, University \ Halle-Wittenberg and Dr. E. Mueller, Institut f\"ur Werkstoff-Forschung, DLR, Cologne, \ Germany\ \>", "Subsubtitle"], Cell[CellGroupData[{ Cell[" Introduction and theoretical background ", "Section"], Cell[TextData[{ " Thermoelectric effects are discussed here within the \ framework of the linear Onsager \n theory. Under isotropic \ conditions, the constitutive relations are\n \ ", Cell[BoxData[ \(TraditionalForm\`jel\&\[RightArrow]\)]], " = \[Sigma] ", Cell[BoxData[ \(TraditionalForm\`E\&\[RightArrow]\)]], " - \[Sigma] S \[Del]T ; ", Cell[BoxData[ \(TraditionalForm\`jq\&\[RightArrow]\)]], " = S T ", Cell[BoxData[ \(TraditionalForm\`jel\&\[RightArrow]\)]], " - \[Kappa] \[Del]T (1)\n \ with the electric field ", Cell[BoxData[ \(TraditionalForm\`E\&\[RightArrow]\)]], ", electric current density ", Cell[BoxData[ \(TraditionalForm\`jel\&\[RightArrow]\)]], " , temperature T, heat flux ", Cell[BoxData[ \(TraditionalForm\`jq\&\[RightArrow]\)]], " ,\n electric conductivity \[Sigma], thermal conductivity \ \[Kappa] , Seebeck coefficient S and Nabla \[Del].\n Assuming \ steady-state conditions, the gouverning equations result from the\n \ principles of conservation of charge and energy\n \n \ ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[ RowBox[{ FormBox[\(\[PartialD]U/\[PartialD]t\), "TraditionalForm"], "+", \(\[Del]\(\(.\)\(\(j\_q\)\&\[RightVector]\)\)\)}], "TraditionalForm"], "=", \(\(j\_el\)\&\[RightVector] . \ E\&\[RightVector]\)}], TraditionalForm]]], " => steady-state case: ", Cell[BoxData[ FormBox[ RowBox[{ FormBox[\(\[Del]\(\(.\)\(\(j\_q\)\&\[RightVector]\)\)\), "TraditionalForm"], "=", " ", \(\(j\_el\)\&\[RightVector] . \ E\&\[RightVector]\)}], TraditionalForm]]], " (2)\n \[PartialD]\[Rho] / \[PartialD]t + ", Cell[BoxData[ \(TraditionalForm\`\[Del]\(\(.\)\(\(j\_el\)\&\[RightVector]\)\)\ = \ 0\)]], " => steady-state case : ", Cell[BoxData[ \(TraditionalForm\`\[Del]\(\(.\)\(\(j\_el\)\&\[RightVector]\)\)\ = \ 0\)]], " , \n \n The coupling between \ heat transport and charge transport is caused by two \n \ (inverse) thermoelectric effects: Heat is transported by a flowing current or \ is used\n to generate electricity based on the Peltier and \ Seebeck effects, respectively. \n \n An \ analytical solution of the transport of charge and heat through a \ thermoelectric \n element can be found for the 1D case of \ constant material properties (1D-CPM).\n Concerning Peltier \ cooling, we refer to our papers :\n ", StyleBox[" W. Seifert, M. Ueltzen, E. Mueller: physica status solidi(a) \ 194, 1, 277-290 (2002)\n E. Mueller, S.Walczak, W. \ Seifert: physica status solidi(a) 203, 8, 2128-2141 (2006)\n \ S.Walczak, W. Seifert, E. Mueller: Mater. Sci. Forum Vols. 492-493, \n \ Trans Tech Publications, Switzerland (2005) pp. \ 507-515.\n E. Mueller et. al.: Proc. 24th Int. Conf. on \ Thermoelectrics, Clemson, SC, USA, \n June 19-23, \ 2005, IEEE, Piscataway, NJ (2006) pp. 352-357.\n ", FontColor->RGBColor[1, 0, 1]], "\n A central target of theoretical TE studies is to \ elaborate recipes for optimum design \n of TE elements \ integrated into TE modules. However, clear guidelines have not been \n \ available yet for long.\n The new compatibility \ concept introduced for thermoelectric generators by\n ", StyleBox["G. J. Snyder, T. S. Ursell, Phys. Rev. Letters 91, 14, 148301- \ 1-4 (2003)", FontColor->RGBColor[1, 0, 1]], "\n provides a new approach based on first principles of \ thermoelectricity and\n offers a new pathway for a rational \ search of efficiently graded TE systems.\n \n In \ this notebook, this concept is applied for constant material parameters S, \ \[Kappa], \[Sigma].\n Closely following the approach suggested \ by Snyder and Ursell, thermoelectric generator \n (TEG) and \ cooler (TEC) will be treated here in the same mathematical formalism. \n \ In both cases, a 1D model is used considering a single p-type pellet \ with a constant \n cross sectional area. Furthermore, the \ electric current density jel is assumed to be a \n constant. \n\ How to generalize the compatibility concept also to Peltier \ cooling, is shown in\n ", StyleBox["W. Seifert, E. M\"uller, S.Walczak: Generalized analytic \ description of one-dimensional\n non-homogeneous TE cooler \ and generator elements based on the compatibility approach,\n \ Proc. 25th Int. Conf. on Thermoelectrics (ICT 2006), Wien, AU, \ 6.-10.8.2006. ", FontColor->RGBColor[1, 0, 1]], "\n \n For clarity we will refer to the heat \ absorbing side (cooling side, mostly cold side of the \n cooler \ and hot side of the TEG, respectively) and the sink side. TEG and TEC cases \ are\n then mainly distinguished by opposite sign of the \ temperature difference !\n \n Without any doubt, \ global maximisation of a performance parameter (electric output power \n \ or efficiency of a TEG; cooling power or coefficient of performance \ (C.O.P.) of a Peltier device) \n is a suitable guideline for an \ empirical approach to TE device optimisation. In this notebook,\n \ these parameters are computed within the frame of the Constant Properties \ Model (1D-CPM).\n Besides, the relative current density u(T) \ and the compatibility factor s(T) are plotted. " }], "Text"], Cell["\<\ Definitions used below : Generator: Efficiency \[Eta] = net electrical power output \ / thermal power supplied = -Pelek / H Cooler: Coefficient of performance C.O.P. = cold side \ cooling power / electrical power supplied = H / Pelek \ \>", "Text"] }, Closed]], Cell[CellGroupData[{ Cell[" Input data", "Section"], Cell[BoxData[{ \(\ Clear["\"]\ \), "\[IndentingNewLine]", \(\ \(Off[General::"\"];\)\)}], "Input"], Cell[TextData[{ " \n ", StyleBox["Input parameters ( SI-units ! ) : \n", FontColor->RGBColor[0, 0, 1]], "\n L : length of \ the active material\n T1 \ \[Congruent] Ta : absorbing side temperature T(x=0) = Ta in Kelvin \n \ T2 \[Congruent] Ts : sink side \ temperature T(x=L) = Ts in Kelvin \n \ \n ", StyleBox["T2 \[NotEqual] T1 \[DoubleLongRightArrow] Generator : T1 > T2 \ ; Cooler : T2 > T1 ! ", FontColor->RGBColor[1, 0, 0]], " " }], "Text"], Cell[BoxData[{ \(\ \ \ \ \ \ \ \ \ \ \ L = \ 0.005\ \ \ \ \ \ \ (*\ active\ material\ length\ \ \ \ *) \), "\[IndentingNewLine]", \(\ \ \ \ \ \ \ \ T1\ = 400\ \ \ \ \ \ \ \ \ \ \ \ (*\ T1\ = \ Ta\ \[DoubleLongRightArrow]\ absorbing\ side\ *) \ \ \ \ \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (*\ alternative\ test, \ for\ \(Cooler : \ T1\)\ = \ 260\ \ *) \), "\[IndentingNewLine]", \(\ \ \ \ \ \ \ \ T2\ = 300\ \ \ \ \ \ \ \ \ \ \ (*\ T2\ = \ Ts\ \[DoubleLongRightArrow]\ sink\ side\ \ \ \ \ \ *) \[IndentingNewLine]\), "\ \[IndentingNewLine]", \(\ \ matparam = {\ S \[Rule] 180*10\^\(-6\), \ \[Kappa] \[Rule] 1.35, \[Sigma] \[Rule] 140000}; \ \ \ \ \(\(S\^2\) \[Sigma]\)\/\[Kappa] /. \ matparam\ ;\), "\[IndentingNewLine]", \(\ \ \(\(matparam\)\(=\)\(Append[matparam, Z \[Rule] %]\)\(\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \)\)\)}], "Input"], Cell[" Calculate Z\[CenterDot]T at sink side temperature T2", \ "Text"], Cell[BoxData[ \(\(\(\ \ \)\(Z*T2\ /. \ matparam\)\)\)], "Input"], Cell["\<\ General hint: Some of the graphics below are optimized to the set of \ parameters used. For variations of parameters use another PlotRange or \ \"PlotRange->All\" if necessary !\ \>", "Text"], Cell[TextData[{ " ", StyleBox[" Loop over current density jel : predefinitions", FontColor->RGBColor[0, 0, 1]] }], "Text"], Cell[BoxData[{ \(\[IndentingNewLine]\ \ \ \ \(Nmax = 20;\)\ \ \ \ \ \ \ \ \ \ \ \ \ (*\ \ number\ of\ iterations\ \ = \(\ \(\(>\)\(\ \)\(jel\)\) = \ jelstep*i\), \ {i = 1, NMAX}\ \ *) \ \ \[IndentingNewLine]\), "\[IndentingNewLine]", \(\ \ \ \ \(If[T1\ > \ T2, \ jopt = \(S*\[Sigma]*\((T1 - T2)\)\)\/\(2*L\)\ \ /. \ matparam\ , dummy]\ \ ;\)\ \ \), "\[IndentingNewLine]", \(\ \ \ \ \(If[T1\ < \ T2, \ jopt = \(T2*S*\[Sigma]\)\/L\ \ /. \ matparam\ , \ dummy]\ \ ;\)\), "\[IndentingNewLine]", \(\ \ \ \ \(If[T1\ > \ T2, \ Print["\< TEG: recommented value for jelstep \[LessEqual] \>", \ jopt/10], dummy]\ ;\)\), "\[IndentingNewLine]", \(\ \ \ \ \(If[T1\ \[LessEqual] \ \ T2, Print["\< TEC: recommented value for jelstep \[LessEqual] \>", \ jopt/20], \ dummy]\ ;\)\ \ \ \ \ \ \[IndentingNewLine]\), "\[IndentingNewLine]", \(\ \ \ \(jelstep = 25000\ \ ;\)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (*\ \ increment\ for\ \ current\ density\ loop\ \ \ *) \ \ \[IndentingNewLine]\), \ "\[IndentingNewLine]", \(\ \ \ \ Print["\< input value for jelstep = \>", \ jelstep]\ \ \ \ \ \ \ \[IndentingNewLine]\)}], "Input"], Cell[TextData[{ " ", StyleBox["Pay attention to the recommented value of jelstep giving you an \ orientation for TEG / TEC ! ", FontColor->RGBColor[0, 0, 1]] }], "Text"] }, Closed]], Cell[CellGroupData[{ Cell[" Constant Properties Model for TEG / TEC ", "Section"], Cell[BoxData[{ \(\ \(Print["\< Loop plots \>"];\)\), "\[IndentingNewLine]", \(\ \(Print["\< first plot: black: temperature profil T(x) \ \>"];\)\), "\[IndentingNewLine]", \(\ \(Print["\< second plot: blue: u(T) ; red: s(T) \>"];\)\ \[IndentingNewLine]\), "\[IndentingNewLine]", \(\ \(xy = Array[dat, {Nmax, 4}];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(\ \(For[\ inx = 1, \ inx < \((Nmax + 1)\), \ \(inx++\), \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (*\ \ \ \ Loop\ over\ current\ density\ jel\ \ *) \[IndentingNewLine]\ \ \ \ \ \ \ \ jel = jelstep* inx\ \ ; \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ xy[\([inx, 1]\)]\ = \ jel\ ; \[IndentingNewLine]co = \(\(jel\^2\)\(\ \)\)\/\(\[Sigma]*\ \[Kappa]\)\ /. \ matparam; \[IndentingNewLine]\ \ \ \ dT\ = \ T2 - T1; \[IndentingNewLine]\[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ c1 = dT/L + \ co/2*L\ /. \ matparam; \ \ \ \ \ (*\ \ c1\ = \ \(gradT\ at\ x = 0\)\ \ *) \[IndentingNewLine]\[IndentingNewLine]\ \ T[ x_] = \(-co\)/2*x^2 + c1*x + T1; \[IndentingNewLine]\[IndentingNewLine]\ \ \ \ If[T1 > T2, \ Tstart = T2; Tend = T1, \ Tstart = T1 - 10; Tend = T2 + 100, \ \ ]\[IndentingNewLine]\[IndentingNewLine]\ \ \ \ \ \ Plot[T[x], {x, 0, L}, PlotRange \[Rule] All\ (*\ PlotRange \[Rule] {Tstart, Tend}\ *) \ ]; \[IndentingNewLine]\[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ uc = \(jel/\[Kappa]\)/ c1; \ \ \ \ \ \ \ \ \ \[IndentingNewLine]\[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ u[T_] = 1/\@\(1/uc^2 - 2*\[Kappa]/\[Sigma]*\((T - T1)\)\)\ \ /. \ matparam\ ; \ \ \ \ \[IndentingNewLine]\[IndentingNewLine]If[ T1 > T2, \ \ \ \ \ \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ sTEG[ T_] = \(\@\(1 + \ T*Z\) - 1\)\/\(S*T\)\ /. \ matparam; \[IndentingNewLine]\ \ \ \ \ \ \ \ \ Plot[{u[T], sTEG[T]}, {T, T2, T1}, PlotRange \[Rule] {0, 30}, \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ PlotStyle \[Rule] {RGBColor[0, 0, 1], \ RGBColor[1, 0, 0]}]\ \ , \ \[IndentingNewLine]\[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ sTEC[T_] = \(\(-1\) - \@\(1 + \ T*Z\)\)\/\(S*T\)\ /. \ matparam; \[IndentingNewLine]\ \ \ \ \ \ \ Plot[{\(-u[T]\), sTEC[T]}, {T, T2, T1}, PlotRange \[Rule] {\(-100\), 0}, \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ PlotStyle \[Rule] {RGBColor[0, 0, 1], \ RGBColor[1, 0, 0]}]\ , \ \ ]; \[IndentingNewLine]\[IndentingNewLine]jq[ x_] = \(-\[Kappa]\)*D[T[x], x] + S*jel*T[x] /. matparam; \[IndentingNewLine]\ H = jq[x]\ /. \ x \[Rule] 0; \[IndentingNewLine]\ PelekTE = jel*S*dT /. \ matparam\ \ \ // \ N\ \ ; \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (*\ \ TEG : \ dT\ < \ \(0\ !\)\ \ *) \[IndentingNewLine]\ PelekV = jel^2/\[Sigma]*L /. \ matparam\ ; \[IndentingNewLine]\ \ \ \ \ \ \ \ \ Pelek = PelekTE + PelekV; \[IndentingNewLine]\[IndentingNewLine]If[\ T1 > T2, \ \ \[IndentingNewLine]\ \ \ (*\ \ \ Generator\ \ \ \ *) \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \[Eta] = \ \(-Pelek\)/ H; \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \[Eta]global = \ jel*\ U/H\ \ \ /. \ matparam, \ \ \ \ \ \ \ \ (*\ \ global\ Def . \ of\ \[Eta]\ \ *) \[IndentingNewLine]\ \ \ (*\ \ \ Cooler\ \ \ \ \ \ *) \ \ \ \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \[Eta] = \ H/Pelek; \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \[Eta]global = \ \ H/\((jel* U\ )\)\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ (*\ \ global\ Def . \ of\ C . O . P . \ \ *) \[IndentingNewLine]\ \ ]; \[IndentingNewLine]\ \[IndentingNewLine]\ \ \ \ \ \ \ xy[\([inx, 2]\)] = \ H; \[IndentingNewLine]\ \ \ \ \ \ \ xy[\([inx, 3]\)] = \ \(-Pelek\)\ ; \ \ \ \ \ \ \ \ \ \ \[IndentingNewLine]\ \ \ \ \ \ \ \ \(xy[\([inx, 4]\)] = \ \ \[Eta]\ ;\)\ \ \ \ \ \ \ \ \ \ \ \ \[IndentingNewLine]\[IndentingNewLine] (*\ Print["\"]; \[IndentingNewLine]\ \ Print["\< \ jel =\>", \ jel]; \[IndentingNewLine]\ \ Print["\< H =\>", \ H, "\< U*jel =\>", \ U*jel, \ "\< Pelek =\>", Pelek, "\< \[Eta] =\>", \ \[Eta]\ ]\ ;\ \ \ \ \ \ *) \[IndentingNewLine]]\ ;\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(\ \(Print["\< Results \>"\ ];\)\[IndentingNewLine]\), "\ \[IndentingNewLine]", \(\ \(Print["\< jel H -Pelek \[Eta] / C.O.P. \ \>"]\ ;\)\), "\[IndentingNewLine]", \(\(\(TableForm[xy]\)\(\[IndentingNewLine]\)\)\)}], "Input"] }, Closed]], Cell[CellGroupData[{ Cell[" Results", "Section"], Cell[TextData[{ " ", StyleBox[" Interpolation : search for maximum", FontColor->RGBColor[0, 0, 1]] }], "Text"], Cell[BoxData[{ \(\(tabtmp = Array[dat, {Nmax, 2}];\)\ \), "\[IndentingNewLine]", \(\(Do\ [\ \ \ \(tabtmp[\([i, 1]\)]\ = \ xy[\([i, 1]\)]/ 10^6;\)\ \ \ \ ; \ \ \ \n\t\ \ \ \ \ \ \ \ \ tabtmp[\([i, 2]\)]\ = xy[\([i, 4]\)], \ {i, 1, Nmax}\ ]\ ;\)\ \[IndentingNewLine]\), "\[IndentingNewLine]", \(\(If[T1\ > \ T2, \ Print[\ "\< \[Eta](jel) \>"], \ \ Print[\ "\< COP(jel) \>"], \ ]\ \ ;\)\), "\[IndentingNewLine]", \(\(plot1 = ListPlot[tabtmp, PlotJoined \[Rule] True];\)\), "\[IndentingNewLine]", \(\(If[T1\ > \ T2, \ Do\ [\ \ \ tabtmp[\([i, 2]\)]\ = xy[\([i, 3]\)], \ {i, 1, Nmax}\ ]\ , \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Do\ [\ \ \ tabtmp[\([i, 2]\)]\ = xy[\([i, 2]\)], \ {i, 1, Nmax}\ ]\ , \ ];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(\(If[T1\ > \ T2, \ Print[\ "\< -Pelek(jel) \>"], \ \ Print[\ "\< H(jel) \>"], \ ]\ ;\)\ \), "\[IndentingNewLine]", \(\(plot2 = ListPlot[tabtmp, PlotJoined \[Rule] True];\)\[IndentingNewLine]\)}], "Input"], Cell[BoxData[{ \( (*\ \ searching\ for\ a\ maximum\ of\ \[Eta]\ \((if\ T1\ \[NotEqual] \ \ \(T2\ !\))\)\ or\ C . O . P . \ \ \ *) \ \[IndentingNewLine]\[IndentingNewLine]\(tabeta = Array[dat, {Nmax, 2}];\)\ \), "\[IndentingNewLine]", \(\(Do\ [\ \ \ tabeta[\([i, 1]\)]\ = \ xy[\([i, 1]\)]; \ \ \ \n\ \ \ \ \ \ \ \ \ \ \ tabeta[\([i, 2]\)]\ = xy[\([i, 4]\)], \ {i, 1, Nmax}\ ]\ ;\)\ \[IndentingNewLine]\), "\[IndentingNewLine]", \(\(dummywert = 0;\)\), "\[IndentingNewLine]", \(\(dummyindex = 0;\)\), "\[IndentingNewLine]", \(\(Do[ If[dummywert \[LessEqual] tabeta[\([i, 2]\)], dummywert = tabeta[\([i, 2]\)]; dummyindex = i], {i, 1, Length[tabeta]}];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(\(etaInterp = Interpolation[tabeta, InterpolationOrder \[Rule] 2];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(\(ResList = FindMinimum[\(-etaInterp[x]\), {x, tabeta[\([dummyindex, 1]\)], tabeta[\([1, 1]\)], tabeta[\([Nmax, 1]\)]}];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(etamax = \(-ResList[\([1]\)]\)\ \), "\[IndentingNewLine]", \(\ jipoleta = \(\(x\)\(\ \)\(/.\)\(\ \)\(ResList\ [\([2]\)]\)\(\ \ \ \ \)\)\)}], "Input"], Cell[BoxData[{ \( (*\ searching\ for\ a\ maximum\ of\ Pelek\ or\ H\ \((in\ the\ case\ T1min\ \ < \ T1\ \[NotEqual] \ T2)\)\ \ *) \ \[IndentingNewLine]\[IndentingNewLine]\(tabeta = Array[dat, {Nmax, 2}];\)\ \), "\[IndentingNewLine]", \(\(If[ T1 > T2, \[IndentingNewLine]\ \ Do\ [\ \ \ \(tabeta[\([i, 1]\)]\ = \ xy[\([i, 1]\)];\)\ \ \ \ ; \ \ \ \n\t\ \ \ \ \ \ \ \ \ tabeta[\([i, 2]\)]\ = xy[\([i, 3]\)], \ {i, 1, Nmax}\ ]\ , \[IndentingNewLine]\ Do\ [\ \ \ \(tabeta[\([i, 1]\)]\ = \ xy[\([i, 1]\)];\)\ \ \ \ ; \ \ \ \n\t\ \ \ \ \ \ \ \ \ tabeta[\([i, 2]\)]\ = xy[\([i, 2]\)], \ {i, 1, Nmax}\ ]\ , \ \ ];\)\ \), "\[IndentingNewLine]", \(\ \ \ \ \ \(dummywert = 0;\)\), "\[IndentingNewLine]", \(\(dummyindex = 0;\)\), "\[IndentingNewLine]", \(\(\(Do[ If[dummywert \[LessEqual] tabeta[\([i, 2]\)], dummywert = tabeta[\([i, 2]\)]; \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ dummyindex = i, ], {i, 1, Length[tabeta]}];\)\(\[IndentingNewLine]\)\)\), \ "\[IndentingNewLine]", \(\(etaInterp = Interpolation[tabeta, InterpolationOrder \[Rule] 2];\)\ \[IndentingNewLine]\), "\[IndentingNewLine]", \(\(ResList = FindMinimum[\(-etaInterp[x]\), {x, tabeta[\([dummyindex, 1]\)], tabeta[\([1, 1]\)], tabeta[\([Nmax, 1]\)]}];\)\[IndentingNewLine]\), "\[IndentingNewLine]", \(\ \ Pmax = \(-ResList\ [\([1]\)]\)\ \), "\[IndentingNewLine]", \(\ jipolP = \(\(x\)\(\ \)\(/.\)\(\ \)\(ResList[\([2]\)]\)\(\ \ \ \ \)\)\)}], "Input"], Cell[BoxData[{ \(\[IndentingNewLine]\ \ \(\(Print["\< Summary : Results of \ Interpolation \>"];\)\(\[IndentingNewLine]\)\)\), "\[IndentingNewLine]", \(\(If[ T1\ > \ T2, \[IndentingNewLine]\ \ Print["\< Generator: Max[eta] = \>", \ etamax, "\< at jopt = \>", jipoleta], \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print["\< Cooler: Max[COP] = \>", \ etamax, "\< at jopt = \>", jipoleta]\ \ , \ \ ]\ \ \ ;\)\), "\[IndentingNewLine]", \(\(If[ T1\ > \ T2, \[IndentingNewLine]\ \ Print["\< Generator: Max[Pelek] = \>", \ \ Pmax, "\< at jopt = \>", jipolP], \[IndentingNewLine]\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Print["\< Cooler: Max[H] = \>", \ Pmax, "\< at jopt = \>", jipolP]\ \ , \ ]\ \ \ ;\)\)}], "Input"] }, Closed]] }, Open ]] }, FrontEndVersion->"4.0 for X", ScreenRectangle->{{0, 1280}, {0, 1024}}, WindowSize->{872, 852}, WindowMargins->{{186, Automatic}, {Automatic, 41}}, PrintingPageRange->{Automatic, Automatic}, PrintingOptions->{"PaperSize"->{597.562, 842.375}, "PaperOrientation"->"Portrait", "PostScriptOutputFile":>FrontEnd`FileName[{$RootDirectory, "home-ariane", \ "tpobx", "mathica", "Peltier", "Walczak", "Wien"}, "CPM-1.ps", \ CharacterEncoding -> "ASCII"], "Magnification"->1}, ShowSelection->True, Magnification->1 ] (*********************************************************************** Cached data follows. If you edit this Notebook file directly, not using Mathematica, you must remove the line containing CacheID at the top of the file. The cache data will then be recreated when you save this file from within Mathematica. ***********************************************************************) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[1739, 51, 146, 4, 122, "Subtitle"], Cell[1888, 57, 219, 6, 89, "Subsubtitle"], Cell[CellGroupData[{ Cell[2132, 67, 64, 0, 61, "Section"], Cell[2199, 69, 6273, 114, 932, "Text"], Cell[8475, 185, 352, 10, 133, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[8864, 200, 34, 0, 41, "Section"], Cell[8901, 202, 127, 2, 43, "Input"], Cell[9031, 206, 773, 14, 150, "Text"], Cell[9807, 222, 1022, 18, 154, "Input"], Cell[10832, 242, 85, 1, 31, "Text"], Cell[10920, 245, 69, 1, 27, "Input"], Cell[10992, 248, 257, 6, 65, "Text"], Cell[11252, 256, 144, 4, 31, "Text"], Cell[11399, 262, 1262, 23, 251, "Input"], Cell[12664, 287, 189, 5, 31, "Text"] }, Closed]], Cell[CellGroupData[{ Cell[12890, 297, 65, 0, 41, "Section"], Cell[12958, 299, 5089, 91, 1117, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[18084, 395, 31, 0, 41, "Section"], Cell[18118, 397, 128, 4, 31, "Text"], Cell[18249, 403, 1173, 23, 203, "Input"], Cell[19425, 428, 1353, 26, 267, "Input"], Cell[20781, 456, 1786, 38, 315, "Input"], Cell[22570, 496, 858, 16, 155, "Input"] }, Closed]] }, Open ]] } ] *) (*********************************************************************** End of Mathematica Notebook file. ***********************************************************************)