(************** Content-type: application/mathematica ************** Mathematica-Compatible Notebook This notebook can be used with any Mathematica-compatible application, such as Mathematica, MathReader or Publicon. 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[ 33856, 1428]*) (*NotebookOutlinePosition[ 34716, 1459]*) (* CellTagsIndexPosition[ 34672, 1455]*) (*WindowFrame->Normal*) Notebook[{ Cell[CellGroupData[{Cell["EnergyExamples", "Title", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Introduction", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "This ", StyleBox["Mathematica", FontSlant->"Italic"], " Notebook contains examples of the EnergyWorker package being used to \ solve problems in heat-transfer and energy engineering, as applied to common \ structures and materials.\n\nTypical problems with which EnergyWorker can \ help are:\n\n* calculation of heatsink sizes\n* assessing optimal \ pipe-lagging thickness\n* predicting air-conditioning load\n* cost-saving \ from insulation installation\n* solar-gain\n* degree-day calculations\n* \ temperature distribution in structures\n\nThe primary audience for the \ package includes architects, building designers, energy consultants, \ engineers, teachers and students who are involved in energy studies, in \ thermal calculations for small engineering projects, or in scenario testing \ for energy-saving strategies or designs." }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Review of functions", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ StyleBox["Temperature-at-node in structures:", FontWeight->"Bold"], " TemperatureSolver[]\n\n", StyleBox["Black-body functions:", FontWeight->"Bold"], " BlackBodySpectral[], BlackBodyTotal[]\n\n", StyleBox["Radiative transfer:", FontWeight->"Bold"], " NetRadiativeTransfer[], ViewFactor[]\n\n", StyleBox["Convective transfer for free and forced convection around plates \ and \ncylinders:", FontWeight->"Bold"], " ThermalConvectiveResistance[]\n\n", StyleBox["Conductive transfer through slabs, hollow cylinders and spheres:", FontWeight->"Bold"], "\n\tThermalConductiveResistance[], SlabHeatFlow[], BiotNumber[],\t \n\t\ HollowCylinderHeatFlow[], and UValue[]\n\n", StyleBox["Solar radiation:", FontWeight->"Bold"], " SunInSky[], DirectInsolation[], Airmass[], and ExtinctionLoss[]\n\n", StyleBox["Conversions between *C, *F, and K:", FontWeight->"Bold"], " CToF[], CToK[], FToC[], FToK[], \nKToC[], and\tKToF[]\n\t\n", StyleBox["Material and fluid properties:", FontWeight->"Bold"], " ThermalExpansionCoefficient[], ThermalConductivity[], \ ThermalDiffusivity[], Density[], ThermalCapacity[], KinematicViscosity[] \ (defined for more than 80 common materials)\n\n", StyleBox["Surface radiative properties:", FontWeight->"Bold"], " Emissivity[], SolarAbsorptivity[] (defined for more than 40 common \ surfaces)\n\n" }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell[TextData[StyleBox["Examples", FontColor->RGBColor[1, 0, 0]]], "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["unit conversion", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ EnergyWorker's has built-in constants that you can use to convert between \ different systems of units. The constants behave as multiplicative qualifiers \ when converting into the SI (MKS) unit system. For example, to convert one \ Calorie to Joules, you enter\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["1 Calorie", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 4.18\ \>", "\<\ 4.18\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ To convert from Joules to the chosen unit, you divide by the unit name:\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["8.36/Calorie", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 2.\ \>", "\<\ 2.\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["Here are some other examples.", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["1 TonneCoalEquivalent", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 2.93*10^10\ \>", "\<\ 10 2.93 10\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["3 Therm", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 3.168*10^8\ \>", "\<\ 8 3.168 10\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["1. Erg", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 1.*10^-7\ \>", "\<\ -7 1. 10\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "Conversions into MKS for length, time, etc., are calculated in a similar \ manner. Note that, where possible, ", StyleBox["Mathematica", FontSlant->"Italic"], " keeps numbers in their most exact form; floating-point numbers are only \ used where a floating-point number already exists somewhere in the \ calculation, otherwise integers or rational numbers are used. Distances are \ converted into meters, clock time into seconds, and calendar time into days." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["3 cm", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 3/100\ \>", "\<\ 3 --- 100\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["3.0 cm", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.03\ \>", "\<\ 0.03\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Mile", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 1609.347087886444469\ \>", "\<\ 1609.35\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Foot", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.3048037064130699829\ \>", "\<\ 0.304804\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ Time units are converted into seconds. For example, how many seconds are \ there in a day, a year, and a minute?\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["Day", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 86400\ \>", "\<\ 86400\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Year", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 31536000\ \>", "\<\ 31536000\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["Minute", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 60\ \>", "\<\ 60\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ Calendar information is calculated in days: the mid-point of June is \ approximately day 166 in the year.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["June", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 166\ \>", "\<\ 166\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["temperature scale conversion", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ All the functions in EnergyWorker use Kelvin for the temperature scale. \ Conversion functions are provided to convert between Centigrade, Fahrenheit, \ and Kelvin.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["CToK[0]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 273.15\ \>", "\<\ 273.15\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["KToC[0]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ -273.15\ \>", "\<\ -273.15\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["FToC[32]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0\ \>", "\<\ 0\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["CToF[0]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 32\ \>", "\<\ 32\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["FToK[212]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 373.15\ \>", "\<\ 373.15\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["U-Values and thermal conductive resistance", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The U-Value of a material gives the rate at which heat will pass through a \ slab or the material, for a given temperature difference between two slab \ surfaces (", StyleBox["e.g.", FontSlant->"Italic"], " the inner and outer sides of a wall). For example, how many Watts will \ flow through a 6 mm thick, 1 m", StyleBox["2", FontSize->9, FontVariations->{"CompatibilityType"->"Superscript"}], " pane of window glass, for every 1*C temperature difference between the \ inside and outside surfaces." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["UValue[6 mm,\"GlassWindow\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 130.\ \>", "\<\ 130.\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ If EnergyWorker does not have a predefined numerical value for the thermal \ conductivity of the material for which you wish to calculate the U-Value then \ an expression is returned which leaves the unknown thermal conductivity \ unevaluated.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["UValue[6 mm,\"CrownFlint\"]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ (500*HoldForm[ThermalConductivity[\"CrownFlint\"]])/3\ \>", "\<\ 500 ThermalConductivity[CrownFlint] ----------------------------------- 3\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ Alternatively, if you know the numeric value for the material's thermal \ conductivity (in W/m/K), then you can use that instead of the material's \ name.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["UValue[6 mm, 1.4]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 233.3333333333333333\ \>", "\<\ 233.333\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ The U-Value of a material is closely linked with the thermal conductive \ resistance, which gives the reciprocal of the heat-flow through a structure \ per 1*C temperature differential, rather than the heat-flow per square meter. \ For example, to calculate the thermal conductive resistance of a 2m high, 1m \ wide, 6mm thick glass window pane:\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ ThermalConductiveResistance[\"Slab\", 2,1,6 mm,\"GlassWindow\"]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.003846153846153846154\ \>", "\<\ 0.00384615\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["The heat flow for a 15*C temperature difference would be:", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["15/%", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 3900.\ \>", "\<\ 3900.\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ (Note that this ignores the effect of the convective resistance at both of \ the air-glass interfaces.)\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["thermal convective resistance", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The above example assumes that the glass surfaces are 15*C different in \ temperature. For a normal domestic window with air on both sides this is \ unlikely to be true because there is a much higher thermal resistance due to \ convection on either side of the window.\n\nEnergyWorker provides a function \ for calculating the thermal convective resistance for a number of geometrical \ situations. Just like ", StyleBox["Mathematica", FontSlant->"Italic"], "'s built-in functions, you can obtain help on functions within \ EnergyWorker either by using the function browser in versions of ", StyleBox["Mathematica", FontSlant->"Italic"], " that have a Notebook interface, or by using '?'." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["?ThermalConvectiveResistance", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ ThermalConvectiveResistance[geometry,{ts,tf},charLength,area] returns the \ thermal resistance of the given surface geometry , surface (ts) and bulk fluid \ (tf) temperatures, surface characteristic length (m), surface area (m^2). The \ fluid is Air by default and convection is free (rather than forced) by default. \ Other fluids and flow rates can be specified in options.\ \>", "Print", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "So, to use ", StyleBox["ThermalConvectiveResistance", FontWeight->"Bold"], ", you have to supply four arguments. The first tells EnergyWorker what \ kind of geometry is being used - horizontal plates have a different \ convective resistance to vertical plates, for instance. The geometry is \ entered as a string, in quotes. The second is a two-long list containing the \ surface and fluid temperatures (in Kelvin). The third and fourth arguments \ are the characteristic length for the surface, and its area (both in meters.) \ \n\nFor the above-mentioned glass window pane, the free convective resistance \ on a cool day is much higher than the conductive resistance of the glass \ itself." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ ThermalConvectiveResistance[\"VFlatPlate\", {CToK[5],CToK[20]},2,2]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.1399082387443763058\ \>", "\<\ 0.139908\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["So the heat flow (in W) for a 15*C temperature difference is", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["15/%", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 107.213128652174773\ \>", "\<\ 107.213\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ This example used free convection: the only fluid motion present is that \ created by the convection itself. You can also calculate convective \ resistances for surfaces in a forced flow (perhaps created by a fan) by \ specifying the flow speed (in m/s) as an option. For example, the same temperature differential for a flat plate (with its \ heated side uppermost) in an airflow of 1.5m/s would result in a much higher \ heatflow:\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ 15/ThermalConvectiveResistance[\"HFlatPlateUp\", {CToK[20],CToK[5]},2,2, Flow->1.5]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 2253.564695932196102\ \>", "\<\ 2253.56\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "EnergyWorker uses dry ", StyleBox["Air", FontWeight->"Bold"], " at standard atmospheric pressure as the default fluid. In this version of \ the package, ", StyleBox["Water", FontWeight->"Bold"], " (saturated, at atmospheric pressure) can be specified as an option:\n" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ 15/ThermalConvectiveResistance[\"HFlatPlateUp\", {CToK[20],CToK[5]},2,2, Flow->1.5,Fluid->\"Water\"]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 858514.7191237862573\ \>", "\<\ 858515.\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ Returning to the U-Value problem, considering the effect of convection on \ both sides of the glass, the U-Value resulting from the convective \ resistance is approximately\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ 1/(2 ThermalConvectiveResistance[\"VFlatPlate\",{CToK[5],CToK[20]},1,1])\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 1.859911632371635298\ \>", "\<\ 1.85991\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["heatsink example", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "A small electronics project is being build into an anodized aluminum box \ whose upper surface is to act as the heatsink. Assuming there will be no \ forced convection, the box lid is 5 cm by 10 cm, the consumption is 25 W, and \ the surroundings are at 20*C, what will be the temperature of the box lid?\n\n\ In equilibrium, the heatflow by free convection and radiation will equal the \ consumption (25 W). One way to tackle this problem is to define a function, \ ", StyleBox["flow", FontWeight->"Bold"], ", that returns the sum of the convective and radiative flows when the \ surface is at a given temperature, ", StyleBox["ts", FontWeight->"Bold"], ". The ", StyleBox["Mathematica", FontSlant->"Italic"], " function ", StyleBox["FindRoot", FontWeight->"Bold"], " can then be used to find at what surface temperature the flow equals \ 25W." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Clear[flow];\n\ flow[ts_]:=((ts-293)/ThermalConvectiveResistance[\"HFlatPlateUp\",\n \ {ts,293},7.5 cm,5 cm 10 cm] +\n \ NetRadiativeHeatFlow[{ts,293}, 5 cm 10 cm,", StyleBox["\"AluminumAnodized\"", FontSize->10], "])" }], "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["FindRoot[flow[CToK[ts]]==25,{ts,200,210}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {ts -> 140.4516788832770886}\ \>", "\<\ {ts -> 140.452}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ As another exampl of convective loss, what will be maximum dissipation from a \ small electronic component (with a 2 cm square vertical surface) if its \ maximum surface temperature is 100*C and it only losses heat by convection?\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Clear[flow]; flow[ts_]:=(ts-293)/ThermalConvectiveResistance[\"VFlatPlate\", {ts,293},1.4 cm,2 cm 2 cm] \ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["flow[373]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.4125882720274872211\ \>", "\<\ 0.412588\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell["\<\ Hence, the dissipation can be just over 400mW if the device is to remain \ within limits.\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["insolation", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "EnergyWorker contains functions for evaluating the amount of solar \ radiation (insolation) incident on surfaces at given times and locations. The \ amount of insolation on a surface depends on the direction of both the Sun \ and the surface. The ", StyleBox["SunInSky", FontWeight->"Bold"], " function allows you to calculate the approximate altitude and azimuth (in \ radians) of the Sun - it takes three arguments: the time-in-day (seconds), \ the day-in-year (days), and the longitude and latitude of site (radians, in a \ two-long list):" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["sunDirection=SunInSky[Noon,June,{0,49 Degree}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {1.123777191931181258, 3.14159265278324423}\ \>", "\<\ {1.12, 3.14}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "Once the Sun's direction is known, the insolation (W/m", StyleBox["2", FontSize->9, FontVariations->{"CompatibilityType"->"Superscript"}], ") on a zenith-facing ", StyleBox["Asphalt", FontWeight->"Bold"], " surface can be found using the ", StyleBox["DirectInsolation", FontWeight->"Bold"], " function:" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ in=DirectInsolation[ZenithFacing, sunDirection]* SolarAbsorptivity[\"AsphaltPavement\"]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 811.5657061901569101\ \>", "\<\ 811.566\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "Note that any direction of surface can be used. ", StyleBox["ZenithFacing", FontWeight->"Bold"], " is just one of the surface directions defined and named within \ EnergyWorker; arbitrary surfaces are defined using a two-long list that gives \ the surface normal vector's altitude and azimuth." }], "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["black-body functions", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The total irradiance of a black body at 5762 K is just over 62 MW/m", StyleBox["2", FontSize->9, FontVariations->{"CompatibilityType"->"Superscript"}], "." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["BlackBodyTotal[5762]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 6.24994326062355312*10^7\ \>", "\<\ 7 6.24994 10\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "As well as the total energy emitted by a blackbody, you an use ", StyleBox["BlackBodySpectral ", FontFamily->"Courier", FontWeight->"Bold"], "to calculate the irrdiance at a given wavelength. For example, a black \ body at 609 K emits 995 W/m", StyleBox["2", FontSize->9, FontVariations->{"CompatibilityType"->"Superscript"}], "/micron at a wavelength of 4 microns." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["BlackBodySpectral[609,4 um]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 995.3521180048591488\ \>", "\<\ 995.352\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "You can use these functions to perform related calculations. For example, \ what fraction of radiation emitted by a black body at 2600 K falls between \ 400 and 700 nm (", StyleBox["i.e.", FontSlant->"Italic"], " in the visible)." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["\<\ NIntegrate[ 10^6 BlackBodySpectral[2600,w] ,{w, 0.4 um ,0.7 um }]/ BlackBodyTotal[2600]\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ 0.04111185672192177463\ \>", "\<\ 0.0411119\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]], Cell[CellGroupData[{Cell["temperatures in structures", "Subsection", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "With EnergyWorker's ", StyleBox["TemperatureSolver", FontWeight->"Bold"], " function, you can calculate the temperature at nodes throughout \ structures that contain temperature sources, heat flows, and thermal \ resistances. For example, using an elemental model, you can calculate the \ temperature distribution within a concrete wall, 10 cm thick, which has one \ face maintained at a temperature of 310 K, the other face at 300 K, and, from \ electric heating wires embedded in the concrete, an internal heat generation \ of 10 kW per cubic meter.\n\nOne way to tackle this problem is to divide the \ wall into four 1 m square slabs, each 2.5 cm in depth. For each slab, the \ thermal resistance and the generated heat-flow can be calculated." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ r1=ThermalConductiveResistance[\"Slab\", 1, 1, 0.025, \"Concrete\"];\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell["flow1=1 1 0.025 (10^4);", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "The next step is to generate the network that describes the thermal \ components. The network has seven nodes: node 1 is the zero Kelvin reference \ node, nodes 2 and 7 are the surfaces of the wall, and nodes 3, 4, 5, and 6 \ are internal nodes, each at the centre of a slab 1 m by 1 m by 2.5 cm. The \ surface temperatures are defined using ", StyleBox["Temperature", FontWeight->"Bold"], " components that (like the other thermal components) have the nodes \ between which they are connected as a two-long list for their first argument \ and the value for the second argument. The ", StyleBox["ThResistance", FontWeight->"Bold"], " components between nodes 2 and 3 and between 6 and 7 are half the value \ of the other internode resistances because there is only half a slab's \ thickness between those nodes and the next (surface) node. The thermal flows \ are connected to each of the internal nodes, and all flow from the zero \ Kelvin node.\n\nYou need to declare the network, to which you can assign a \ name, inside a ", StyleBox["ThermalNet", FontWeight->"Bold"], " function:" }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ wall=ThermalNet[Temperature[{1,2},310], ThResistance[{2,3},r1/2], ThFlow[{1,3},flow1], ThResistance[{3,4},r1], ThFlow[{1,4},flow1], ThResistance[{4,5},r1], ThFlow[{1,5},flow1], ThResistance[{5,6},r1], ThFlow[{1,6},flow1], ThResistance[{6,7},r1/2], Temperature[{1,7},300.] ];\ \>", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[TextData[{ "Once ", StyleBox["wall", FontWeight->"Bold"], " is defined, you can call ", StyleBox["TemperatureSolver", FontWeight->"Bold"], " to return a list of node temperatures; node 1 is zero Kelvin, node 4 is \ nearly 319 Kelvin." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["TemperatureSolver[wall]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {0, 310.00040000199996, 315.00042500149997, 318.75047500049999, 316.25052499950001, 307.50057499850003, 300.00059999800004}\ \>", "\<\ {0, 310., 315., 318.75, 316.251, 307.501, 300.001}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[TextData[{ "These node temperatures can be converted to Centrigrade by mapping the ", StyleBox["KToC", FontWeight->"Bold"], " function over each element of the temperature list. You can then plot the \ temperature distribution through the wall (we've removed node 1 by using ", StyleBox["Drop ", FontWeight->"Bold"], "but note that the node numbers are reassigned), as a function of node \ number." }], "Text", ImageRegion->{{0, 1}, {0, 1}}], Cell[CellGroupData[{Cell["KToC[#]& /@ %", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {-273.15, 36.85040000199995999, 41.85042500149997005, 45.60047500049999003, 43.10052499950001001, 34.35057499850003002, 26.85059999800004002}\ \>", "\<\ {-273.15, 36.8504, 41.8504, 45.6005, 43.1005, 34.3506, 26.8506}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["tempThruWall=Drop[%,1]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[OutputFormData["\<\ {36.85040000199995999, 41.85042500149997005, 45.60047500049999003, 43.10052499950001001, 34.35057499850003002, 26.85059999800004002}\ \>", "\<\ {36.8504, 41.8504, 45.6005, 43.1005, 34.3506, 26.8506}\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]], Cell[CellGroupData[{Cell["ListPlot[tempThruWall,PlotRange->{20,50}]", "Input", ImageRegion->{{0, 1}, {0, 1}}], Cell[GraphicsData["PostScript", "\<\ %! %%Creator: Mathematica %%AspectRatio: .61803 MathPictureStart %% Graphics /Courier findfont 10 scalefont setfont % Scaling calculations -0.166667 0.190476 -0.412023 0.0206011 [ [(1)] .02381 0 0 2 Msboxa [(2)] .21429 0 0 2 Msboxa [(3)] .40476 0 0 2 Msboxa [(4)] .59524 0 0 2 Msboxa [(5)] .78571 0 0 2 Msboxa [(6)] .97619 0 0 2 Msboxa [(25)] .01131 .10301 1 0 Msboxa [(30)] .01131 .20601 1 0 Msboxa [(35)] .01131 .30902 1 0 Msboxa [(40)] .01131 .41202 1 0 Msboxa [(45)] .01131 .51503 1 0 Msboxa [(50)] .01131 .61803 1 0 Msboxa [ -0.001 -0.001 0 0 ] [ 1.001 .61903 0 0 ] ] MathScale % Start of Graphics 1 setlinecap 1 setlinejoin newpath [ ] 0 setdash 0 g p p .002 w .02381 0 m .02381 .00625 L s P [(1)] .02381 0 0 2 Mshowa p .002 w .21429 0 m .21429 .00625 L s P [(2)] .21429 0 0 2 Mshowa p .002 w .40476 0 m .40476 .00625 L s P [(3)] .40476 0 0 2 Mshowa p .002 w .59524 0 m .59524 .00625 L s P [(4)] .59524 0 0 2 Mshowa p .002 w .78571 0 m .78571 .00625 L s P [(5)] .78571 0 0 2 Mshowa p .002 w .97619 0 m .97619 .00625 L s P [(6)] .97619 0 0 2 Mshowa p .001 w .0619 0 m .0619 .00375 L s P p .001 w .1 0 m .1 .00375 L s P p .001 w .1381 0 m .1381 .00375 L s P p .001 w .17619 0 m .17619 .00375 L s P p .001 w .25238 0 m .25238 .00375 L s P p .001 w .29048 0 m .29048 .00375 L s P p .001 w .32857 0 m .32857 .00375 L s P p .001 w .36667 0 m .36667 .00375 L s P p .001 w .44286 0 m .44286 .00375 L s P p .001 w .48095 0 m .48095 .00375 L s P p .001 w .51905 0 m .51905 .00375 L s P p .001 w .55714 0 m .55714 .00375 L s P p .001 w .63333 0 m .63333 .00375 L s P p .001 w .67143 0 m .67143 .00375 L s P p .001 w .70952 0 m .70952 .00375 L s P p .001 w .74762 0 m .74762 .00375 L s P p .001 w .82381 0 m .82381 .00375 L s P p .001 w .8619 0 m .8619 .00375 L s P p .001 w .9 0 m .9 .00375 L s P p .001 w .9381 0 m .9381 .00375 L s P p .002 w 0 0 m 1 0 L s P p .002 w .02381 .10301 m .03006 .10301 L s P [(25)] .01131 .10301 1 0 Mshowa p .002 w .02381 .20601 m .03006 .20601 L s P [(30)] .01131 .20601 1 0 Mshowa p .002 w .02381 .30902 m .03006 .30902 L s P [(35)] .01131 .30902 1 0 Mshowa p .002 w .02381 .41202 m .03006 .41202 L s P [(40)] .01131 .41202 1 0 Mshowa p .002 w .02381 .51503 m .03006 .51503 L s P [(45)] .01131 .51503 1 0 Mshowa p .002 w .02381 .61803 m .03006 .61803 L s P [(50)] .01131 .61803 1 0 Mshowa p .001 w .02381 .0206 m .02756 .0206 L s P p .001 w .02381 .0412 m .02756 .0412 L s P p .001 w .02381 .0618 m .02756 .0618 L s P p .001 w .02381 .0824 m .02756 .0824 L s P p .001 w .02381 .12361 m .02756 .12361 L s P p .001 w .02381 .14421 m .02756 .14421 L s P p .001 w .02381 .16481 m .02756 .16481 L s P p .001 w .02381 .18541 m .02756 .18541 L s P p .001 w .02381 .22661 m .02756 .22661 L s P p .001 w .02381 .24721 m .02756 .24721 L s P p .001 w .02381 .26781 m .02756 .26781 L s P p .001 w .02381 .28842 m .02756 .28842 L s P p .001 w .02381 .32962 m .02756 .32962 L s P p .001 w .02381 .35022 m .02756 .35022 L s P p .001 w .02381 .37082 m .02756 .37082 L s P p .001 w .02381 .39142 m .02756 .39142 L s P p .001 w .02381 .43262 m .02756 .43262 L s P p .001 w .02381 .45322 m .02756 .45322 L s P p .001 w .02381 .47383 m .02756 .47383 L s P p .001 w .02381 .49443 m .02756 .49443 L s P p .001 w .02381 .53563 m .02756 .53563 L s P p .001 w .02381 .55623 m .02756 .55623 L s P p .001 w .02381 .57683 m .02756 .57683 L s P p .001 w .02381 .59743 m .02756 .59743 L s P p .002 w .02381 0 m .02381 .61803 L s P P 0 0 m 1 0 L 1 .61803 L 0 .61803 L closepath clip newpath p .008 w .02381 .34714 Mdot .21429 .45014 Mdot .40476 .5274 Mdot .59524 .4759 Mdot .78571 .29564 Mdot .97619 .14113 Mdot P % End of Graphics MathPictureEnd \ \>"], "Graphics", ImageSize->{282, 174}, ImageMargins->{{34, Inherited}, {Inherited, Inherited}}, ImageRegion->{{0, 1}, {0, 1}}, ImageCacheValid->False], Cell[OutputFormData["\<\ Graphics[\"<<>>\"]\ \>", "\<\ -Graphics-\ \>"], "Output", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]]}, Open]], Cell[CellGroupData[{Cell["Product information", "Section", ImageRegion->{{0, 1}, {0, 1}}], Cell["\<\ Further information about the package EnergyWorker is available from Goth, Goth & Chandleri Ltd., The Old Sweet Factory, Gardner Street, Herstmonceux, East Sussex BN27 4LB, United Kingdom tel: +44-1323-832-683, fax:+44-1323-832-588 email: CompuServe 100070,3267 or, in the USA and Canada, Macallan Consulting, 1583 Pinewood Way, Milpitas, CA 95035, USA (408)-262-3575\ \>", "Text", ImageRegion->{{0, 1}, {0, 1}}]}, Open]]}, Open]] }, FrontEndVersion->"4.1 for Microsoft Windows", ScreenRectangle->{{0, 1024}, {0, 695}}, WindowToolbars->{}, CellGrouping->Manual, WindowSize->{499, 599}, WindowMargins->{{238, Automatic}, {Automatic, 0}}, PrivateNotebookOptions->{"ColorPalette"->{RGBColor, -1}}, ShowCellLabel->True, ShowCellTags->False, RenderingOptions->{"ObjectDithering"->True, "RasterDithering"->False} ] (******************************************************************* 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[1727, 52, 64, 1, 70, "Title"], Cell[CellGroupData[{ Cell[1814, 55, 64, 1, 70, "Section"], Cell[1881, 58, 910, 16, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[2823, 76, 71, 1, 70, "Section"], Cell[2897, 79, 1458, 35, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[4387, 116, 112, 2, 70, "Section"], Cell[CellGroupData[{ Cell[4522, 120, 70, 1, 70, "Subsection"], Cell[4595, 123, 318, 6, 70, "Text"], Cell[CellGroupData[{ Cell[4936, 131, 59, 1, 70, "Input"], Cell[4998, 134, 95, 5, 70, "Output"] }, Open ]], Cell[5105, 141, 128, 3, 70, "Text"], Cell[CellGroupData[{ Cell[5256, 146, 62, 1, 70, "Input"], Cell[5321, 149, 91, 5, 70, "Output"] }, Open ]], Cell[5424, 156, 78, 1, 70, "Text"], Cell[CellGroupData[{ Cell[5525, 159, 71, 1, 70, "Input"], Cell[5599, 162, 114, 6, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[5745, 170, 57, 1, 70, "Input"], Cell[5805, 173, 115, 6, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[5952, 181, 56, 1, 70, "Input"], Cell[6011, 184, 108, 6, 70, "Output"] }, Open ]], Cell[6131, 192, 531, 10, 70, "Text"], Cell[CellGroupData[{ Cell[6685, 204, 54, 1, 70, "Input"], Cell[6742, 207, 102, 7, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[6876, 216, 56, 1, 70, "Input"], Cell[6935, 219, 95, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7062, 226, 54, 1, 70, "Input"], Cell[7119, 229, 114, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7265, 236, 54, 1, 70, "Input"], Cell[7322, 239, 116, 5, 70, "Output"] }, Open ]], Cell[7450, 246, 169, 4, 70, "Text"], Cell[CellGroupData[{ Cell[7642, 252, 53, 1, 70, "Input"], Cell[7698, 255, 97, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[7827, 262, 54, 1, 70, "Input"], Cell[7884, 265, 103, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[8019, 272, 56, 1, 70, "Input"], Cell[8078, 275, 91, 5, 70, "Output"] }, Open ]], Cell[8181, 282, 162, 4, 70, "Text"], Cell[CellGroupData[{ Cell[8366, 288, 54, 1, 70, "Input"], Cell[8423, 291, 93, 5, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[8557, 298, 83, 1, 70, "Subsection"], Cell[8643, 301, 221, 5, 70, "Text"], Cell[CellGroupData[{ Cell[8887, 308, 57, 1, 70, "Input"], Cell[8947, 311, 99, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9078, 318, 57, 1, 70, "Input"], Cell[9138, 321, 101, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9271, 328, 58, 1, 70, "Input"], Cell[9332, 331, 89, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9453, 338, 57, 1, 70, "Input"], Cell[9513, 341, 91, 5, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[9636, 348, 59, 1, 70, "Input"], Cell[9698, 351, 99, 5, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[9838, 358, 97, 1, 70, "Subsection"], Cell[9938, 361, 584, 14, 70, "Text"], Cell[CellGroupData[{ Cell[10545, 377, 78, 1, 70, "Input"], Cell[10626, 380, 95, 5, 70, "Output"] }, Open ]], Cell[10733, 387, 300, 6, 70, "Text"], Cell[CellGroupData[{ Cell[11056, 395, 77, 1, 70, "Input"], Cell[11136, 398, 230, 7, 70, "Output"] }, Open ]], Cell[11378, 407, 211, 5, 70, "Text"], Cell[CellGroupData[{ Cell[11612, 414, 67, 1, 70, "Input"], Cell[11682, 417, 114, 5, 70, "Output"] }, Open ]], Cell[11808, 424, 402, 7, 70, "Text"], Cell[CellGroupData[{ Cell[12233, 433, 136, 4, 70, "Input"], Cell[12372, 439, 120, 5, 70, "Output"] }, Open ]], Cell[12504, 446, 106, 1, 70, "Text"], Cell[CellGroupData[{ Cell[12633, 449, 54, 1, 70, "Input"], Cell[12690, 452, 97, 5, 70, "Output"] }, Open ]], Cell[12799, 459, 160, 4, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[12991, 465, 84, 1, 70, "Subsection"], Cell[13078, 468, 769, 15, 70, "Text"], Cell[CellGroupData[{ Cell[13870, 485, 78, 1, 70, "Input"], Cell[13951, 488, 445, 11, 70, "Print"] }, Open ]], Cell[14408, 501, 764, 14, 70, "Text"], Cell[CellGroupData[{ Cell[15195, 517, 145, 4, 70, "Input"], Cell[15343, 523, 116, 5, 70, "Output"] }, Open ]], Cell[15471, 530, 109, 1, 70, "Text"], Cell[CellGroupData[{ Cell[15603, 533, 54, 1, 70, "Input"], Cell[15660, 536, 113, 5, 70, "Output"] }, Open ]], Cell[15785, 543, 490, 10, 70, "Text"], Cell[CellGroupData[{ Cell[16298, 555, 203, 5, 70, "Input"], Cell[16504, 562, 114, 5, 70, "Output"] }, Open ]], Cell[16630, 569, 347, 10, 70, "Text"], Cell[CellGroupData[{ Cell[17000, 581, 220, 5, 70, "Input"], Cell[17223, 588, 114, 5, 70, "Output"] }, Open ]], Cell[17349, 595, 230, 5, 70, "Text"], Cell[CellGroupData[{ Cell[17602, 602, 130, 3, 70, "Input"], Cell[17735, 607, 114, 5, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[17890, 614, 71, 1, 70, "Subsection"], Cell[17964, 617, 941, 23, 70, "Text"], Cell[18908, 642, 328, 9, 70, "Input"], Cell[CellGroupData[{ Cell[19259, 653, 91, 1, 70, "Input"], Cell[19353, 656, 130, 5, 70, "Output"] }, Open ]], Cell[19495, 663, 286, 5, 70, "Text"], Cell[19784, 670, 187, 5, 70, "Input"], Cell[CellGroupData[{ Cell[19994, 677, 59, 1, 70, "Input"], Cell[20056, 680, 116, 5, 70, "Output"] }, Open ]], Cell[20184, 687, 146, 4, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[20362, 693, 65, 1, 70, "Subsection"], Cell[20430, 696, 615, 12, 70, "Text"], Cell[CellGroupData[{ Cell[21068, 710, 96, 1, 70, "Input"], Cell[21167, 713, 142, 5, 70, "Output"] }, Open ]], Cell[21321, 720, 395, 13, 70, "Text"], Cell[CellGroupData[{ Cell[21739, 735, 187, 5, 70, "Input"], Cell[21929, 742, 114, 5, 70, "Output"] }, Open ]], Cell[22055, 749, 366, 8, 70, "Text"] }, Open ]], Cell[CellGroupData[{ Cell[22453, 759, 75, 1, 70, "Subsection"], Cell[22531, 762, 231, 7, 70, "Text"], Cell[CellGroupData[{ Cell[22785, 771, 70, 1, 70, "Input"], Cell[22858, 774, 133, 6, 70, "Output"] }, Open ]], Cell[23003, 782, 454, 12, 70, "Text"], Cell[CellGroupData[{ Cell[23480, 796, 77, 1, 70, "Input"], Cell[23560, 799, 114, 5, 70, "Output"] }, Open ]], Cell[23686, 806, 302, 8, 70, "Text"], Cell[CellGroupData[{ Cell[24011, 816, 145, 4, 70, "Input"], Cell[24159, 822, 118, 5, 70, "Output"] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[24318, 829, 81, 1, 70, "Subsection"], Cell[24402, 832, 820, 14, 70, "Text"], Cell[25225, 848, 255, 7, 70, "Input"], Cell[25483, 857, 73, 1, 70, "Input"], Cell[25559, 860, 1174, 23, 70, "Text"], Cell[26736, 885, 507, 14, 70, "Input"], Cell[27246, 901, 302, 10, 70, "Text"], Cell[CellGroupData[{ Cell[27571, 913, 73, 1, 70, "Input"], Cell[27647, 916, 270, 9, 70, "Output"] }, Open ]], Cell[27929, 927, 467, 11, 70, "Text"], Cell[CellGroupData[{ Cell[28419, 940, 63, 1, 70, "Input"], Cell[28485, 943, 311, 13, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[28828, 958, 72, 1, 70, "Input"], Cell[28903, 961, 288, 11, 70, "Output"] }, Open ]], Cell[CellGroupData[{ Cell[29223, 974, 91, 1, 70, "Input"], Cell[29317, 977, 3846, 415, 70, 3703, 411, "GraphicsData", "PostScript", \ "Graphics"], Cell[33166, 1394, 115, 5, 70, "Output"] }, Open ]] }, Open ]] }, Open ]], Cell[CellGroupData[{ Cell[33331, 1401, 71, 1, 70, "Section"], Cell[33405, 1404, 430, 23, 70, "Text"] }, Open ]] }, Open ]] } ] *) (******************************************************************* End of Mathematica Notebook file. *******************************************************************)