+ All Categories
Home > Documents > Quadrafire Final Report

Quadrafire Final Report

Date post: 15-Apr-2017
Category:
Upload: carter-twombly
View: 21 times
Download: 2 times
Share this document with a friend
76
ANALYSES & EXPERIMENTATION REPORT Authors Kevin Dailey (kevindai@ buffalo.edu), Carter Twombly ([email protected]) Advisors Professor Joseph C. Mollendorf, PhD, Paul E. DesJardin, PhD Institution University At Buffalo, The State University of New York Grant “Combustion Characterization and Optimization of Outdoor Wood Burning Hydronic Heaters”, DesJardin, P (PI), JC Mollendorf (COPI) QUADRAFIRE PELLET STOVE PROJECT MAE 499 Independent Research Study Summer 2016 ABSTRACT The continued analysis of Quadra-Fire Classic Bay 1200’s heat exchanger (HX) is annotated by this report. Throughout the second term of our grant, we have furthered theoretical reasoning and expanded on experimental fronts. The target of our study has remained the same; to increase the efficiency and reduce emissions of a residential pellet stove. Methods include characterizing efficiency based on the 1 st law of thermodynamics; energy balances carried through on the basis of differential control volumes. While boundary conditions were declared to be average temperatures [of air entering the room and exiting the flue stack] throughout the first term, we have significantly increased the reliability of our data to this respect, one item in a general overhaul of experimental utility. Here, we relax certain assumptions made initially, increasing viability of theory and testing methods alike. Chief theoretical modifications outline the relaxation of a former assumption which neglected multi-modal transfer possibilities; this report introduces quantification of radiative influence on heat output. In terms of experimentation, several modifications now facilitate new metrics and enhance acquisition of original species. Account expenditures have increased accessibility of instrumentation, supporting intuitive changes in solving problems which are hardware- sensitive. Summarily, this project combined thermal sensory upgrades, conservative theoretical modelling, and numerical computation improvements in order to provide a comprehensive foundation for overarching efforts. Results include a model to meter energy transfer as a continuous function of HX transmission. The model inherently accounts for radiation with respect to advanced convention; radiation is discovered to significantly influence stove’s achievement of basic heating purposes. Coded in MATLAB, the primary model is accompanied by several additional scripts to facilitate reproducibility of data logging. DAQ is initially compiled with Labview techniques, and the deliverables now automate various tiers of subsequent processing, rendering relationships which are accurate and easily interpreted. Ultimately, short term results pertain to an overall redesign by uncovering gaps between imperfect and ideal conditions. An essential finding was the notably air-rich reaction in the firepot, which directly impedes performance due to incomplete combustion of volatiles in baseline mixture. Research has included parametric analyses of digital logic behind stock operation; the wiring harness is thoroughly depicted in this report. Along with other parametric aspects, this leg of development outlines practical concerns for redesign; attributes drawn from both thermal science and circuit concept.
Transcript
Page 1: Quadrafire Final Report

ANALYSES & EXPERIMENTATION REPORT

Authors Kevin Dailey (kevindai@ buffalo.edu), Carter Twombly ([email protected])

Advisors Professor Joseph C. Mollendorf, PhD, Paul E. DesJardin, PhD

Institution University At Buffalo, The State University of New York

Grant “Combustion Characterization and Optimization of Outdoor Wood Burning

Hydronic Heaters”, DesJardin, P (PI), JC Mollendorf (COPI)

QUADRAFIRE PELLET STOVE PROJECT MAE 499 – Independent Research Study

Summer 2016

ABSTRACT

The continued analysis of Quadra-Fire Classic Bay 1200’s heat exchanger (HX) is annotated by this report. Throughout the second term of

our grant, we have furthered theoretical reasoning and expanded on experimental fronts. The target of our study has remained the same; to

increase the efficiency and reduce emissions of a residential pellet stove. Methods include characterizing efficiency based on the 1st law of

thermodynamics; energy balances carried through on the basis of differential control volumes. While boundary conditions were declared to

be average temperatures [of air entering the room and exiting the flue stack] throughout the first term, we have significantly increased the

reliability of our data to this respect, one item in a general overhaul of experimental utility. Here, we relax certain assumptions made

initially, increasing viability of theory and testing methods alike. Chief theoretical modifications outline the relaxation of a former

assumption which neglected multi-modal transfer possibilities; this report introduces quantification of radiative influence on heat output. In

terms of experimentation, several modifications now facilitate new metrics and enhance acquisition of original species. Account

expenditures have increased accessibility of instrumentation, supporting intuitive changes in solving problems which are hardware-

sensitive. Summarily, this project combined thermal sensory upgrades, conservative theoretical modelling, and numerical computation

improvements in order to provide a comprehensive foundation for overarching efforts. Results include a model to meter energy transfer as a

continuous function of HX transmission. The model inherently accounts for radiation with respect to advanced convention; radiation is

discovered to significantly influence stove’s achievement of basic heating purposes. Coded in MATLAB, the primary model is

accompanied by several additional scripts to facilitate reproducibility of data logging. DAQ is initially compiled with Labview techniques,

and the deliverables now automate various tiers of subsequent processing, rendering relationships which are accurate and easily interpreted.

Ultimately, short term results pertain to an overall redesign by uncovering gaps between imperfect and ideal conditions. An essential

finding was the notably air-rich reaction in the firepot, which directly impedes performance due to incomplete combustion of volatiles in

baseline mixture. Research has included parametric analyses of digital logic behind stock operation; the wiring harness is thoroughly

depicted in this report. Along with other parametric aspects, this leg of development outlines practical concerns for redesign; attributes

drawn from both thermal science and circuit concept.

Page 2: Quadrafire Final Report

1

TABLE OF CONTENTS

Introduction (2)

o Fundamental Objective

o Means

o Conclusive Projection

Modeling-Recall (3)

Modeling-New Considerations (5)

Theory- Recall (7)

Assumptions (8)

o Heat Output Values

o Energy Conservation

o Fluid Property Evaluation

o Cold Side Heat Transfer Coefficient

Theory – Continuous Convection Solution (10)

Theory – Additional Heat Loads (16)

Theory – Radiation (20)

o Assumptions

- Opaque, Gray, and Diffuse Behavior

- Re-Radiating Surface 3

- Non-Participating Medium

- Infinite Plane and Row of Cylinders

- Negligible End Effects

o Analysis

Experimentation – Introduction (29)

o Intentions

o Overview of Documentation

Experimentation – Baseline Design (30)

o Instrumentation and Materials

- Hardware

- Software

o Procedure

o Results

Experimentation – Final Design (33)

o Additional Instrumentation and Materials

o Methodology

o Procedure

o Results

Conclusions – Introduction (45)

Conclusions – Results vs Manufactures (46)

Conclusions – Digital Logic (49)

Appendix I (52)

Appendix II (61)

References (75)

Page 3: Quadrafire Final Report

2

INTRODUCTION

Fundamental Objective

Our research is conducted in an effort to redesign the Quadrafire Classic Bay 1200 Pellet

Stove. Redesign is characterized by two intuitive criteria:

Increasing energy efficiency

Decreasing harmful emissions

Specifically, this research focused on the objective of accurately characterizing the stove’s

power, or heating load, such that design stages can proceed with comprehensive understanding

of mechanisms currently employed to achieve the baseline load.

Means

Our approach begins at the definition of heating load Q = UA ∆𝑇𝐿𝑀 as function of the

heat exchanger’s longitudinal direction, x. This is ultimately achieved on the basis of mass and

energy balances for an arbitrary element with differential length dx, carried out according to

fundamental laws thermodynamics. Previously characterized on the basis of log mean difference

analysis with convection as the sole mode of transfer, our new approach accounts for radiation

transfer. Found to significantly influence the effective transfer load, the addition of a radiation

term renders a multi-modal transmission approach, relaxing previous neglect of this mechanism

which idealized model to an unrealistic extent.

Conclusive Projection

The equation of power as a continuous function of system geometry, with radiation

accounted for, yields a solution that is both precise and accurate. Properly oriented in

conjunction with acquisition of empirical data and numerical software techniques, the model is

integral to understanding the effects of parameter adjustments made to improve overall viability,

and allows us to continue with an with direct interactive feedback on such modifications.

Page 4: Quadrafire Final Report

3

MODELLING – RECALL

Figures 1 & 2 recall previous visuals depicting basic flow convention of either fluid.

Figure 3 recalls CAD rendering of one half of the system’s total volume, with basic geometry

highlighted for reference.

Figure 1 Figure 2

Figure 3

Page 5: Quadrafire Final Report

4

Tables 1 & 2 relay values obtained for constant geometric parameters, conducive to geometry

required for transfer analysis. Parameters in Table 2 were derived from raw dimensions, and are

compiled for referential convenience.

The entire cold fluid cross sectional area is characterized by the blue fill (Fig 4) and is:

𝐴𝑐,𝑡𝑜𝑡𝑎𝑙 = 4 ∗ (𝜋𝐷𝑖

2

4)

The cross sectional area of the cold fluid flowing through a singular tube is then:

𝐴𝑐,1 𝑡𝑢𝑏𝑒 =𝜋𝐷𝑖

2

4

The hot fluid cross sectional area is characterized by the red fill (Fig 4) and is:

𝐴ℎ = (𝑊𝑖 ∗ 𝐻𝑖) − (4((𝜋𝐷𝑖2)/4))

Hydraulic Diameter; Wetter Perimeter:

𝐷ℎ =4∗𝐴ℎ

𝑃𝑤=

4∗((𝑊𝑖∗𝐻𝑖)−(4(𝜋𝐷𝑖

2

4)))

(2∗𝐻𝑖)+(2∗𝑊𝑖)+(4∗𝜋𝐷𝑜𝐿)

Heat Transfer Surface Areas:

𝐴𝑠𝑢𝑟𝑓,𝑐 = 4(𝜋𝐷𝑖𝐿)

𝐴𝑠𝑢𝑟𝑓,ℎ = 4(𝜋𝐷𝑜𝐿)

Geometry [m]

Outer HeightHo 0.065405

Inner HeightHi 0.060325

Outer WidthWo 0.1905

Inner WidthWi 0.18542

LengthL 0.508

Outer DiameterDo 0.0381

Inner Diameter Di 0.03429

Derived Geometry

Ah 0.006625094

Ac, total 0.003693898

Ac, 1 tube 0.000923474

Wetted Perimeterhot fluid [m] Pw 0.97026872

Hydraulic Diameterhot fluid [m] Dh 0.02731241

Cold Side Surface Area [m2] Asurf, c 0.218897631

Hot side Surface Area [m2] Asurf, h 0.24321959

Cross Sectional Areas [m2]

Table 1 Table 2

Figure 4

Page 6: Quadrafire Final Report

5

MODELLING – NEW CONSIDERATIONS

Figure 5 depicts control volume of system with

further visual annotation.

Thin-lined arrows represent convective

paths of hot (red) and cold (blue)

airflows, while larger arrows roughly

indicate location of initial boundary

temperatures which were metered with

thermocouples.

The dimension labeled ‘L’ is the

longitudinal direction to which our new

approach quantifies load q(x). Thus for

any given distance x along this axial

direction, power is calculated using log

mean difference analysis for a counterflow

configuration with characteristic length x.

Figure 6 relays a visual extracted from an external

source, which is useful in description of ideal

locations of temperature metering for accurate

calculation of transfer efficiency. In the case of the

stove shown, calculations would relay such efficiency

taken across the entire system.

Location 1 analogous with 𝑇ℎ𝑖

Location 2 analogous with 𝑇ℎ𝑜

Location 3 analogous with 𝑇𝑐𝑖

𝑇𝑐𝑜 (not shown) ideally located where cold

fluid exits exchanger to room through diffuser

Figure 5

Figure 6

Page 7: Quadrafire Final Report

6

Figure 7

The frames above in Figure 7 depict concept visualization of thermal profiles due to radiative

heat energy. It is important to note the chief source of radiation in our case, which, for either half

of the control volume, is a 0.2” thick metal plate. Spanning the entire bottom face of the system

up until the point where tubes exceed length of combustion chamber, the left frame shows this

plate’s orientation; right plate has been removed in the picture while left plate is seen behind

imposed thermal profile.

Thermal concept in left frame depicts hypothetical temperature distribution for system’s

bottom face boundary with respect to location of firepot. In other words, a rough visual of

radiation from heat source to fire-side plate face.

Right frame then depicts thermal profile of a singular tube surface, resulting from

subsequent radiation transfer from the tube-side plate face to outer tube surface area.

Page 8: Quadrafire Final Report

7

THEORY – RECALL

*The heat transfer theory cited from this point is majorly predicated on material from the

text ‘Introduction to Heat Transfer, Sixth Edition’, by Theodore L. Bergman, Adrienne S.

Lavine, Frank P. Incropera, and David P. DeWitt. Any other sources will be cited periodically

throughout the remainder of this report as appropriate, and all sources utilized are available in

REFERENCES.*

Principle equations which continue to govern fundamental theory behind analysis:

𝑞 = 𝑈𝐴∆𝑇𝐿𝑀

𝑞 = 𝒎ℎ𝑐𝑝ℎ(𝑇ℎ𝑖 − 𝑇ℎ𝑜)

𝑞 = 𝒎𝑐𝑐𝑝𝑐(𝑇𝑐𝑜 − 𝑇𝑐𝑖)

Where terms are recounted in Table 3 below:

Variable Description Units

q Heat output of stove as

given by stove specification manual

[kW]

U Overall heat transfer

coefficient [

𝑊

(𝑚2)𝐾]

A Heat transfer surface

area [𝑚2]

∆𝑇𝐿𝑀 Log mean temperature

difference [K] (degrees Kelvin)

𝒎ℎ Mass flow rate of hot

fluid [kg/s]

𝒎𝑐 Mass flow rate of cold

fluid [kg/s]

𝑇ℎ𝑖 Hot fluid inlet temperature

[K]

𝑇ℎ𝑜 Hot fluid outlet

temperature [K]

𝑇𝑐𝑖 Cold fluid inlet temperature

[K]

𝑇𝑐𝑜 Cold fluid outlet

temperature [K]

Table 3

Page 9: Quadrafire Final Report

8

ASSUMPTIONS – RECALL vs NEW CONSIDERATIONS

Heat Output Values

The report which documents previous research checkpoint focused on modelling the system and

respective solutions around calculation of an effective inlet temperature for the hot fluid. Stated

in previous assumptions, available information at the time dictated a workable knowledge of

lower and upper power limits, which were specified in the stove’s operation manual. With such

limits, loads for 4 stove setting permutations in between the limits were iterated using governing

equations and interpolation techniques. Any validity of known values for heating loads, however,

have since been voided; through experimental methods, research unveiled performance metrics

of combustion and convection blowers which significantly differed from prescribed volumetric

flow rates. Frames in Figure 8 annotate methods used to both void assumption of previously

prescribed values, and accurately meter new values in real time.

‘Initial Test Rig’ shows convection blower dislodged from stove, rigged to a Bosch flow

metering device with leaks eliminated. Methods eventually employed an parallel method of

measuring airflow to desirable accuracy; depicted in the right two frames is a venturi meter.

Carefully machined, the venturi meter ultimately uncovered a slight deviation in Bosch readings,

leading to our re-calibration of the Bosch and reaffirmation reading accuracy.

Figure 8

Page 10: Quadrafire Final Report

9

Energy Conservation

Another major difference in underlying assumptions incurs relaxation of 𝑞𝑅𝑎𝑑 = 0. Our newly

established approach models radiative transfer through the system. Based on geometry, metered

surface temperatures, and material properties, this mechanism is documented through intuitive

superposition of enclosure conditions. Change in mechanical energy components, however, is

still ignored due to infinitesimal nature of changes in fluid parameters, including specific weight

and free-stream velocity, across heat exchanger. (∆𝑃𝐸𝑠𝑦𝑠 = ∆𝐾𝐸𝑠𝑦𝑠 = 0)

Fluid Property Evaluation

In the preceding report, experimental readings for inlet and outlet temperatures were quite

limited such cold fluid properties were evaluated at a constant room temperature of 298 K, and

hot fluid properties were evaluated at a film temperature between the hot fluid inlet temperature,

which was incrementally guessed, and the average flue stack temperature respective to each

setting, of which there were 3 (one for each heat setting) available from a single baseline run.

Our updated research now dictates that fluid properties are evaluated at a film temperature

between inlet and outlet values for either fluid for any given run. This evaluation is much more

accurate; we have now ascertained viable methods for continuously monitoring inlet and outlet

temperature readings (either fluid) using carefully calibrated thermocouples throughout runs

conducted over approximately 3 hours at each trial.

Cold-Side Transfer Coefficient

New data associated with upgrades surrounding airflow sensory hardware (Bosch & venture

meters) have voided the validity of assuming fully developed conditions for the cold fluid. In

light of a parametric lens into internal flow situations to which this fluid is subject, we have

uncovered more realistic interpretation of hydrodynamic entry lengths inside the exchanger’s

tubes, and a cold-side heat transfer coefficient ℎ(𝑥)𝑐 which is a function of distance x as a direct

result. As such, our numerical solutions include a function which parameterizes this coefficient

during post-DAQ processing. This analysis is available in detail in APPENDIX 2.

Page 11: Quadrafire Final Report

10

THEORY – CONTINUOUS CONVECTION SOLUTION

Figure 9 relays basis of our approach in ascertaining load q as a continuous function of distance

Figure 9

This is the first building block for a revitalized interpretation of stove power based on log mean

temperature difference. Our energy balance follows the succeeding series of equations for an

ultimate solution of fundamental form q(x).

𝑑𝑞 = −𝒎ℎ𝑐𝑝ℎ(𝑇(𝑥)ℎ) (1)

𝑑𝑞 = 𝒎𝑐𝑐𝑝𝑐(𝑇(𝑥)𝑐) (2)

The heat capacity rates simply combine the first two terms in either of these equations:

𝐶ℎ = −𝒎ℎ𝑐𝑝ℎ (3)

𝐶𝑐 = 𝒎𝑐𝑐𝑝𝑐 (4)

Substitute heat capacities & either 𝑇 term as apparent from Figure 9

𝑑𝑞 = −𝐶ℎ (𝑇(𝑥)ℎ − (𝑇(𝑥)ℎ + 𝑑𝑇(𝑥)ℎ)) (5)

𝑑𝑞 = 𝐶𝑐 ((𝑇(𝑥)𝑐 + 𝑑𝑇(𝑥)𝑐) − 𝑇(𝑥)𝑐) (6)

From here, we solve for heat capacities

𝐶ℎ = −𝑑𝑞

𝑑𝑇(𝑥)ℎ

(7)

Page 12: Quadrafire Final Report

11

𝐶𝑐 =𝑑𝑞

𝑑𝑇(𝑥)𝑐 (8)

And obtain

(𝒅𝑻(𝒙)𝒉 − 𝒅𝑻(𝒙)𝒄) = −𝑑𝑞 ((1

𝐶ℎ) + (

1

𝐶𝑐)) (9)

Which is self-consistent with differential temperature difference term obtained through:

𝑞 = 𝑈𝐴∆𝑇𝐿𝑀 → 𝑑𝑞 = 𝑈(𝑑𝐴)(𝑇) → 𝑤ℎ𝑒𝑟𝑒 𝑇 𝑇ℎ − 𝑇𝑐 → 𝑑(𝑇) = 𝒅𝑻(𝒙)𝒉 − 𝒅𝑻(𝒙)𝒄

Substituting RHS from first relation, we get

𝑑(𝑇) = ((1

𝐶ℎ) + (

1

𝐶𝑐)) →

𝑑(𝑇)

((1𝐶ℎ

) + (1𝐶𝑐

))

= −𝑈(𝑑𝐴)∆𝑇𝐿𝑀

Leading to

𝑑(𝑇)

𝑇= −𝑈((

1

𝐶ℎ) + (

1

𝐶𝑐))𝑑𝐴 (10)

Integrating either side, notating limits as arbitrary nodes 1 & 2

∫𝑑(𝑇)

𝑇

2

1

= ∫ −𝑈((1

𝐶ℎ) + (

1

𝐶𝑐))𝑑𝐴 →

2

1

[ln(𝑇(𝑥))]2

1= −𝑈((

1

𝐶ℎ) + (

1

𝐶𝑐)) (2𝜋𝑟)[𝑑𝑥]

2

1

Or

ln (𝑇(𝑥)2

𝑇(𝑥)1

) = −𝑈(2𝜋𝑟) (1

𝐶ℎ+

1

𝐶𝑐) (𝑥2 − 𝑥1) (11)

Page 13: Quadrafire Final Report

12

In correlation with the graph from Figure 9, Figure 10 relays the logarithmic relationship

between two fluids in a counterflow orientation for air-to-air heat exchangers:

Figure 10

Where labels ‘1’ & ‘2’ along the abscissa represent arbitrary nodes mentioned earlier. From this

graph, we observe relative boundary conditions, or temperature differences at either end of the

differential element, as:

@ Node 1: ∆𝑇(𝑥)1 = 𝑇(𝑥)ℎ − (𝑇(𝑥)𝑐 + 𝑑𝑇(𝑥)𝑐) (12)

@ Node 2: ∆𝑇(𝑥)2 = (𝑇(𝑥)ℎ + 𝑑𝑇(𝑥)ℎ) − 𝑇(𝑥)𝑐 (13)

We now substitute (7), (8), (12), & (13) into (11) to obtain:

ln (((𝑇(𝑥)ℎ

+𝑑𝑇(𝑥)ℎ)−𝑇(𝑥)𝑐

)

(𝑇(𝑥)ℎ−(𝑇(𝑥)𝑐

+𝑑𝑇(𝑥)𝑐))

) = −𝑈(2𝜋𝑟) (−𝑑𝑇(𝑥)ℎ

𝑑𝑞+

𝑑𝑇(𝑥)𝑐

𝑑𝑞) (𝑥2 − 𝑥1) (14)

Rearranging (14) and simplifying gives:

𝑑𝑞(𝑥) = 𝑈(2𝜋𝑟)

(

𝑑𝑇(𝑥)ℎ

−𝑑𝑇(𝑥)𝑐

ln(((𝑇(𝑥)ℎ

+𝑑𝑇(𝑥)ℎ)−𝑇(𝑥)𝑐

)

(𝑇(𝑥)ℎ−(𝑇(𝑥)𝑐

+𝑑𝑇(𝑥)𝑐))

)

)

(𝑥2 − 𝑥1) (15)

Page 14: Quadrafire Final Report

13

At this point in our analytical analysis, we sought to linearize the logarithmic relationships of

either fluid over the entire length of the system. Taking Nodes 1 & 2 in Figure 10 to represent

lengths x = 0 & x = L, respectively, the straight lines in Figure 11 now depict linear relationships

between inlet and outlet temperatures for either fluid:

Figure 11

Analytically, these relationships are linearized by first writing each boundary pair in slope-

intercept form:

ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡) = 𝑚ℎ(0) + 𝑏ℎ

ln(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡) = 𝑚ℎ(𝐿) + 𝑏ℎ

ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡) = 𝑚𝑐(0) + 𝑏𝑐

ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡) = 𝑚ℎ(𝐿) + 𝑏𝑐

Where 𝑚 & 𝑏 refer to slopes and intercepts for either fluid. By solving for either intercept and

plugging results into remaining relations, we obtain:

ln(𝑇(𝑥)ℎ) =((ln(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

))−(ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)))

𝐿𝑥 + ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡

) (16)

ln(𝑇(𝑥)𝑐) =((ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡

))−(ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)))

𝐿𝑥 + ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

) (17)

(16) & (17) allow us to derive continuous solutions for either fluid temperature with respect to

distance x:

𝑇(𝑥)ℎ = 𝑒

(((ln(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

))−(ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)))

𝐿𝑥+ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡

))

(18)

𝑇(𝑥)𝑐 = 𝑒(

((ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡))−(ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

)))

𝐿𝑥+ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))

(19)

Page 15: Quadrafire Final Report

14

In order to complete an integration of (15), which would complete a continuous power solution

in terms of x, our analysis necessitates a definition of temperature derivatives 𝑑𝑇(𝑥)ℎ & 𝑑𝑇(𝑥)𝑐.

These are simply obtained by differentiating (18) and (19) to obtain (𝑑

𝑑𝑥)𝑇(𝑥)ℎ & (

𝑑

𝑑𝑥) 𝑇(𝑥)𝑐 , and

subsequently multiplying each side by (dx) to obtain:

𝑑𝑇(𝑥)ℎ =

(

(((ln(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

))−(ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)))

𝐿)𝑒

(((ln(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

))−(ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)))

𝐿𝑥+ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡

))

)

𝑑𝑥 (20)

𝑑𝑇(𝑥)𝑐 =

(

(((ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡

))−(ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)))

𝐿) 𝑒

(((ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡

))−(ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)))

𝐿𝑥+ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))

)

𝑑𝑥 (21)

With (18), (19), (20), & (21), we may integrate (15) to obtain our heat solution. Beginning with

conventional definition of heat load according to Figure 10:

𝑑𝑞(𝑥) = 𝑈(2𝜋𝑟)∆𝑇𝐿𝑀(𝑑𝑥) = 𝑈(2𝜋𝑟)

(

(∆𝑇(𝑥)2 − ∆𝑇(𝑥)1)

ln (∆𝑇(𝑥)2

∆𝑇(𝑥)1)

)

(𝑑𝑥) →

(

(∆𝑇(𝑥)2 − ∆𝑇(𝑥)1)

ln (∆𝑇(𝑥)2∆𝑇(𝑥)1

))

=

(

((𝑇(𝑥)ℎ + 𝑑𝑇(𝑥)ℎ) − 𝑇(𝑥)𝑐) − (𝑇(𝑥)ℎ − (𝑇(𝑥)𝑐 + 𝑑𝑇(𝑥)𝑐))

ln(((𝑇(𝑥)ℎ + 𝑑𝑇(𝑥)ℎ) − 𝑇(𝑥)𝑐)

(𝑇(𝑥)ℎ − (𝑇(𝑥)𝑐 + 𝑑𝑇(𝑥)𝑐)))

)

(

𝑑𝑇(𝑥)ℎ + 𝑑𝑇(𝑥)𝑐

ln (((𝑇(𝑥)ℎ + 𝑑𝑇(𝑥)ℎ) − 𝑇(𝑥)𝑐)

(𝑇(𝑥)ℎ − (𝑇(𝑥)𝑐 + 𝑑𝑇(𝑥)𝑐)))

)

And our general solution is ultimately given as:

𝑞(𝑥) = 𝑈(𝑥)

(

[

(

1

𝐿(ln(

𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

𝑇ℎ𝑖𝑛𝑙𝑒𝑡

)(𝑒

[(1

𝐿)(ln(

𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

𝑇ℎ𝑖𝑛𝑙𝑒𝑡

))+ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)]))+(ln(

𝑇𝑐𝑖𝑛𝑙𝑒𝑡

𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

)(𝑒

[(1

𝐿)(ln(

𝑇𝑐𝑖𝑛𝑙𝑒𝑡

𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))+ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)]))

)

]

𝑙𝑛

(

[

(

(

1+

𝑙𝑛(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

𝑇ℎ𝑖𝑛𝑙𝑒𝑡

)

𝐿

)

(

𝑒

[(1

𝐿)(𝑙𝑛(

𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

𝑇ℎ𝑖𝑛𝑙𝑒𝑡

))+𝑙𝑛(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)]

)

)

(

𝑒

[(1

𝐿)(𝑙𝑛(

𝑇𝑐𝑖𝑛𝑙𝑒𝑡

𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))+𝑙𝑛(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)]

)

]

[

(

𝑒

[(1

𝐿)(ln(

𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

𝑇ℎ𝑖𝑛𝑙𝑒𝑡

))+ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)]

)

(

(

1+

ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡

𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

)

𝐿

)

(

𝑒

[(1

𝐿)(ln(

𝑇𝑐𝑖𝑛𝑙𝑒𝑡

𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))+ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)]

)

)

]

)

)

(2𝜋𝑟)𝑥 (22)

Page 16: Quadrafire Final Report

15

Although seemingly lengthy, (22) is merely a superposition of many terms which came as a

result of linearizing logarithmic relationships in Figure 10, and we now see that our final solution

is again of exponential form. The validity of this result was confirmed using arbitrary

temperature inlet and outlet values and integrating across the entire heat exchanger in MATLAB,

subsequently comparing the result with that of the much simpler relation:

𝑞 = 𝑈𝐴∆𝑇𝐿𝑀 =𝑈𝐴 ((𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

− 𝑇𝑐𝑖𝑛𝑙𝑒𝑡 ) − (𝑇ℎ𝑖𝑛𝑙𝑒𝑡

− 𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡))

ln ((𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

− 𝑇𝑐𝑖𝑛𝑙𝑒𝑡 )

(𝑇ℎ𝑖𝑛𝑙𝑒𝑡− 𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))

Where the results from either method were found to coincide with each other, confirming the

validity of equation (22). So, (22) is the primary building block of our numerical model which

was scripted into MATLAB. With steady state readings for inlet and outlet temperatures, we may

prescribe 4 boundary variables seen throughout this solution, and this model accurately

quantifies the heating load due to convective transfer between working fluids according to

conventional counterflow theory.

Page 17: Quadrafire Final Report

16

THEORY – ADDITIONAL HEAT LOADS

To consider radiation as a proponent of the load q ultimately transferred to the surroundings, we

sought to quantify the significance of the metal divider between the fire and exchanger tubes

(one plate for either half of the entire control volume). This is roughly annotated by the visual in

Figure 12. In Figure 12, the plate dividers (right plate removed in

photo) are depicted with an orange outline, while two modes of

transfer are now depicted as governing vehicles for heating load q.

Convection heat transfer arrows follow contours of the hot fluid, in

line with Bernoulli’s principle, ultimately entering the hot fluid

inlet location as primary flow energy. Radiation heat transfer,

however, is unaffected by fluid moving throughout the fire chamber

as long as this fluid can be assumed a non-participating medium.

As such, radiation between surfaces is depicted as straight lines

from the heat source to receiving surfaces.

We began by characterizing a series of energy balances, theoretically, from the actual

combustion point up through transmission to the fluid which enters the room. Such balances are

depicted in Figure 13.

Figure 13

Page 18: Quadrafire Final Report

17

An analytical consideration began by focusing on the rightmost differential volume depicted in

Figure 13, and introducing additional energy terms to either fluid:

Figure 14

Beginning with the first law of thermodynamics:

�̇� − �̇� = (𝜕

𝜕𝑡) [∫ e𝜌𝑑∀ + ∫ e𝜌 �⃑� 𝑑𝐴⃑⃑⃑⃑ ⃑

𝑐𝑠𝑐𝑣] (23)

Where �̇� = �̇�𝑠ℎ𝑎𝑓𝑡 + �̇�𝑠ℎ𝑒𝑎𝑟 + �̇�𝑜𝑡ℎ𝑒𝑟 = 0 in our case, and e = h + (V2

2) + 𝑔𝑧 = total energy

per unit volume. Assuming no energy generation,

�̇� − �̇� = (𝜕

𝜕𝑡) [∫ e𝜌𝑑∀ + ∫ e𝜌 �⃑� 𝑑𝐴⃑⃑⃑⃑ ⃑

𝑐𝑠𝑐𝑣] , ∴ �̇� = ∫ (u + pv)𝜌 �⃑� 𝑑𝐴⃑⃑⃑⃑ ⃑

𝑐𝑠 (24)

Where (u +pv) = h, and we can write

�̇� = ∫ ℎ𝜌�⃑� 𝑑𝐴⃑⃑⃑⃑ ⃑ = 𝒎𝑐𝑝∆𝑇 = (�̇�𝑐𝑝𝑇)𝑜𝑢𝑡

− (�̇�𝑐𝑝𝑇)𝑖𝑛

(25)

It is important to note that our sign convention is + for energy exiting the volume through a

control surface, and – for energy entering the volume through a control surface, as notated by the

normalized unit vectors in Figure 14.

Page 19: Quadrafire Final Report

18

~Cold Fluid~ Control Volume

Balancing energy across control surfaces for the cold fluid (blue system in Figure 14):

𝑑𝑞(𝑥) + 𝑑𝑞𝑐(𝑥) + [𝒎𝑐𝑐𝑝𝑐𝑇𝑐]𝑥+(

𝑑𝑥

2)= [𝒎𝑐𝑐𝑝𝑐

𝑇𝑐]𝑥−(𝑑𝑥

2) (26)

Or

𝑑𝑞(𝑥) + 𝑑𝑞𝑐(𝑥) = −𝒎𝑐 (([𝑐𝑝𝑐𝑇𝑐]

𝑥+(𝑑𝑥2

)−[𝑐𝑝𝑐𝑇𝑐]

𝑥−(𝑑𝑥2

))

𝑑𝑥)𝑑𝑥 (27)

~Hot Fluid~ Control Volume

Similarly, an energy balance across control surfaces for the hot fluid (red system) yields:

𝑑𝑞ℎ(𝑥) + [𝒎ℎ𝑐𝑝ℎ𝑇ℎ]𝑥−(

𝑑𝑥

2)= 𝑑𝑞(𝑥) + [𝒎ℎ𝑐𝑝ℎ

𝑇ℎ]𝑥+(𝑑𝑥

2) (28)

Or

−𝑑𝑞(𝑥) + 𝑑𝑞ℎ(𝑥) = +𝒎ℎ (([𝑐𝑝ℎ

𝑇ℎ]𝑥+(

𝑑𝑥2

)−[𝑐𝑝ℎ

𝑇ℎ]𝑥−(

𝑑𝑥2

))

𝑑𝑥)𝑑𝑥 (29)

At this point we have 𝑑𝑞(𝑥), 𝑑𝑞𝑐(𝑥), & 𝑑𝑞ℎ(𝑥) as hypothetical unknowns and nontrivial

solutions (27) & (29). Our analysis necessitates one more solution involving these parameters,

and moves forward on the basis of the principle heat transfer relation: 𝑞 =∆𝑇

𝑅𝑡ℎ where 𝑅𝑡ℎ denotes

thermal resistance. Specifically,

𝑑𝑞(𝑥) =𝑇(𝑥)ℎ

−𝑇(𝑥)𝑐

𝑅𝑡ℎ (30)

Where

𝑅𝑡ℎ = [(1

ℎ(𝑥)𝑐𝑑𝐴𝑐

) + (𝐷ℎ−𝐷𝑐

2𝑘𝑑𝐴𝐿𝑀) + (

1

ℎ(𝑥)ℎ𝑑𝐴ℎ

)] (31)

And the three area terms 𝑑𝐴𝑐 , 𝑑𝐴ℎ , & 𝑑𝐴𝐿𝑀

𝑑𝐴𝑐 = 𝜋𝐷𝑐𝑑𝑥 = 0.1077𝑑𝑥 [𝑚2]

𝑑𝐴ℎ = 𝜋𝐷ℎ𝑑𝑥 = 0.1197𝑑𝑥 [𝑚2]

𝑑𝐴𝐿𝑀 =𝑑𝐴ℎ − 𝑑𝐴𝑐

ln (𝑑𝐴ℎ

𝑑𝐴𝑐)

= 0.1136𝑑𝑥 [𝑚2]

Refer to cold-side, hot-side, and log-mean surface areas, respectively, of one exchanger tube.

Page 20: Quadrafire Final Report

19

Rewriting…

𝑑𝑞(𝑥) =𝑇(𝑥)ℎ

− 𝑇(𝑥)𝑐

[(1

ℎ(𝑥)𝑐𝑑𝐴𝑐) + (

𝐷ℎ − 𝐷𝑐

2𝑘𝑑𝐴𝐿𝑀) + (

1ℎ(𝑥)ℎ

𝑑𝐴ℎ)]

= 𝑇(𝑥)ℎ

− 𝑇(𝑥)𝑐

[

(1

ℎ(𝑥)𝑐𝜋𝐷𝑐𝑑𝑥

) +

(

𝐷ℎ − 𝐷𝑐

2𝑘𝜋 (𝐷ℎ − 𝐷𝑐

ln (𝐷ℎ

𝐷𝑐))𝑑𝑥

)

+ (1

ℎ(𝑥)ℎ𝜋𝐷ℎ𝑑𝑥

)

]

Or

𝑑𝑞(𝑥) =(𝑇(𝑥)ℎ

−𝑇(𝑥)𝑐)𝑑𝑥

[(1

ℎ(𝑥)𝑐(0.1077)

)+0.00112+(1

ℎ(𝑥)ℎ(0.1197)

)]

(32)

Where

𝑈 =1

[(1

ℎ(𝑥)𝑐(0.1077)

)+0.00112+(1

ℎ(𝑥)ℎ(0.1197)

)]

(33)

We now simply divide (27), (29), & (32) (both sides of all three) by dx to obtain

𝑑𝑞(𝑥)

𝑑𝑥+

𝑑𝑞𝑐(𝑥)

𝑑𝑥= −(𝒎𝒄) (

𝑑

𝑑𝑥) (𝑐𝑝𝑐

𝑇(𝑥)𝑐)

−𝑑𝑞(𝑥)

𝑑𝑥+

𝑑𝑞ℎ(𝑥)

𝑑𝑥= +(𝒎𝒉) (

𝑑

𝑑𝑥) (𝑐𝑝ℎ

𝑇(𝑥)ℎ)

𝑑𝑞(𝑥)

𝑑𝑥= 𝑈(𝑇(𝑥)ℎ − 𝑇(𝑥)𝑐)

Together, these three equations provide a structure which allows inquiry of additional loads to

either working fluid in the control system.

Page 21: Quadrafire Final Report

20

THEORY – RADIATION

~Problem Modelling~

With an analytical structure which allows for additional loads to either fluid, we may move

forward with focus on actual radiation. For the portion of the heat exchanger wherein metal

plates separate the control volume from the fire chamber, radiation is considered to be additional

heat loading to the system. In other words, we are focused the heat exchanger control volume for

which the plate dividers make up the lower-facing boundary of the system, depicted by the visual

in Figure 15.

Figure 15

The green enclosure represents half of the entire system for which radiation, from the plate

divider (dark gray), is considered to be a significant proponent of heating load q during

operation. This geometry of this subsystem is further annotated in Figures 16 & 17 on the

following page.

Page 22: Quadrafire Final Report

21

Figure 16

Figure 17

While Figure 16 depicts a cross sectional view of the subsystem in the YZ-plane, figure shows a

cross sectional view in the XZ-plane. It is useful to note that Figures 15 – 17 are all oriented with

similar axial directions for convenience.

Page 23: Quadrafire Final Report

22

With control surfaces facing outward towards the firepot and inward towards the tubes, an

energy balance on the plate from Figure 13 yields:

𝑞𝑟𝑎𝑑𝑖𝑎𝑡𝑖𝑜𝑛𝑓𝑖𝑟𝑒→𝑝𝑙𝑎𝑡𝑒= 2 (𝑞𝑟𝑎𝑑𝑖𝑎𝑡𝑖𝑜𝑛𝑝𝑙𝑎𝑡𝑒

) + 𝑞𝑐𝑜𝑛𝑣𝑒𝑐𝑡𝑖𝑜𝑛 (34)

Or

(𝜎𝜀𝐹𝐴𝐹𝑇𝐹4)𝛼𝑃𝐹𝐹𝑃 = 2(𝜎𝜀𝑃𝐴𝑃𝑇𝑃

4) + ℎ(𝑥)ℎ𝐴𝑃(𝑇𝑃 − 𝑇(𝑥)ℎ) (35)

Where

𝜎 = 𝑆𝑡𝑒𝑓𝑎𝑛 − 𝐵𝑜𝑙𝑡𝑧𝑚𝑎𝑛𝑛 𝐶𝑜𝑛𝑠𝑡𝑎𝑛𝑡 = 5.67𝐸 − 8 [𝑊

𝑚2𝐾4]

𝜀𝐹 = 𝐸𝑚𝑖𝑠𝑠𝑖𝑣𝑖𝑡𝑦 𝑜𝑓 𝑓𝑖𝑟𝑒

𝐴𝐹 = 𝐸𝑓𝑓𝑒𝑐𝑡𝑖𝑣𝑒 𝑠𝑢𝑟𝑓𝑎𝑐𝑒 𝑎𝑟𝑒𝑎 𝑜𝑓 𝑓𝑖𝑟𝑒

𝑇𝐹 = 𝐹𝑙𝑎𝑚𝑒 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒

𝛼𝑃 = 𝐴𝑏𝑠𝑜𝑟𝑝𝑡𝑖𝑣𝑖𝑡𝑦 𝑜𝑓 𝑝𝑙𝑎𝑡𝑒

𝐹𝐹𝑃 = 𝑉𝑖𝑒𝑤 𝑓𝑎𝑐𝑡𝑜𝑟 𝑓𝑟𝑜𝑚 𝑓𝑖𝑟𝑒 𝑡𝑜 𝑝𝑙𝑎𝑡𝑒

𝜀𝑃 = 𝐸𝑚𝑖𝑠𝑠𝑖𝑣𝑖𝑡𝑦 𝑜𝑓 𝑝𝑙𝑎𝑡𝑒

𝐴𝑃 = 𝐴𝑟𝑒𝑎 𝑜𝑓 𝑝𝑙𝑎𝑡𝑒

𝑇𝑃 = 𝑇𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒 𝑜𝑓 𝑝𝑙𝑎𝑡𝑒

However, our analysis actually circumvents this balance; by directly measuring inner plate

temperatures with a series of strategically placed thermocouples, we obtain a means of isolating

our focus to heat exchanged between the plate dividers and the tubes.

Page 24: Quadrafire Final Report

23

Modelling of the subsystem summons a superposition of idealized conditions proposed by 3

separate exercises in ‘Introduction to Heat Transfer, Sixth Edition’, by Theodore L. Bergman,

Adrienne S. Lavine, Frank P. Incropera, and David P. DeWitt. These exercises and conditions

are shown together, in Figure 18 below.

Figure 18

Each of these three problems, in the left hand side of Figure 18, deals with heat transfer between

a plane surface and a row of elements in an enclosure. However, they are different in terms of

type of plane surface, as well as the existing mediums in the elements and the enclosure

themselves. By combining certain conditions (highlighted in red) from each problem, we tailored

a radiation model specific to our scenario. An understanding of this model is facilitated by the

schematic in Figure 19 below.

Figure 19

The schematic shows the system in the YZ-plane, at a cross section where the plate divider

makes up the lower-facing boundary, such that radiation must be considered. Figure 19 also

depicts three surfaces; a midplane through the row of tubes as surface 1, the plate divider as

surface 2, and the back (or ‘upper-facing’) boundary as surface 3. Together, these three surfaces

compose the bounds of an enclosure for the purposes of our model.

Page 25: Quadrafire Final Report

24

~Assumptions~

The following assumptions justify subsequent radiative analyses.

Opaque, Gray, & Diffuse Behavior:

The control volume has been characterized as an enclosure in which surfaces display opaque,

gray diffuse behavior. As such, the radiation from any surface is defined by the ratio:

𝑞 =𝐸𝑏 − 𝐽

1 − 𝜀𝜀𝐴

In general, while emissive power is a function of temperature and material, it also dependent on

spectral and directional distributions for any given surface. Spectral intensity refers to the nature

by which energy is transferred on bases of wave quanta propagation, and is metered according to

the property of wavelength . Directional intensity refers to solid angle subtended by a receiving

surface above the source; emissive power is increases as a receptor approaches an orthogonal

orientation to this source. We assume gray diffuse emission from our surfaces, which yields total

hemispherical emissive power integrated over all possible wavelengths and directions. In turn,

radiation is characterized by uniform spectral and directional distributions, such that absorptivity

is equal to emissivity . In addition, surfaces are described as opaque, which omits

transmission of irradiant energy through a solid medium ( = 0). In turn, reflectivity = 1 – .

The assumption that radiant energy in the subsystem behaves under enclosure conditions is

justified in that the only actual apertures are narrow seams along the perimeter of either plate and

the inlet and outlet openings through which the hot fluid enters and exits the heat exchanger.

These are small relative to the surfaces in question, and subtend negligible solid angles with

respect to emission from the plate dividers. In addition, surfaces are assumed ‘real’ as opposed to

blackbody, hence the inclusion of surface property .

Re – Radiating Surface 3:

Surface 3, dubbed the ‘upper-facing’ boundary in Figure 19, is assumed to be a re-radiating

surface, which means that it incurs no net radiation transfer. Such a surface is subject to steady-

state temperature independent of emissivity, and it follows that blackbody emissive power is

equal to radiosity. This assumption is justified by sufficient insulation provided by the hopper

(pellet storage) on the opposing side of the surface, and negligible convective effects. This

facilitates following analyses by essentially isolating the exchange of radiant energy to the other

two surfaces.

Nonparticipating Medium:

The hot fluid is assumed to be a nonparticipating medium, which means that the air in the

enclosure does not emit, absorb, or scatter radiation. While gases with polar molecular

composition complicate radiative transport due to volumetric phenomena, this assumption is

easily justified in that air is almost completely made up of polar molecules.

Page 26: Quadrafire Final Report

25

Infinite Plane and a Row of Cylinders:

We assume the geometric orientation of the plate divider relative to the exchanger tubes (refer to

Figure 19) to be an ‘infinite plane and a row of cylinders’. Taken directly from [1], this

orientation is depicted in Figure 20.

Figure 12

The purpose of this assumption is to specify a view factor between the plate and tubes according

to convention based on empirical evidence. The view factor is a dimensionless scalar which

characterizes radiation exchange between participating surfaces in any given scenario. Although

our plates and tube rows are not actually infinite, this idealization is justified by previous

arguments: an enclosure with re-radiating surfaces and negligible apertures means that any

radiation which escapes this idealization is of insignificant proportions.

Negligible End Effects:

In this case, “end effects” refers to diffusion principality at or around the perimeter of the plate

dividers; specifically, the tendency of distributive phenomena, such as radiosity and irradiation,

to deviate from uniformity towards the physical bounds (‘ends’) of the plate. While it is

somewhat redundant to express uniformity for these processes, sharp deviations in temperature

gradients are responsible for similarly dramatic changes in surface phenomena. However,

considering their overall effect on radiation vastly complicates an interpretation for little payoff,

and they have thus been neglected throughout succeeding analyses.

Page 27: Quadrafire Final Report

26

~Analysis~

Recall the model from Figure 19:

In accordance with this model and our assumptions, this analysis defines radiative load q per unit

length, dx. As such, “ q’ ” appears in the following analysis with units [W/m]. Also, q’ refers the

radiative load from the plate divider to one tube, and areas for all three surfaces are respective of

the unit cell shown depicted in Figure 21. Table 4 specifies these surface areas for clarity.

Surface Area

Surface 1 (Tubes) 𝑨𝟏 = 𝜋𝐷𝑜(𝒅𝒙) = 𝟎. 𝟏𝟏𝟗𝟕𝒅𝒙 𝑚2

Surface 2 (Plate) 𝑨𝟐 = 𝑠(𝒅𝒙) = 𝟎. 𝟎𝟒𝟏𝟑𝒅𝒙 𝑚2

Surface 3 (Re-radiating) 𝑨𝟑 = 𝑠(𝒅𝒙) = 𝟎. 𝟎𝟒𝟏𝟑𝒅𝒙 𝑚2

Important surface emissivities 𝜀1 & 𝜀2 (𝜀3 is trivial as this surface is re-radiating) are purposely

left as variables in the analysis; the ability to adjust these values after a solution is proposed

proves useful in a later parametric study. View factors between surfaces are specified in Table 5

below.

Table 4

Figure 21

Page 28: Quadrafire Final Report

27

With preceding geometric annotations, the model is now further simplified by considering the

visual in Figure 22.

Figure 22

Here, the model is depicted as a 3-surface enclosure and accompanied by a network

representation of radiation between surfaces. Analogous to schematics conducive to electrical

circuits, this network approach conveniently relates driving potential and resistance in a series-

parallel arrangement. It is worthy to note that the visual depicts heat being radiated from the

tubes (surface 1) to the plate, and that the direction of this exchange is reversed in actuality.

While this may seem counterintuitive, net exchange occurs only between two surfaces, and is

thus fully accounted for with appropriate sign convention. With negligible net exchange at

surface 3, radiation between the plate and tubes is solved through the following:

𝑞1′ =

𝐸𝑏1−𝐸𝑏2

(1−𝜀1𝜀1𝐴1

)+

(

1

𝐴1′ 𝐹12+[(

1

𝐴1′ 𝐹13

)+(1

𝐴2′ 𝐹23

)]

−1

)

+(1−𝜀2𝜀2𝐴2

)

= −𝑞2′ (36)

Where 𝐸𝑏 refers to blackbody emissive power, and is simply equal to 𝜎𝑇4 for an arbitrary

surface. Substituting this relation, along with per unit length area relations for the three surfaces:

𝑞1′ =

𝜎(𝑇14−𝑇2

4)

(1−𝜀1

𝜀1(𝝅𝑫𝒐))+(

1

(𝝅𝑫𝒐)𝐹12+[(1

(𝝅𝑫𝒐)𝐹13)+(

1(𝒔)𝐹23

)]−1)+(

1−𝜀2𝜀2(𝒔)

)

= −𝑞2′ (37)

Page 29: Quadrafire Final Report

28

Plugging in the Stefan – Boltzmann constant along with known values from Tables 4 & 5:

𝑞1′ =

(5.67𝐸−8[𝑊

𝑚2𝐾4])((𝑇14−𝑇2

4)[𝐾])

(1−𝜀1

𝜀1(𝟎.𝟏𝟏𝟗𝟕[𝒎]))+(

1

(𝟎.𝟏𝟏𝟗𝟕[𝒎])(.𝟗𝟖)+[(1

(𝟎.𝟏𝟏𝟗𝟕[𝒎])(.𝟗𝟖))+(

1(𝟎.𝟎𝟒𝟏𝟑[𝒎])(.𝟎𝟐)

)]−1)+(

1−𝜀2𝜀2(.𝟎𝟒𝟏𝟑[𝒎])

)

= −𝑞2′ (38)

Simplifying constant terms, (38) reduces to:

𝑞1′ =

(5.67𝐸−8 [𝑾

𝒎𝟐𝑲𝟒](𝑇14−𝑇2

4)[𝑲])

(1−𝜀1

𝟎.𝟏𝟏𝟗𝟕𝜺𝟏[𝒎−𝟏])+(8.4655 [𝒎−𝟏])+(

1−𝜀2𝟎.𝟎𝟒𝟏𝟑𝜺𝟐

[𝒎−𝟏])= −𝑞2

′ (39)

A unit check yields:

([𝑊

𝑚2𝐾4] [𝐾4])

[𝑚−1]= [

𝑊

𝑚2𝐾4] [𝐾4][𝑚] = [

𝑾

𝒎]

As stated earlier, 𝑞′ considers power per unit length, with units[𝑾

𝒎]. Hence, the unit check

verifies our arrangement of terms.

~Solution~

In direct sequence, a solution in terms of x is simply the previous solution multiplied by distance:

𝑞1↔2(𝑥) =(5.67𝐸−8 [

𝑾

𝒎𝟐𝑲𝟒](𝑇14−𝑇2

4)[𝑲])

(1−𝜀1

𝟎.𝟏𝟏𝟗𝟕𝜺𝟏[𝒎−𝟏])+(8.4655 [𝒎−𝟏])+(

1−𝜀2𝟎.𝟎𝟒𝟏𝟑𝜺𝟐

[𝒎−𝟏])(𝑥) (40)

(40) is a definitive solution for the radiation transfer between surfaces 1 and 2, or between a

single tube and the correlating section of the plate (of width s) as depicted in Figure 21. With this

solution, we readily quantify heat radiated from the plate dividers to the tubes with steps:

Implementing reliable temperature values for the both the plate and the tube surfaces

Parameterization of emissivities 𝜀1 & 𝜀2

Integrating over specified distance x

Page 30: Quadrafire Final Report

29

EXPERIMENTATION – INTRODUCTION

~Intentions~

We now shift our focus to the experimentation conducted throughout research – the intentions of

which were to accurately measure quantities required for analytical proposals. These quantities

include numerous temperature measurements, emission species, the fuel consumption rate, and

the mass flow rates of air throughout the system. The measurements were then manipulated

using computer generated code to produce useful data. Summarily, experimental tests quantify

the parameters present in our theoretical model, ultimately rendering conclusive results which

include heat load and transfer efficiency.

~Overview of Documentation~

Throughout a 3 month period, 25 separate experimental trials were performed, where one ‘trial’

refers to a comprehensive stove run lasting upwards of three hours. Of these, 16 were ultimately

considered to yield all viable data, while some trials were considered variant design tests whose

data was omitted due to the design setup itself along with other user malfunctions. Our viable

data, however, is categorized into two primary experimental designs for the purpose of this

document. Together, these two designs summarize the arc of testing done throughout research.

Page 31: Quadrafire Final Report

30

EXPERIMENTATION – BASELINE DESIGN

~Baseline Experiment~

In order to expand our understanding of the stove, we had to be able to replicate experimental

tests carried out prior to this research. By replicating previous baseline results, we became

familiar with successful metering practices and re-established a means of comparison for future

results. Our ‘baseline design’ thus makes up the first primary experimental design setup utilized

in research, and is annotated in this section.

~Instrumentation and Materials~

Hardware

Table 6 specifies primary hardware material utilized in baseline setup:

Load Cell, 500

lb. capacity

[Qty. 3]

Low-Temp. grade

thermocouples

[Qty. 2]

Testo 330

[Qty. 1]

Bosch Flow

Meter

[Qty. 1]

Heat-Safe Duct

Tape

~ measures fuel

consumption

~ measures 𝑇𝑐𝑖 & 𝑇𝑐𝑜

~ measures

emissions

(CO & NO)

~ measures hot

fluid flow rate

(𝒎𝒉)

~ secure

thermocouples

Table 6

Software

Software instrumentation used in baseline setup is tabulated in Table 7:

DAQ Interface LabVIEW MS Excel MATLAB

~ compiles all raw

data during trial runs

~ stores data during

trial runs & performs

automatic data-

smoothing

~ acts as interface

between LabVIEW &

MATLAB

~ post-processing:

inputs data into

theoretical functions

to render useful

parameters & results

Table 7

Page 32: Quadrafire Final Report

31

~Procedure~

We now segment the steps taken in our baseline test setup.

1. Gather all instrumentation

2. Load cells locations have been predetermined and calibrated using the known weight of

the Quadrafire. Connect each load cell to DAQ at specified locations which have been

labeled.

3. Use adhesive tape to fix first low temperature grade thermocouple to Bosch flow meter.

Should be approximately 3” away from Bosch flow meter and Quadrafire in all

directions. Connect thermocouple to DAQ at first k-type thermocouple slot.

4. Use adhesive tape to fix second low temperature grade thermocouple to the metal fins

just outside of cold fluid pipe outlets. Should be just in front and centered in the middle

of a cold fluid pipe outlet. Connect thermocouple to DAQ at second k-type thermocouple

slot.

5. Place Testo 330 sampling tube into the hole of the stack. Connect the hose of the

sampling tube to the Testo 330 and connect via USB cable the Testo 330 to the computer.

6. Place Bosch Flow Meter into the 3” diameter PVC connection pipe located at the

combustion fluid intake. Connect the Bosch cable to the Bosch and slot on DAQ (follow

labels of DAQ).

7. Connect The DAQ to the computer via USB cable.

8. Run the given LabVIEW program and Testo 330 program.

9. After programs are running turn the Quadrafire on and set thermostat to highest available

temperature (90 degrees F).

10. Run Quadrafire for 3 hours or until visible steady state operations are confirmed for all

thermocouples.

11. Turn the thermostat on Quadrafire to the lowest setting (50 degrees F) and record data for

30 more minutes, or until thermocouple temperatures are significantly less.

12. Turn off Quadrafire once no more combustion or smoke is visible in the combustion

chamber and fire pot.

Page 33: Quadrafire Final Report

32

~Results~

The results reflected in Figures 23 through 28 convey all measured experimental data which was

gathered using the instrumentation and procedure described above. These measurements

compared exceptionally well to previous results.

Figure 23: Rate of fuel consumption vs time Figure 24: Mass flow rate of hot fluid vs time

Figure 25: Temperature of cold fluid inlet vs time Figure 26: Temperature of cold fluid outlet vs time

Figure 27: Emissions of Nitrogen-monoxide vs time Figure 28: Emissions of Carbon-monoxide vs time

Page 34: Quadrafire Final Report

33

EXPERIMENTAL DESIGN – FINAL DESIGN

~Final Experiment~

After reviewing the results and considerations of our baseline design, it quickly became apparent

that many of the measurements could be improved in terms of accuracy. In addition, as research

progresses, the quantity of necessary measurements increases in direct correlation with the

expansion of theoretical considerations. In other words, more variables in our theory dictate an

increase in necessary parameters to be metered. Thus, our final experimental design improves

accuracy of previous measurements while also introducing new ones; an overhaul of the baseline

design in terms of precision and data set size. In turn, final results stand to validate theory up

through the end of our research to this point.

~Additional Instrumentation and Materials~

Instrumentation utilized in our final design includes all materials specified in our baseline

documentation, however several additional constituents have been added and are thoroughly

annotated in Table 8.

Omega Insulated

Thermocouples

[Qty. 7]

~ measures temperatures at

locations on metal plate

dividers & outer tube

surface

Omega Melt Bolt

Radiation Shielded

Thermocouples [Qty. 2]

~ measures temperatures at

firepot location & 𝑇ℎ𝑖

Venturi Flow Meter

[Qty. 1]

~ calibrates measurement

of air flow quantities along

with Bosch meter (2nd form

of metering)

Table 8

Page 35: Quadrafire Final Report

34

~Methodology~

The most important temperature measurements of the system are the inlet and outlet

temperatures of the hot and cold fluid (𝑇ℎ𝑖 , 𝑇ℎ𝑜 , 𝑇𝑐𝑖 , 𝑇𝑐𝑜). For the measurements of these desired

temperatures to be accurate the thermocouples need to be located at the exact inlets and outlets of

the hot and cold fluid, similar to the locations highlighted by Figure 6 in a previous section.

Additionally, since we have added the transfer mode of radiation to our theoretical model,

temperature metering of the metal plate divider is essential to overall measurements. The

following visual in Figure 29 demonstrates the finalized orientation of thermal metering

throughout the appliance.

Figure 29

Shown here are all of the thermocouples utilized in the final experimental design; their paths are

imposed from the DAQ hub to respective metering locations. The lighter blue colored

thermocouple lines refer to the cold fluid inlet and outlet measurements, while the red

thermocouple lines refer to the hot fluid inlet and outlet measurements. The darker red

thermocouple line connects five separate plate divider temperature nodes, which ultimately

provides a means of poly-fitting the plate’s temperature distribution with respect to distance x.

The purple thermocouple line depicts measurement of the flame temperature in the firepot.

Lastly, the orange thermocouple lines refer to the locations at which the outer surface

temperature of the exchanger tubes were measured.

Page 36: Quadrafire Final Report

35

~Procedure~

This subsection annotates how new methods were implemented throughout the procedure of our

final design setup. Specifically, how new thermal sensory equipment was installed to meter

accurate inlet and outlet temperatures, the temperature distribution across metal plate dividers,

and the outer surface temperatures of the tube, and the firepot temperature.

1. To reposition thermocouple which measures cold fluid inlet temperature:

- Drilled 1/8” diameter hole into the side of the curved convection vent, the

component just before the cold fluid intake of heat exchanger and just after

convection fan; centered and in line with convection (cold fluid).

- Placed thermocouple approximately 2” into the hole and covered the opening with

a medium temperature-resistant putty.

- Ran the remaining thermocouple line underneath the corresponding side baffle,

and secured it to the appliance with an adhesive tape.

2. To reposition thermocouple which measures hot fluid outlet temperature:

- Removed screws from the ash catcher plate and ash catcher plate.

- Located the hot fluid outlet vents inside the ash catcher (near corner of the ceiling

and right hand side of ash catcher).

- Drilled 1/8” diameter hole into the top right corner of the ash catcher so that it is

centered and in line with the hot fluid outlet vents.

- Placed thermocouple inside the 1/8” diameter hole so that it is centered in the

middle of the closest hot fluid outlet vent. Made sure wire was fixed.

- Placed medium grade temperature-resistant putty over 1/8” diameter hole with

thermocouple line running through the hole. Covered entire opening well.

- Ran remaining line underneath closest side baffle, and secured it with an adhesive

tape.

Steps 1 & 2 are shown in Figure 30 below:

The cold fluid inlet temperature is measured with a

standard, ‘K-type’ thermocouple (yellow wire), which is

seen protruding out from its drill hole on the lower-right

portion of the convection vent in Figure 29.

The hot fluid outlet temperature is measured with an

insulated thermocouple (brown wire), which is seen

protruding out from its drill hole on the right side of the

ash catcher in Figure 29.

Figure 29

Page 37: Quadrafire Final Report

36

3. To add thermocouple to measure hot fluid inlet temperature:

- Obtained a high temperature adjustable melt bolt thermocouple. Dimensions are

1/4” outer diameter and 7/4” length.

- Drilled a 1/4" hole through the top plate of the combustion chamber and in line

with second convection pipe.

- Screwed a high temperature adjustable melt bolt thermocouple into the 1/4” hole

and fasten 1/4” nut to the other side.

The thermocouple added in step 3 is depicted in Figure 30:

The melt bolt thermocouple, as pictured in Figure 30, is the

silver line running from the DAQ hub to the top plate of the

combustion chamber.

Also seen in Figure 30 is the melt bolt thermocouple

implemented just above the firepot; this metered true

temperature of the flame during later trials.

4. To measure cold fluid outlet temperature with standard ‘K-type’ thermocouple:

- Used a bracket member to protrude a short length down one of the exchanger

tubes (this is depicted in Figure 31).

- Wrapped thermocouple wire in winding fashion multiple times around member

down towards end.

- Made sure thermocouple bead was secured directly in centerline of cold fluid flow

with adhesive.

The thermocouple to measure cold fluid outlet in step 4 is not

visible via photo graph, so it has been depicted on an excerpt

from a previous visual in Figure 31:

The thermocouple bead is shown as concentric yellow and

red circles in Figure 31.

Figure 30

Figure 31

Page 38: Quadrafire Final Report

37

Throughout trials in previous research, cold fluid inlet temperature was taken directly as the

room temperature, and the hot fluid outlet temperature was taken to be the stack temperature at

arbitrary distance from the appliance. Now, wth preceding procedures carefully followed, the

change in cold and hot fluid temperatures are now being measured to reflect true temperature

change of the fluid across the heat exchanger.

In order to solve the theoretical model, the plate temperature distribution as a function of

distance must be known. An integral addition to our final design is implemented to directly

obtain this temperature distribution. The procedure for this proponent involves high temperature

grade (insulated) thermocouples attached to the inside surface of the plate, forming a straight line

parallel to one of the convection pipes. This procedure is annotated by the steps below.

5. Add thermocouples to accurately measure plate divider’s temperature distribution:

- Obtained 5 insulated thermocouples.

- Centered each beneath the convection pipe second nearest to right side wall of the

combustion chamber.

- Recorded the x-distance of each thermocouples position down the plate

- Used a high temperature grade metal adhesive to firmly secure each thermocouple

to desired location on the radiating plate surface.

- Ran the wires out of the combustion chamber and tightly closed chamber door.

Figure 32 depicts placement of thermocouples described by step 5:

Figure 32

Figure 32 demonstrates the location of the thermocouples (red stars) on the inside

plate surface (plate surface not directly exposed to fire). The distances down the plate

(x-distance) must be recorded and thermocouples must be in a straight line parallel to

the convection pipes in the YX-Plane.

Page 39: Quadrafire Final Report

38

The temperature distribution was ultimately acquired by taking raw data compiled by DAQ,

eliminating noise with data-smoothing methods, and calling various functions within MATLAB

to fit a polynomial function to the empirical spline produced by differing steady-state averages at

each of the five nodes. The finalized distribution results are exemplified later on in Figure

Another temperature distribution crucial to the theoretical model is that of the outer tube surface

throughout distance x. A third segment of our final design setup encompasses acquisition of this

distribution, which was obtained based on two locations on the outer surface of the pipe; one at

either end of the plate along the x-direction, placed directly normal to the line formed by the

nodes on the metal plate divider below. This orientation is depicted in both Figures 29 & 33. The

procedure for manifesting the outer tube surface distribution is annotated below.

6. Add two thermocouples to the (cold fluid) outer tube surface:

- Removed screws from the ash catcher plate and ash catcher plate.

- Located the hot fluid outlet vents inside the ash catcher (near corner of the ceiling

and right hand side of ash catcher)

- Ran two thermocouples through the opening of the ash catcher (area the ash

catcher plate covers) and then through the closest hot fluid outlet vent and into the

combustion chamber.

- Used high temperature grade metal adhesive and attached one thermocouple to

the outer tube surface at the location normal to the beginning of the plate.

- Attached the other high temperature grade thermocouple to the outer tube surface

at the location normal to the end of the plate.

- Reattached the ash catcher plate to the ash catcher, refastened screws

- Ran the remaining thermocouple lines underneath the nearest side baffle.

Figure 32

Figure 32 demonstrates location of thermocouples on outer surface of convection pipe

(Orange Stars). Arrows indicate hot fluid flow direction through heat exchanger.

Notice, the thermocouples on outer convection pipe surface are normal at the

beginning and end of the plate divider.

Page 40: Quadrafire Final Report

39

Through various considerations of the theoretical model, our final experimental design was

developed according to all preceding procedur. It is yields accurate measurements of inlet and

outlet temperatures of the hot and cold fluid, plate divider temperature distribution, and outer

tube surface temperature distribution. Lastly, the emissions and load cell data have not changed

from the initial design and are still inherent to the final experimental design. For convenience,

the experimental setup in regards to fuel consumption rate is depicted in Figure 33, and the

emission species recorded by the Testo 330 are specified in Table 9.

Figure 33

Figure 33 annotates how the entire appliance rests upon 3 load cells during trial runs; the load

cells are calibrated in synchronization with the DAQ hub to produce an accurate reading of fuel

burn rate versus time. One a trial run is complete, the appliance is lifted off the load cells to

relieve pressure while testing is not being conducted; a torque wrench is used to carry out this

process (the platform seen in Figure 33 flanges out to 4 bolted connections at each corner).

Emission Species Metered by the TESTO 330

CO NO NOx

~Carbon Monoxide ~Nitrogen Monoxide ~Nitric Oxide & Nitrogen

Dioxide Table 9

The species listed in Table 9 are ones which have been metered since the beginning of research,

and have not been altered in anyway.

Page 41: Quadrafire Final Report

40

EXPERIMENTATION – FINAL RESULTS

The following plots convey experimental results from one of our last trial runs throughout the 3

month research period; it was specifically chosen due particularly smooth, steady-state data. The

data in Figures 34 – 39 were then also smoothed using a moving average function within

LabVIEW, with a window size ranging from 10 to 20 data points. The MATLAB code used to

generate all plots resulting from our final experimental design has been logged in

APPENDICES.

Figure 34

Figure 34 shows emission species recorded by the TESTO 330, specifically Nitrogen Monoxide

(NO) and Carbon Monoxide (CO). ‘NOx’ is actually quite redundant when speaking of these

emissions as it is just a measure of Nitrix Oxides NO & NO2, and has been omitted from the plot

in Figure 34.

Page 42: Quadrafire Final Report

41

Figure 35

Figure 35 plots the temperature-time curve of each inlet and outlet temperature for either fluid

throughout the run.

Figure 36

Figure 36 shows the fuel consumption rate, which is analogous to ‘Load vs Time’, or weight of

the entire appliance versus time. An anomaly is observed in every fuel consumption plot: at

around 10 minutes, which is the average time for the convection fan to turn on, an increase in

weight can be observed. The increase is due to condensation of the combustion air on the outside

of the convection pipes. This condensation mixes with ash from the bio-pellets and collects on

the convection pipes. Thus, the increase in weight is understood.

Page 43: Quadrafire Final Report

42

Figure 37

Figure 37 shows the mass flow rate of combustion air vs time. That is, the air pulled in through

the combustion blower, up through the firepot to oxidize combustion of pellets, through the heat

exchanger and out through the stack. The manufacturer rates this airflow at one value, which is

clearly depicted at steady-state by the plot in Figure 37.

Table 10 and Figure 38 show how the convection fan was calibrated from an original

measurement curve that was slightly inaccurate. Also, the fan curves for either blower are

considered proprietary by the manufacturer, and thus it was necessary to conduct careful

examination of the either airflow. This was done using the Venturi Meter as shown in Figure 8 in

a previous section. Table 10 tabulates accurate convection airflows for all six possible

combinations of settings on the external control module. (each value is half of total mass airflow

for entire system)

Convection Fan

Airflow [kg/hr]

Heat Output

Low Medium High

Fan

Sp

eed

Ori

gin

al

Low 29.14 42.06 51.95

High 72.80 104.31 112.43

Cali

bra

t

ed Low 26.37 37.60 46.12

High 63.99 91.12 98.15

Table 10 Figure 38

Page 44: Quadrafire Final Report

43

Figure 39

The five plots in Figure 39 relay the five node temperatures of plate thermocouples versus time.

Plate temperature plots 1 through 5 correspond to increasing distance x from the cold fluid outlet,

depicted by the dark red dots in Figure 41.

Figure 40: Plots relaying temperature versus time history of outer tube surface. These thermocouples are depicted by the orange

stars in Figure 32.

Page 45: Quadrafire Final Report

44

Figure 41

Figure 41 shows four important temperature distributions, now as a function of distance (x); hot

and cold fluids [Th(x) & Tc(x)]; the plate divider and the outer tube surface [Tpl(x) & Tpo(x)].

The black dots represent the mean, steady-state temperatures (tabulated below) for each node.

The actual plate distribution was generated by using a polynomial fit to the five mean steady

state temperatures on the plate and corresponding x-distances from the origin. The distances

labeled P and L are 305 mm and 508 mm respectively. P is total length of the plate divider and L

is total length of the heat exchanger.

Table 11 tabulates average steady-state values of all

temperature plots previously shown for results in this

section. It is important to note that all preceding

results, along with values in Table 11, reflect

measurements taken while the appliance was set to

high heat output; high fan speed (‘high; high’) settings

on the external control module. The time interval used

for steady-state values shown in Table 11 was from 90

minutes to 125 minutes throughout the trial. No

equation was used to determine this interval; it is based

solely on observation of the smoothest sections of all

plots in experimental results. The values in Table 11

are implemented to our theoretical model in order to

generate parameters of interest for purposes of

comparison in the next section.

Cold Inlet Tci 297.5352

Cold Outlet Tco 323.9273

Hot Inlet Thi 558.0652

Hot Outlet Tho 431.8994

Plate 1 Tpl1 646.7729

Plate 2 Tpl2 644.392

Plate 3 Tpl3 657.0217

Plate 4 Tpl4 648.4472

Plate 5 Tpl5 608.2532

Convection

Pipe InitialTpoi 513.6955

Comvection

Pipe Mid-pointTpop 474.6737

Steady State Temperatures

(Kelvin)

Table 11

Page 46: Quadrafire Final Report

45

CONCLUSIONS – INTRODUCTION

The conclusions of our research have been split into two main sections. The first one

carries out calculation of total heating load Q according to our theoretical propositions and

experimental results, and compares this ultimate value with a BTU output advertised by the

appliance manufacturer. For simplicity, we adhere to the ‘high-high’ setting values across all

calculations leading to Q; mean, steady-state temperatures given in Table 11 and airflow (mass

flow) rates given in Table 10.

The second segment of our conclusive findings introduce a category which has not been

discussed thus far: digital logic of the appliance. Over the 3 month period, we became familiar

with the electrical circuitry which governs the operative cycle of the stove. In doing so, we

amassed a significant deal of knowledge surrounding the wiring harness, the pinout connections,

and how certain electrical components communicate with each other during baseline operation.

In our conclusion, we outline key findings of our offshoot into the electrical realm of the system.

This is so that future redesign modifications may be made on the basis of an electrical

understanding.

Page 47: Quadrafire Final Report

46

CONCLUSIONS – OVERALL Q CALCULATION, &

COMPARISON TO MANUFACTURER

Final experimental results are now implemented into our theoretical proposals to obtain a total Q

(heat output) due to both convection and radiation. The ultimate heating load is subsequently

compared with the high-end heat output advertised by the manufacturer.

We begin with overall transfer coefficient U as a function of x. Although this term was not

previously discussed as a function of x, research has shown that the cold fluid is not experiencing

fully developed flow regime conditions, and that ℎ(𝑥)𝑐 actually changes with distance due to an

undeveloped hydrodynamic boundary layer throughout the tubes. We now define several terms

used in final calculation:

U(x) - Overall Heat Transfer Coefficient (Values for ℎ(𝑥)𝑐 and ℎ(𝑥)ℎ are annotated APPENDIX

2 using MATLAB) from equation 33:

𝑈(𝑥) =1

[(1

ℎ(𝑥)𝑐(0.1077)

) + 0.00112 + (1

ℎ(𝑥)ℎ(0.1197)

)]

Temperature Distributions of Fluids: The temperature distribution of the cold and hot fluid are

demonstrated using equations (18) and (19).

𝑇(𝑥)ℎ = 𝑒

(((ln(𝑇ℎ𝑜𝑢𝑡𝑙𝑒𝑡

))−(ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡)))

𝐿𝑥+ln(𝑇ℎ𝑖𝑛𝑙𝑒𝑡

))

𝑇(𝑥)𝑐 = 𝑒

(((ln(𝑇𝑐𝑖𝑛𝑙𝑒𝑡

))−(ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡)))

𝐿𝑥+ln(𝑇𝑐𝑜𝑢𝑡𝑙𝑒𝑡

))

Temperature Distributions of Plates & Tubes: The next two temperature distributions concern

the plate divider and outer tube surface. These were mentioned in ‘Radiation’ equation (43) as 𝑇1

and 𝑇2, respectively. Using the computer generated model in MATLAB in conjunction with the

final experimental results, 𝑇1 and 𝑇2 transform into 𝑇𝑝𝑙𝑎𝑡𝑒(𝑥) and 𝑇𝑡𝑢𝑏𝑒(𝑥). These values are

better defined below and will be implemented into equation (43) to solve for additional heat to

the cold fluid volume due to radiation from the plates.

𝑇𝑝𝑙𝑎𝑡𝑒(𝑥) = 𝑝𝑜𝑙𝑦𝑛𝑜𝑚𝑖𝑎𝑙 𝑓𝑖𝑡 𝑡𝑜 𝑓𝑖𝑣𝑒 𝑠𝑡𝑒𝑎𝑑𝑦 𝑠𝑡𝑎𝑡𝑒 𝑎𝑣𝑒𝑟𝑎𝑔𝑒 𝑝𝑙𝑎𝑡𝑒 𝑡𝑒𝑚𝑝𝑒𝑟𝑎𝑡𝑢𝑟𝑒𝑠

𝑇𝑡𝑢𝑏𝑒(𝑥) = 𝑒(((ln(𝑇𝑝𝑜𝑝))−(ln(𝑇𝑡𝑢𝑏𝑒 𝑜𝑟𝑖𝑔𝑖𝑛)))

𝑃𝑥+ln(𝑇𝑝𝑜𝑖))

Where 𝑇𝑡𝑢𝑏𝑒 𝑜𝑟𝑖𝑔𝑖𝑛 – Outer tube surface temperature @ cold fluid outlet

𝑇𝑡𝑢𝑏𝑒 𝑃 – Outer tube surface temperature at x = P

Page 48: Quadrafire Final Report

47

Solving for total heat transferred to the room due to convection:

𝑄𝑐𝑜𝑛𝑣𝑒𝑐𝑡𝑖𝑜𝑛 = 8∫ (𝑈(𝑥)[𝑇ℎ(𝑥) − 𝑇𝑐(𝑥)])𝑑𝑥𝐿

𝑜

Where the integral for one tube is multiplied by 8 to account for all eight tubes in the heat

exchanger. Inputting U(x), 𝑇ℎ(𝑥), 𝑇𝑐(𝑥) according to inlet and outlet values from Table 11, and

integrating with respect to x-distance yields the overall heat transfer from the hot to cold fluid due

to convection:

𝑄𝑐𝑜𝑛𝑣𝑒𝑐𝑡𝑖𝑜𝑛 = 8∫

(

1

[(1

ℎ(𝑥)𝑐(0.1077)

) + 0.00112 + (1

ℎ(𝑥)ℎ(0.1197)

)]

[𝑒(−.5045(𝑥)+ 6.3245) − 𝑒(−0.1673𝑥+5.7805)]

)

𝑑𝑥.508

𝑜

𝑸𝒄𝒐𝒏𝒗𝒆𝒄𝒕𝒊𝒐𝒏 = 𝟔𝟎𝟗. 𝟏𝟏𝟏𝟖 (𝑾𝒂𝒕𝒕𝒔)

Solving for heat transferred to the room due to radiation from plate divider to tubes:

𝑄1↔2(𝑥) = 8∫((5.67𝑒 − 8) (𝑇1

4 − 𝑇24))

(1 − 𝜀1

0.1197𝜀1) + (8.4655) + (

1 − 𝜀2

𝟎. 0413𝜀2)(𝑑𝑥)

𝑃

0

Inputting 𝑇𝑝𝑙𝑎𝑡𝑒(𝑥) & 𝑇𝑡𝑢𝑏𝑒(𝑥) as 𝑇1 and 𝑇2 (where distribution were found in MATLAB based

on average steady-state temperatures in Table 11), respectively, and integrating with respect to x-

distance yields the theoretical overall heat transfer from the hot to cold fluid. Remember, the

radiation occurs from x = 0 to x = P and will be integrated over that range. Also the emissivity’s

are taken to be 1.

𝑄𝑝𝑙𝑎𝑡𝑒↔𝑡𝑢𝑏𝑒 = 8∫((5.67𝑒 − 8) (𝑇𝑝𝑙𝑎𝑡𝑒(𝑥)

4 − 𝑇𝑡𝑢𝑏𝑒(𝑥)4))

(1 − 10.1197) + (8.4655) + (

1 − 10.0413)

(𝑑𝑥).305

0

𝑸𝒑𝒍𝒂𝒕𝒆↔𝒕𝒖𝒃𝒆 = 𝟓𝟕𝟓. 𝟔𝟎𝟖𝟔 (𝑾𝒂𝒕𝒕𝒔)

So , the total heat transferred is:

𝑄𝑐 = 𝑄𝑐𝑜𝑛𝑣𝑒𝑐𝑡𝑖𝑜𝑛 + 𝑄𝑝𝑙𝑎𝑡𝑒→𝑡𝑢𝑏𝑒

𝑸𝒄 = 1184.7 (Watts)

Page 49: Quadrafire Final Report

48

The manufacturer advertises a total heat output ranging from 13,500 to 35,600 BTU/hr which

corresponds 3,956.5 to 10,433 in units of Watts. Our model and data suggest a high heat output

of 1184.7 Watts. For further assurance of the deviation between theoretical data and advertised,

we examine the simple relation:

𝑄 = 𝒎𝑐𝑐𝑝𝑐(𝑇𝑐)

Where the flow energy per unit time of the cold fluid is integrated over the entire exchanger

length for all eight tubes, and, because the temperature change of the cold air is small, the

specific heat of the air barely changes. Hence, with the specific heat taken at the film temperature

between (average) the cold fluid inlet and outlet, and the mass flow rate as twice that given for

the ‘high; high’ setting in Table 10:

𝑸 = (0.0545 [𝑘𝑔

𝑠]) (1047.4 [

𝐽

𝑘𝑔𝐾]) (26.3921[𝐾]) = 1506.8 (Watts)

Thus, the range of heat output advertised by the manufacturer does not even eclipse our highest

predicted values according to theory. Beyond comparing such values, the conclusions we may

draw from the deviations are limited in that very little is known about how the manufacturer

arrives at advertised values. They are perhaps utilizing efficiency values given by TESTO’s

oxygen probing, and backing out corresponding output values for heating load based on a

combustion efficiency. This could partially explain such high advertised values of heat output, as

certain recent studies have

Page 50: Quadrafire Final Report

49

DELIVERABLES – DIGITAL LOGIC

~Overview & Intentions~

In order to gain a better understanding of stove operation, the circuit board was an offshoot focus

of research. The purpose of this section is to document a comprehensive review of operating

procedure, with respect to digital logic, such that ongoing research may benefit from our

findings. Ultimately, stove redesign requires knowledge of the current circuitry; only then can

adjustments to aspects such as combustion intake, convection fan speed, and pellet feed control

be wired appropriately. The circuit board is hardwired to various components from the control

box; the control box located behind the switch module shown in Figure 25.

Along with the above figure, the installation manual [2] provides an electrical schematic, shown

in Figure 26.

Figure 26

Figure 25

Page 51: Quadrafire Final Report

50

~Operation~

We have simplified an understanding of electrical operation with the visual in Figure 27.

Figure 27

Figure 27 relays a schematic similar to that provided in the manual, however many modifications

have been imposed to aid analysis. A typical operation cycle is chronologically segmented by the

following steps:

1. When the stove is turned on, the thermostat block calls for heat for an amount of time

depending on the desired room temperature (set by user). During this time, the red call

light, located on the external switch module, is illuminated.

2. Regardless of the switch settings, the appliance begins on high heat output for at least 4

minutes and 15 seconds, at which point it then automatically defaults to the specified

setting. If set to medium or low, the stove runs quieter, but will take longer to heat the

room to a desired temperature.

3. The manual originally specified one air flow rate for the combustion blower, while a

range was given for the convection blower. It has been confirmed that the convection

blower actually yields six different possible volumetric flow rates depending on the

combined heat output and fan speed settings. The combustion blower operates based on a

relationship with the feed motor which is not completely understood in terms of electrical

logic as of this point. Regardless, once the temperature of the room satisfies the

thermostat block, the feed motor and combustion blower shut off.

4. If the thermostat does not call for heat for a certain duration of time, the appliance will

completely shut off, but the convection fan will continue to run until the stove is cool

enough ( until snap disc 1 detects a temperature under 145ºF).

Page 52: Quadrafire Final Report

51

Certain component are now annotated for clarity of function.

Thermocouple: located directly above the firepot, the thermocouple is radiation shielded as

it is subject to immediate contact with the flames. When the temperature reading above the

firepot drops below 200ºF during operation, the thermocouple sends a 15.7 mV signal to the

control box causing an internal light to turn green; when the reading is above 600ºF, the light

turns red.

Heat Output Switch: located on the external control module, this switch regulates burn rate

by communicating with both the convection speed and the pellet motor feed.

Convection Blower Switch: Called ‘Fan Speed’ on the external control module, this switch

toggles the convection fan between high and low magnitudes for the given heat output

setting. These magnitudes are based on differing rpm levels reached by the blower rotor.

Vacuum Switch: Found on the left inside of the firebox behind the inner shield, this switch

allows the feed system to turn on only when there is a vacuum present inside the chamber.

(turns system off if door is opened)

Hopper Switch: Found near the upper right hand corner of the hopper, this switch shuts off

the feed motor when the hopper lid is open.

Feed Motor: The feed motor system primarily consists of a mount, collar, the motor itself,

fasteners, and a coil spring assembly, or auger, which rotates in place to move pellets from

the hopper down to the firepot through a chute between the two halves of the heat exchanger.

It is worthy to note that a feed system disassembly would most likely merit in the form of

useful information in the future, as research has not yet uncovered how the feed motor

communicates with other electrical components.

Capacitor: The capacitor is connected directly to the feed motor; its function is to reverse

the polarity of the induction coil (auger) if spring action is impeded by pellet buildup in the

feed opening. If there is a pellet bind inhibiting the spring assembly from rotating, the

buildup of friction causes a local rise in temperature; if this temperature is sufficiently high,

the capacitor’s charge toggles auger rotation. The spring assembly then turns in the opposite

direction to free up pellet feed until the impediment is lifted, at which point the auger is

reversed back into normal rotation.

Snap Discs: Snap discs are devices equipped with thermal sensors which carry out various

functions depending on temperature reading. Snap disc 1 is located on the right side of the

heat exchanger (two purple wires), and ensures the convection blower is running so long as it

reads a temperature above 145ºF. This expedites cooling of the appliance during shut down

mode. Snap disc 2 is further back towards the convection blower on the right side of the heat

exchanger (two yellow wires), and shuts off the feed system if it reads a temperature above

200ºF. This disc responds to cases such as over-fire or convection fan failure. Snap disc 3 is

mounted on the back the auger tube, and shuts the entire system off if a temperature over

250ºF is detected. This prevents further failure in the case of burn-back from the chamber

into the rest of the appliance.

Page 53: Quadrafire Final Report

52

APPENDICES – APPENDIX 1

Overall Quadrafire Code

%% Solve for Convective Heat Transfer Coefficient % (1) Load Data from Excel and declare frequency Test = 'C:\Users\Carter\Desktop\Quadrafire\Test Data\August

2\Labview8216HH.xlsx'; Testo = 'C:\Users\Carter\Desktop\Quadrafire\Test Data\August

2\Testo8216HH.xlsx'; freq = 10;

% (2) Synchronize Data Time-Step for Testo and LabVIEW % - Find time step, implement into data sets [ n, m, p, v ] = Experiment_Interval_Sync( Test, Testo, freq ); %

n,m,p,v are intervals lab = xlsread(Test) ; Lab = lab(n:m,:); tes = xlsread(Testo); Tes = tes(p:v,:);

% - Preform moving mean on data sets, Labview & Testo Lab = movingmean(Lab,10,[],[]); % Do

moving averages of entire data set Tes = movingmean(Tes,10,[],[]); % (3) Define Time Intervals For Labview and Testo Data time_lab = 0:(1/freq):((m-n)/freq); %

Define time intervals time_tes = (0:1:v-1); % (4) Define Labview data set to measurement names %

Declare data from excel sheet % - Tfire = Temperature of Exhaust Intake Tfire = labview(:,1)+273; % - Thotin = Temperature of Cold air intake Thotin = labview(:,3)+273; % - Thotout = Temperature of Cold air out Tcoldin = labview(:,5)+273; % - Tccoldin = Temperature of Cold air pipe surface out Thotout = labview(:,7)+273; % - Tcoldout = Temperature of radiation plate Tcoldout = labview(:,9)+273; % - Tpoco = Temperature of radiation plate Tpoco = labview(:,11)+273; % - Tpor = Temperature of radiation plate Tpor = labview(:,13)+273; % - Tplate5 = Temperature of radiation plate #5 (top) Tplate5 = labview(:,15)+273; % - Tplate4 = Temperature of radiation plate #4 Tplate4 = labview(:,17)+273; % - Tplate3 = Temperature of radiation plate #3 Tplate3 = labview(:,19)+273; % - Tplate2 = Temperature of radiation plate #2 Tplate2 = labview(:,21)+273; % - Tplate1 = Temperature of radiation plate #1 (bottom) Tplate1 = labview(:,23)+273; % - Loadv = Load cell data in volts Loadv = labview(:,25);

Page 54: Quadrafire Final Report

53

Loadvs = movingmean(Loadv,50,[],[]); %

Preform additional moving average for more smoothing % - Boschv = Bosch Flow Meter Data in volts Boschvs = labview(:,27); Boschv = movingmean(Boschvs,50,[],[]); % (5) Define Labview data set to measurement names % - Tstack = Temperature of Exhaust Tstack = movingmean(Tes(:,2),20,[],[]); % - Tamb = Temperature of Ambient Air Tamb = movingmean(Tes(:,12),20,[],[]); % - ppmNo = part per million of No ppmNo = movingmean(Tes(:,3),50,[],[]); % - ppmNox = part per million of Nox ppmNox = movingmean(Tes(:,4),20,[],[]); % - ppmCo = part per million of Co ppmCo = movingmean(Tes(:,7),50,[],[]); % - perO2 = part per million of No perO2 = movingmean(Tes(:,5),20,[],[]); % (6) Data Calibration for Data Sets Labview and Testo % - Load = weight of stove in volts Load = Loadvs.*25; %

Change load volts to load in lbs % - MAF_h = mean mass flow rate of hot fluid x = Boschv; MAF_ht = (29.93.*x.^3)-(122.9.*x.^2)+(231.1.*x)-138.1; %

change bosch volts to mass flow rate in kg/hr MAF_h = mean(MAF_ht); % (7) Declare fixed mass flow rate of cold fluid % - MAF_c = mass flow rate of cold fluid at all six speeds MAF_c = ([4.0343 26.3691 37.6045 46.1173 63.9859 91.1183

98.1463]).*2; % known mass flow rates

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% DEFINE PROPERTIES OF AIR

%% (1) Define the temperatures for hot and cold fluid inlets/outlets % - Declare range of steady state data to average ran1 = 5000; ran2 = 8000; % - Tci = Temperature of cold fluid in Tci = Tcoldin(ran1:ran2) ; % - Tco = Temperature of cold fluid out Tco = Tcoldout(ran1:ran2); % - Thi = Temperature of hott fluid in Thi = Thotin(ran1:ran2) ; % - Tho = Temperature of hott fluid out Tho = Thotout(ran1:ran2) ;

% (2) Develop functions for hot/cold fluid temperatures as func of x % - Define parameters of cold fluid tube L = .508; x = linspace(0,L,1000); Dp = .03430; Ac = (pi*Dp^2)/4;

% - Reshape all temperature data Thi_ss = Thi;

Page 55: Quadrafire Final Report

54

Tho_ss = Tho; Tci_ss = Tci; Tco_ss = Tco;

% (4) Determine Mean Temperatures Thi_ss_avg = round((mean(Thi_ss)*10^(-2))/(10^(-2)))+273; Tho_ss_avg = round((mean(Tho_ss)*10^(-2))/(10^(-2)))+273; Tci_ss_avg = round((mean(Tci_ss)*10^(-2))/(10^(-2)))+273; Tco_ss_avg = round((mean(Tco_ss)*10^(-2))/(10^(-2)))+273;

%% Air properties vs temperature % (1) Define air properties vs temperature % - Stanadrd air propertie are inputed vs temperature % - Use these inputs to determine air properties at certain temps T = 250:.01:1100; Temp_air = 250:50:1100 ; row_air = [1.3947;1.1614;.9950;.8711;.7740;.6964;.6329;.5804;... .5356;.4975;.4643;.4354;.4097;.3868;.3667;.3482;.3324;.3166]; cp_air = [1.0061;1.007;1.009;1.014;1.021;1.030;1.040;1.051;1.063... ;1.075;1.087;1.099;1.110;1.121;1.131;1.141;1.150;1.159]; mu_air = [159.6;184.6;208.2;230.1;250.7;270.1;288.4;305.8;322.5... ;338.8;354.6;369.8;384.3;398.1;411.3;424.4;436.7;449]; k_air = [22.3;26.3;30;33.8;37.3;40.7;43.9;46.9;49.7;52.4;54.9... ;57.3;59.6;62;64.3;66.7;69.1;71.5]; Pr_air =

[.720;.707;.700;.690;.686;.684;.683;.685;.690;.695;.702;... .709;.716;.720;.723;.726;.727;.728]; % (2) Create spline of values row_air_sp = interp1(Temp_air,row_air,T,'spline'); cp_air_sp = interp1(Temp_air,cp_air,T,'spline'); mu_air_sp = interp1(Temp_air,mu_air,T,'spline'); k_air_sp = interp1(Temp_air,k_air,T,'spline'); Pr_air_sp = interp1(Temp_air,Pr_air,T,'spline');

% (3) Declare all properties of air at mean temperatures % (For Tci, Tco, Thi, Tho mean air properties) % Hot Fluid Inlet Air Properties row_Thi = row_air_sp(T == Thi_ss_avg); cp_Thi = cp_air_sp(T == Thi_ss_avg); mu_Thi = mu_air_sp(T == Thi_ss_avg); k_Thi = k_air_sp(T == Thi_ss_avg); Pr_Thi = Pr_air_sp(T == Thi_ss_avg); % Hot Fluid Outlet Air Properties row_Tho = row_air_sp(T == Tho_ss_avg); cp_Tho = cp_air_sp(T == Tho_ss_avg); mu_Tho = mu_air_sp(T == Tho_ss_avg); k_Tho = k_air_sp(T == Tho_ss_avg); Pr_Tho = Pr_air_sp(T == Tho_ss_avg); % Cold Fluid inlet Air Properties row_Tci = row_air_sp(T == Tci_ss_avg); cp_Tci = cp_air_sp(T == Tci_ss_avg); mu_Tci = mu_air_sp(T == Tci_ss_avg); k_Tci = k_air_sp(T == Tci_ss_avg); Pr_Tci = Pr_air_sp(T == Tci_ss_avg); % Cold Fluid Outlet Air Properties row_Tco = row_air_sp(T == Tco_ss_avg);

Page 56: Quadrafire Final Report

55

cp_Tco = cp_air_sp(T == Tco_ss_avg); mu_Tco = mu_air_sp(T == Tco_ss_avg); k_Tco = k_air_sp(T == Tco_ss_avg); Pr_Tco = Pr_air_sp(T == Tco_ss_avg); % (4) Declare mean fluid properties for cold fluid and then hot fluid % Find mean air properties for hot and cold fluids row_Tc = (row_Tco + row_Tci)/2; cp_Tc = (cp_Tco + cp_Tci)/2; mu_Tc = (mu_Tco + mu_Tci)/2; k_Tc = (k_Tco + k_Tci)/2; Pr_Tc = (Pr_Tco + Pr_Tci)/2; % Find mean air properties for hot and cold fluids row_Th = (row_Tho + row_Thi)/2; cp_Th = (cp_Tho + cp_Thi)/2; mu_Th = (mu_Tho + mu_Thi)/2; k_Th = (k_Tho + k_Thi)/2; Pr_Th = (Pr_Tho + Pr_Thi)/2;

%% Determine convective heat transfer coefficents % (1) Define parameters of physical system (dimensions) % - Dpo = cold fluid outer pipe diameter Dpo = .0383; % - Dpi = cold fluid inner pipe diameter Dpi = .0343; % - Dh = hydraulic diameter of hot fluid s = .0403; h = .060325; %Dh = (h*s*4)./((2*s)+(2*h)); Dh = .02731241; % (2) Convert air properties to standard units and rename for easy

declaration % - muc = mean dynamic viscosity of cold fluid muc = (mu_Tc)*(10^-7); % - muh = mean dynamic viscosity of hot fluid muh = (mu_Th)*(10^-7); % - Red_c = Reynolds number of cold fluid Red_c = (4*MAF_c)./(8*3600*pi*Dpi*muc); % - Red_h = Reynolds number of hot fluid Red_h = (MAF_h*Dh)./(2*3600*.006625094*muh); % - prc = prandlt number of cold fluid prc = Pr_Tc; % - prh = prandlt number of hot fluid prh = Pr_Th; % - kc = thermal conductivity of cold fluid kc = (k_Tc)*(10^-3); % - kc = thermal conductivity of hot fluid kh = (k_Th)*(10^-3);

% (3) Solve for heat transfer coefficent in cold pipe % - Nudcx = Nusselt number of cold fluid in pipe % - idx = interval where Nud reaches maximum limit [Nudcx,idx] = Heat_Transfer_Coefficent_Pipes(Red_c,7,x,prc,Dpi); %

Function generates Nudcx curve % - hcx = heat transfer coefficent of cold fluid as function of x hcx = (Nudcx.*kc')./Dpi;

Page 57: Quadrafire Final Report

56

% (4) Solve for heat transfer coefficent in hot fluid flow % - Nudhx = heat transfer coefficent of hot fluid Nudhx = 3.96; %

Constant due to geometry % - hhx = heat transfer coefficent of hot fluid hhx = (Nudhx*kh)/Dh; n = 1000; for i = 1 : n h(i) = hcx((n+1)-i); end %% Define parameters of temperature distributions through out heat exchanger % (1) Estimated Temperature Distributions % (a) Th(x) = Temperature of Hot Fluid % (b) Tc(x) = Temperature of Cold Fluid % (c) Tpo(x) = Temperature of Outer Pipe Surface % (d) Tpi(x) = Temperature of Inner Pipe Surface % (2) Define parameters of the system % (a) L = length of heat exchanger (meters) L = .508; % (b) x = correlates to distancces downstream from hot inlet (meters) n = 1000; %

Step Size (non-dimensional) step = L/n; %

incremental distance (dx) x = linspace(0,L,n); %

Distance as an array % (c) Api = cross sectional area of inner pipe (meters^2) Api = 2*pi*((.0343)/2); %

Cross sectional area % (d) R = distance from x = 0 to end of radiating plate (meters) R = .305 ; %

R is .75 the length of L

%% Determine Cold fluid temperature distribution as func of x % (1) Assumptions % - Assume the the properties of air are a mean value of mean inlet and % outlet temperatures of cold fluid % - Assume that the radiated plate transfers heat to the pipes outer % surface and thus to the cold fluid % - Assume that system is adibatic with control volume surrounding entire % heat exchanger and isothermal plate % - Because of these assumptions, assume that the hot fluid temperature % distribution is logrythmic from cold fluid inlet to just before the % isothermal plate. Also, heat transfer into the pipe (thus cold fluid) % is from convection of the hot fluid. % - Because of these assumptions heat transfer to pipe (thus cold fluid) % over the isothermal plate is due to convection of hot fluid and % radiating isothermal plate

% (2) Find temperature of cold fluid out w/o radiation into system % Tco_conv = Temp of cold fluid out w/o radiation a = 7; Tco_prime = (((MAF_h)*(cp_Th))/((MAF_c(a))*(cp_Tc)))*... % Temp

of cold fluid out w/o raadiation/ (Kelvin) (mean(Thi) - mean(Tho)) + mean(Tci); % (3) Define new temperature distribution w/o radiation

Page 58: Quadrafire Final Report

57

% m = interval in x distance that correlates to distance R m = round((R*n)/L); % Tco_conv = Now the temperature dist of Tco w/o radiation Tcox_pr= exp(((log(mean(Tci))-log(Tco_prime))./L).*x' +

log(Tco_prime)); % Temp dist of cold fluid w/o radiation/ (Kelvin) % Tcr = Temp of cold fluid at x = R w/o radiation Tcr = Tcox_pr(m); % Tco_convx = Cold fluid temp dist w/o radiation in system xr = linspace(0,L-R,n-m); Tcxr = exp(((log(mean(Tci))-log(Tcr))./(L-R)).*xr' + log(Tcr)); dTcxr = ((log(mean(Tci))-log(Tcr))./(L-R)).*exp(((log(mean(Tci))-

log(Tcr))./(L-R)).*xr' + log(Tcr)); % (4) Define actual temp dist of cold fluid over plate % xpl = range in x-distance from x=0 to x=R xpl = x(1,1:m); % Tco_pl = Temp dist of cold lfuid from x=0 to x=R Tcoxpl = exp(((log(Tcr)-log(mean(Tco)))/R).*xpl + log(mean(Tco))); dTcoxpl = ((log(Tcr)-log(mean(Tco)))/R).*exp(((log(Tcr)-

log(mean(Tco)))/R).*xpl + log(mean(Tco))); % Tcox = actual temperature distribution of cold fluid Tcx = vertcat(Tcoxpl',Tcxr)'; dTcx = vertcat(dTcoxpl',dTcxr)'; %% Determine hot fluid temperature distribution as func of x % (1) Assumptions % - Assume the the properties of air are a mean value of mean inlet and % outlet temperatures of hot fluid % - Assume that the radiated plate has negligable heat transfer to the hot % fluid % - Because of these assumptions, assume that the hot fluid temperature % distribution is logrythmic

% (2) Define hot fluid temp distribution % Thx = Temp dist of hot fluid (Kelvin) Thx = exp((((log(mean(Tho))-log(mean(Thi)))/L).*(x)) +

log(mean(Thi))); dThx = ((log(mean(Tho))-log(mean(Thi)))/L).*exp((((log(mean(Tho))-

log(mean(Thi)))/L).*(x)) + log(mean(Thi))); %% Determine Outer pipe temperature distribution as func of x % (1) Assumptions % - Assume that function of outer pipe surface temp vs distance is nearly % logrythmic, and resembles the temp dist of cold and hot fluid % - Reasonable because temperature gradient is small across pipe % surface % - Also, hot and cold fluid temperature as function of distance is % logryhtmic so w/o any radiation transfer into the pipe, then pipe % surface temperature as function of distance would be logrythmic % - Assume the pipe has constant physical parameters % - Assume constant parameters are the same for every pipe % - For now, assume temp distribution of single pipe is a mean % distribution of every pipe in system

% (2) Define mean temperatures of outer pipe surface % Tpoco = mean temp of outer pipe surface at x = 0 TPoco = mean(Tpoco); % Tpor = mean temp of outer pipe surface at x = R TPor = mean(Tpor);

Page 59: Quadrafire Final Report

58

% (3) Declare Temperature Distribution of Outer Pipe Surface from 0<x<R Tpox = exp((((log(TPor)-log(TPoco))/R).*(xpl)) + log(TPoco)); dTpox = ((log(TPor)-log(TPoco))/R).*exp((((log(TPor)-

log(TPoco))/R).*(xpl)) + log(TPoco)); %% Determine Radiation Plate Temperature Distribution as func of x % (1) Assumptions % - Assume the pipe has constant physical parameters % - Assume that temperature distribution of plate is constant acrross % entire surface % - Meaning, the temp dist found is function of z (height) and x % (distance downstream). So the temp dist does not change with y % - Currently do not have means to find temp distribution in all % directions % - Assume that temp dist can be found be finding a single point at % maximum of known temperatures of plate surface

% (2) Declare mean temperatures of Tplate#'s (1-5) & corresponding distance % Tpl1 = average temperature of Tplate1 Tpl1 = mean(Tplate1); % Tpl2 = average temperature of Tplate1 Tpl2 = mean(Tplate2); % Tpl3 = average temperature of Tplate1 Tpl3 = mean(Tplate3); % Tpl4 = average temperature of Tplate1 Tpl4 = mean(Tplate4); % Tpl5 = average temperature of Tplate1 Tpl5 = mean(Tplate5); % displ = array of distances downstream from x = 0 to x = R pl_num = 5; %

number of thermocouple on plate displ = [.025 .0912 .1435 .1952 .25864]; %

distance increment of thermocouples % Tplate = row vector of plate temperatures Tplate = [Tpl5 Tpl4 Tpl3 Tpl2 Tpl1]; %

array of plate temperatures from Tpl5-->Tpl1

% (3) Find cubic function to fit data points of mean plate temperatures p = polyfit(displ,Tplate,3); %

fit data to a cubic function Tplate_fun = (p(1).*(xpl.^3)) + (p(2).*(xpl.^2)) + (p(3).*xpl)+p(4);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % DETERMIINE HEAT TRANSFERS IN AND OUT OF

SYSTEM %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Determine heat transfer between hot/cold fluid w/o radiation % (1) Define all the resistances in the system Rconvc = (h.*pi.*Dpi).^-1; Rcond = (log(Dpo/Dpi))/(2.*pi.*18); %

18 - thermal conductivity of pipe Rconvh = (pi.*hhx.*Dpo).^-1;

Page 60: Quadrafire Final Report

59

Rtot = Rconvc + Rcond + Rconvh;

% (2) Define overall heat transfer coefficent U = Rtot.^-1; % (3) Declare dqconv dq = U.*(Thx-Tcx); % (4) Integrate to find total heat along L dq_spl = spline(x,dq); Q = integral(@(x)ppval(dq_spl,x),0,L);

%% Determine heat transfer from radiation of plate % (1) View Factor % s = distance between center of pipes s = .0403; F = 1-(1-((Dpo/s)^2))^.5+((Dpo/s)*atan(((s^2-Dpo^2)/Dpo^2)^.5)); % sigma = stephan boltzs constant sigma = 5.67e-8; % Apl = Surface area of plate Apl = s; % Apo = surface area of outer diameter plate Apo = pi*Dpo; % epl = emissivity of plate epl = 1; % epo = emissivity of epo = 1; % (2) Find differential of radiation % find resistance of radiation in enclosure Rpl = (1-epl)/(Apl*epl); RF = (1/(Apl.*F))+((1/(Apl*(F-1)))+(1/(Apo*(F-1))))^-1; Rpo = (1-epo)/(Apo*epo); Rrad = Rpl+RF+Rpo; % (3) dqr = radiation as function of x dqr_dx= ((Rrad.^-1).*sigma).*(Tplate_fun.^4 - Tpox.^4); % (4) Integrate over (0,L) to find total heat dqr_spl = spline(xpl,dqr_dx); Qr = integral(@(x)ppval(dqr_spl,x),0,R);

%% Determine heat transfer from hot fluid % (1) solve for heat transfer as function of x dTh = ((log(mean(Tho))-log(mean(Thi)))/.508).*... exp((((log(mean(Tho))-log(mean(Thi)))/.508).*(x))... +log(mean(Thi))); dqh = (MAF_h/(8*3600).*cp_Th.*1000.*dTh); dqh_spl = spline(x,dqh); for i = 1: n-1 Qhx(i) = integral(@(x)ppval(dqh_spl,x),x(i),x(i+1)); %

heat transfer as func of x end % (2) Integrate over (0,L) to find total heat transfer Qhint = integral(@(x)ppval(dqh_spl,x),0,L); %

total heat transfer by integration % (3) Solve for heat transfer total of hot fluid by mass transfer Qh = (MAF_h/(8*3600)).*cp_Th.*1000.*(mean(Thi-Tho));

% total heat transfer by integration

Page 61: Quadrafire Final Report

60

%% Determine total heat transfer from cold fluid % (1) solve for heat transfer as function of x dqc = (MAF_c(7)/(8*3600)).*cp_Tc.*1000.*dTcx; dqc_spl = spline(x,dqc); for i = 1: n-1 Qcx(i) = integral(@(x)ppval(dqc_spl,x),x(i),x(i+1)); %

heat transfer as func of x end % (2) Integrate over (0,L) to find total heat transfer Qcint = integral(@(x)ppval(dqc_spl,x),0,L);

% total heat transfer by integratio Qc = (MAF_c(a)/(8*3600))*cp_Tc*1000*(mean(Tco-Tci));

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%% PLOTS

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

Page 62: Quadrafire Final Report

61

APPENDICES – APPENDIX 2

Heat Transfer Coefficients

The heat transfer coefficient function below is used for a system where…

Circular pipes

Sharp Corner Entry Length

Fully underdeveloped turbulent flow

Constant parameters throughout entire pipe length

Smooth pipe interior

function [ Nudx,idx ] = Heat_Transfer_Coefficent_Pipes(Red_c,p,x,prcm,Dp) % Red = Reynolds number % C & m & f = coefficents depending on Reynolds % p = Which flow is currently being obserevd % [1 = ll , 2 = ml , 3 = hl, 4 = lh, 5= mh, 6 = hh] % Frictiona Coefficent (Assume smooth) fd_c = (.79.*log(Red_c(p)) - 1.64).^(-2); % Nusselt number as an average Nud_fud = ((fd_c./8).*(Red_c - 1000).*(prcm))./(1 -

(12.7.*(fd_c./8).^(1/2).*(prcm.^(2/3)-1))); % Nuseelt number as a limit Nud_fud_lim = ((fd_c./2).*(Red_c - 1000).*(prcm))./(1 -

(12.7.*(fd_c./2).^(1/2).*(prcm.^(2/3)-1))); % Nusselt number actual C = 34.*(Red_c(p).^-.23); m = .815 - (2.08e-6.*Red_c(p)); Nudx = Nud_fud(p).*(1 + (C./((x/Dp).^m))); tmp = abs(Nudx-Nud_fud_lim(p)); [idx idx] = min(tmp); Nudx(1:1:idx)= Nud_fud_lim(p);

end

This code solves for the nusselt number as a function of distance and implements this value to

find the heat transfer coefficient in the “Overall Code of the Quadrafire”.

The equations on the following page were used finding of the cold-side transfer coefficient ℎ(𝑥)𝑐

when it was uncovered that this fluid does not experience fully developed flow regime

conditions.

Page 63: Quadrafire Final Report

62

Moving Mean Function

Use this function in the overall Quadrafire code

function result = movingmean(data,window,dim,option) %Calculates the centered moving average of an n-dimensional matrix in any

direction. % result=movingmean(data,window,dim,option)

% Inputs: % 1) data = The matrix to be averaged. % 2) window = The window size. This works best as an odd number. If an

even % number is entered then it is rounded down to the next odd number. % 3) dim = The dimension in which you would like do the moving average. % This is an optional input. To leave blank use [] place holder in % function call. Defaults to 1. % 4) option = which solution algorithm to use. The default option works % best in most situations, but option 2 works better for wide % matrices (i.e. 1000000 x 1 or 10 x 1000 x 1000) when solved in the % shorter dimension. Data size where option 2 is more efficient will % vary from computer to computre.This is an optional input. To leave % blank use [] place holder in function call. Defaults to 1. % % Example:

Page 64: Quadrafire Final Report

63

% Calculate column moving average of 10000 x 10 matrix with a window size % of 5 in the 1st dimension using algorithm option 1. % d=rand(10000,10); % dd=movingmean(d,5,1,1); % or % dd=movingmean(d,5,[],1); % or % dd=movingmean(d,5,1,[]); % or % dd=movingmean(d,5,1); % or % dd=movingmean(d,5,[],[]); % or % dd=movingmean(d,5); % % Moving mean for each element uses data centered on that element and % incorporates (window-1)/2 elements before and after the element. % % Function is broken into two parts. The 1d-2d solution, and the % n-dimensional solution. The 1d-2d solution is the fastest that I have % been able to come up with, whereas the n-dimensional solution trades % speed for versatility. % % Function includes some code at the end so that the user can do their % own speed testing using the TIMEIT function. % % Has been heavily tested in 1d-2d case, and lightly tested in 3d case. % Should work in n-dimensional space, but has not been tested in more % than 3 dimensions other than to make sure it does not return an error. % Has not been tested for complex inputs.

%errors for leaving out data or window inputs if ~nargin error('no input data') end

if nargin<2 error('no window size specified') end

%defaults the dimension and option to 1 if it is not specified if nargin<3 || isempty(dim) dim=1; end

if nargin<4 || isempty(option) option=1; end

%rounds even window sizes down to next lowest odd number if mod(window,2)==0 window=window-1; end

Page 65: Quadrafire Final Report

64

%Calculates the number of elements in before and after the central element %to incorporate in the moving mean. Round command is just present to deal %with the potential problem of division leaving a very small decimal, ie. %2.000000000001. halfspace=round((window-1)/2);

%calculates the size of the input data set n=size(data);

%returns error messages for incorrect inputs if mod(dim,1) error('dimension number must be integer') end

if ((ndims(data)<=2 && (option<1 || option>3)) || (ndims(data)>=3 &&

(option<1 ||option>2))) ... || mod(option,1) error('invalid algorithm option') end

if mod(window,1) error('window size must be integer') end

if dim>ndims(data) error('dimension number exceeds number of dimensions in input matrix') end

if dim<1 error('dimension number must be >=1') end

if n(dim)<window error('window is too large') end

if ndims(data)<=2 %Solution for 1d-2d situation. Uses vector operations to optimize %solution speed.

%To simplify algorithm the problem is always solved with dim=1. %If user input is dim=2 then the data is transposed to calculate the %solution in dim=1 if dim==2 data=data'; end

%The three best solutions I came up to for the 1d-2d problem. I kept %them in here to preserve the code incase I want to use some of it %again. I have found that option 1 is consistenetly the fastest. %option=1;

Page 66: Quadrafire Final Report

65

switch option case 1 %option 1, works best for most data sets

%Computes the beginning and ending column for each moving %average compuation. Divide is the number of elements that are %incorporated in each moving average. start=[ones(1,halfspace+1) 2:(n(dim)-halfspace)]; stop=[(1+halfspace):n(dim) ones(1,halfspace)*n(dim)]; divide=stop-start+1;

%Calculates the moving average by calculating the sum of elements %from the start row to the stop row for each central element, %and then dividing by the number of elements used in that sum %to get the average for that central element. %Implemented by calculating the moving sum of the full data %set. Cumulative sum for each central element is calculated by %subtracting the cumulative sum for the row before the start row %from the cumulative sum for the stop row. Row references are %adusted to take into account the fact that you can now %reference a row<1. Divides the series of cumulative sums for %by the number of elements in each sum to get the moving %average. CumulativeSum=cumsum(data); temp_sum=CumulativeSum(stop,:)-CumulativeSum(max(start-1,1),:);

temp_sum((start==1),:)=bsxfun(@plus,temp_sum((start==1),:),data(1,:)); result=bsxfun(@rdivide,temp_sum,divide');

case 2 %option 2, Can be faster than option 1 in very wide matrices %(i.e. 100 x 1000 or l000 x 10000) when solving in the shorter %dimension, but in general it is slower than option 1. %Uses a for loop to calculate the data from the start row to %the stop row, and then divides by the number of rows %incorporated.

result=zeros(size(data)); for i=1:n(dim) start=max(1,i-halfspace); stop=min(i+halfspace,n(dim)); result(i,:)=sum(data(start:stop,:),1)/(stop-start+1); end

case 3 %option 3, Creates a sparse matrix to indicate which rows to

include %data from for the moving average for each central element. %Uses matrix multiplication to calculte the cumulative sum for %each central element. Then divides by the number of elements %used in each cumulative sum to get the average for each %central element. %Elegant but slow. I think this is because bsxfun has to do %a lot of matrix replication. Also, it is easy for the use

matrix to %exceed the maximum matrix dimensions for MATLAB.

Page 67: Quadrafire Final Report

66

start=[ones(1,halfspace+1) 2:(n(dim)-halfspace)]; start=start';

stop=[(1+halfspace):n(dim) ones(1,halfspace)*n(dim)]; stop=stop';

divide=stop-start+1;

baseline=1:n(dim);

use=sparse(n(dim),n(dim),n(dim)*max(divide)); use=(bsxfun(@ge,baseline,start) & bsxfun(@le,baseline,stop));

%uses matrix multiplication instead of repmat or bsxfun, slower

than %using bsxfun %baseline_mat=ones(n(dim),1)*baseline; %start_mat=start*ones(1,n(dim)); %stop_mat=stop*ones(1,n(dim));

%use=(baseline_mat>=start_mat & baseline_mat<=stop_mat); %use=sparse(use);

result=bsxfun(@rdivide,use*data,divide); end

%Transposes the matrix if the problem was solved in dimension=2 so that %the ouput is correctly oriented. Undoes the initial transposition. if dim==2 result=result'; end else %Solution of the n-dimensional problem. This solution is %slower than the 1d-2d solution in a 1d-2d problem, but depending on the %dimensions of the input array can be faster for the same number of %elements in a 3d+ problem (ie. 1000000 x 1 vs 100 x 100 x 100). %Either way it is much more versatile. The algorithm can solve for a %moving average in any dimension of an n-dimension input matrix.

%Two solutions of the problem. In general option 1 is faster than %option 2, but I think that for some matrix sizes option 2 will be %faster. %option=1; switch option

case 1 %Option 1 is based on option 1 for the 1d-2d solution. In %general this is the faster solution. For a more extensive %explanation of the code see option 1 in the 1d-2d section.

%Calculates the start and stop positions, and creates a vector %of how many elements are in each moving sum. start=[ones(1,halfspace+1) 2:(n(dim)-halfspace)];

Page 68: Quadrafire Final Report

67

stop=[(1+halfspace):n(dim) ones(1,halfspace)*n(dim)]; divide=stop-start+1;

%Reorients the start, stop, and divide vectors in the direction %of the specified dimension. %Creates a vector to use to reshape the start, stop, and divide %vectors. Puts one in for the each dimension excpet for the %specified dimension, which is set to the size of the input %matrix in that direction. ex. [1 1 100 1] for a %100 x 100 x 100 x 100 input matrix, solving in the 3rd %dimension. temp_dims=ones(size(n)); temp_dims(dim)=n(dim);

%inv_temp_dims=n; %inv_temp_dims(dim)=1;

%Uses the vector created above to reorient the start, stop, and %divide vectors in the correct direction. start=reshape(start,temp_dims); stop=reshape(stop,temp_dims); divide=reshape(divide,temp_dims);

%Calculates the cumulative sum of the data in the specified %direction. CumulativeSum=cumsum(data,dim);

%I have found the most versatile way of writing an algorithm %that will solve in any dimension of an unknown dimensional %input matrix is to built some functions with text that is %based on the input parameters.

%This text builds the function that subtracts the cumulative %sum at the stop position from the cumulative sum at one %element before the start position for each central element. %Compensates for not have an index less than 1. function_text=['@(CumulativeSum,start,stop) CumulativeSum('

repmat(':,',1,dim-1) 'stop,' repmat(':,',1,ndims(data)-dim)]; function_text=function_text(1,1:end-1); function_text=[function_text ')-CumulativeSum('

repmat(':,',1,dim-1) 'max(1,start-1),' repmat(':,',1,ndims(data)-dim)]; function_text=function_text(1,1:end-1); function_text=[function_text ')'];

%Converts the string above into an anonymous function with the %handle "difference". difference=str2func(function_text);

%Runs the function built above to determine the cumulative sum %between start and stop. temp_sum=difference(CumulativeSum,start,stop);

%Text to make a function that corrects for the fact that the %cumulative sum for moving sums that start at position 1 have %the first data position subtracted out. This is becasue you

Page 69: Quadrafire Final Report

68

%can not have a matrix index less than 1. Uses bsxfun to %multiply start==1 by the first plane of data (in the %appropriate dimension) and then adding that to temp_sum. Need %to do it this way vs using something based on reshaping %data(repmat(start,inv_temp_dims)==1) because the correction %needs to be the same size as temp_sum. This is needed b/c I %do not know how to use text to set the variable elements that %will accept the addition (i.e. %temp_sum(:,:,1:sum(start==1))=). correction_text=['@(temp_sum,start,data)

temp_sum+bsxfun(@times,start==1,data(' repmat(':,',1,dim-1) '1,'

repmat(':,',1,ndims(data)-dim)]; correction_text=correction_text(1,1:end-1); correction_text=[correction_text '))'];

%Converts the above text into a function. correction=str2func(correction_text);

%Applies the correction describe previously to the temp_sum %matrix temp_sum=correction(temp_sum,start,data);

%Divides the temp_sum matrix by the divide vector to %calculate the moving average for each central elemant. result=bsxfun(@rdivide,temp_sum,divide);

case 2 %An older solution to the n-dimensional moving average problem.

%Based on the approach in option 2 in the 1d-2d solution. %Depending on matrix dimensions this might be faster than %option 1 in certain situations (ex input matrix size is 10 x %1000 x 1000 and the average is done in dimension 1).

%Builds a string for the function used in the for loop. %Basiscally it builds something like

sum(data(:,:,start:stop,:),3) but %is able to work in any dimensions and have start:stop be in %any of those dimensions. function_text='@(start,stop,dim) sum(data('; for i=1:ndims(data) if i==dim if i~=1 function_text=[function_text ',start:stop']; else function_text=[function_text 'start:stop']; end else if i~=1 function_text=[function_text ',:']; else function_text=[function_text ':']; end end end

Page 70: Quadrafire Final Report

69

function_text=[function_text '),dim)'];

%Converts the text above into a function moving_sum=str2func(function_text);

%For loop determines the start position, stop position, and %number of elements for the moving average of each central %element. Calculates the moving sum for each central element %in that position, and divides by the number of elements to get %the moving average. for i=1:n(dim) start=max(1,i-halfspace); stop=min(i+halfspace,n(dim));

temp_m=moving_sum(start,stop,dim)/(stop-start+1);

%This was the most versatile way of reassembling all of the %moving average matrices back into the final output matrix, %although it is slow b/c the result matrix keeps resizing. if i==1 result=temp_m; else result=cat(dim,result,temp_m); end end

end end

%code for speed testing %generates a series of random vectors with 10 to 10000000 cells and then %times the moving average at each size. Time for each input size is %stored.

%1d-2d timer test %data_power=[1 2 3 4 5 6 7]; %data_size=10.^data_power; %window=5; %dim=1; %time=zeros(size(data_size));

%for i=1:size(data_size,2) % data=rand(data_size(i),1); % f=@() movingmean(data,window,dim); % time(i)=timeit(f,1); %end

%3d timer test %data_power=[1 2 3];

Page 71: Quadrafire Final Report

70

%data_size=10.^data_power; %window=5; %dim=1; %time=zeros(size(data_size));

%for i=1:size(data_size,2) % data=rand(data_size(i),100,100); % f=@() movingmean(data,window,dim); % time(i)=timeit(f,1); %end end

Experimental Time Interval Synchronization

Use this function to make testo and labview operate on same real time interval.

Function [ n, m, p, v, Test_Time, Testo_Time ] = Experiment_Interval_Sync(

Test, Testo, freq ) clc % Declare and Write Time Sheet [test_num,test_time]=xlsread(Test,’A:A’); [testo_num,testo_time]=xlsread(Testo,’A:A’); % Filter and convert Date and Time to dd-MMM-YYYY HH:MM:SS test_strn = test_time(2:1:end); testo_strn = testo_time(2:1:end); formatOut = ‘mm/dd/yyyy HH:MM:SS:FFF AM’; test_str = datestr(test_strn,formatOut); testo_str

=datestr(testo_strn,formatOut); % Find First Common Point In Time % n = index to offset test % p =index to offset test % m = index to offset testo % v = index to offset testo freq = 10; w = 1/freq; [C,idx_test,idx_testo] = intersect(test_str,testo_str,’rows’);

n = idx_test(1); m = idx_test(end); p = idx_testo(1); v = idx_testo(end);

Test_Time = idx_test(1)*w :1*w:idx_test(end)*w; Testo_Time = idx_testo(1):1:idx_testo(end);

end

Convection Fan Calibration

This will give mass flow rate of convection fan, these numbers are already in overall Quadrafire

code but is useful if the experiment needs to be repeated (It won’t need to be repeated).

% CONVECTION FAN DATA AND RESULTS ON MASS FLOW RATE (BOSCH) % Load all raw data from labview for each convection fan trial % - Six total trials for each respective heat/fan speed setting % (1) Load all data from each Excel sheet, only bosch voltage % (2) Define all parameters and convert from voltage to flow % (3) Plot all raw data on same figure(1) % (4) Preform moving average each data set

Page 72: Quadrafire Final Report

71

% (5) Plot smoothed data all on same figure(2) clc %% (1) Load Excel Data from First and Second trial % - excell data loaded file = 'C:\Users\Carter\Desktop\Quadrafire\Test Data\Convection

Fan\Combined.xlsx'; data = xlsread(file); % - Filter NAN out of data ind = find(isnan(data)); data(ind)=0; n = ind(1)-1; m = size(data) ; m = m(2); conv = data(1:n,1:m); for j= 1:m for i = 1:n mfr(i,j) = ((31.42.*conv(i,j).^3)-

(124.37.*conv(i,j).^2)+(235.25.*conv(i,j))-142.31);%kg/hr mfr_cal(i,j) = ((29.93.*conv(i,j).^3)-

(122.9.*conv(i,j).^2)+(231.1.*conv(i,j))-138.1);%kg/hr end end % - Load Second Trial Data filename = 'C:\Users\Carter\Documents\MATLAB\VenturiDATA__5.txt'; startRow = 24; endRow = 1824; %% [Time,BoschMAF_V,Pressure1_V,Pressure2_V,Volts3,Volts4,Tamb_F,Volts5,DegF1,De

gF2,Volts6,RH_V,Volts8,Volts9] = importfile(filename, startRow, endRow);

%% Define MAF of First Trial ll = mean(mfr(:,1)); lh = mean(mfr(:,2)); ml = mean(mfr(:,3)); mh = mean(mfr(:,4)); hl = mean(mfr(:,5)); hh = mean(mfr(:,6));

ll_cal = mean(mfr_cal(:,1)); lh_cal = mean(mfr_cal(:,2)); ml_cal = mean(mfr_cal(:,3)); mh_cal = mean(mfr_cal(:,4)); hl_cal = mean(mfr_cal(:,5)); hh_cal = mean(mfr_cal(:,6));

Bosch_MAF_1 = ([ll ml hl lh mh hh])/3600; Bosch_MAF_Cal_1 = ([ll_cal ml_cal hl_cal lh_cal mh_cal hh_cal])/3600;

%% Define Mass Flow Rate of Second Trial x = BoschMAF_V; Bosch_MAF_2 = (31.42.*x.^3)-(124.37.*x.^2)+(235.25.*x)-142.31; Bosch_MAF_Cal_2 = (29.93.*x.^3)-(122.9.*x.^2)+(231.1.*x)-138.1; n = 240; m = 40; Bosch_MAF_Avg_2 = [mean(Bosch_MAF_2(m:1:n-m)) mean(Bosch_MAF_2(n+m:1:2*n-m))

mean(Bosch_MAF_2(2*n+m:1:3*n-m)) mean(Bosch_MAF_2(3*n+m:1:4*n-m))

mean(Bosch_MAF_2(4*n+m:1:5*n-m)) mean(Bosch_MAF_2(5*n+m:1:6*n-m))

mean(Bosch_MAF_2(6*n+m:1:7*n-m))]; Bosch_MAF_Avg_Cal_2 = [mean(Bosch_MAF_Cal_2(m:1:n-m))

mean(Bosch_MAF_Cal_2(n+m:1:2*n-m)) mean(Bosch_MAF_Cal_2(2*n+m:1:3*n-m))

mean(Bosch_MAF_Cal_2(3*n+m:1:4*n-m)) mean(Bosch_MAF_Cal_2(4*n+m:1:5*n-m))

mean(Bosch_MAF_Cal_2(5*n+m:1:6*n-m)) mean(Bosch_MAF_Cal_2(6*n+m:1:7*n-m))]; volts = [mean(x(m:1:n-m)) mean(x(n+m:1:2*n-m)) mean(x(2*n+m:1:3*n-

m)) mean(x(3*n+m:1:4*n-m)) mean(x(4*n+m:1:5*n-m)) mean(x(5*n+m:1:6*n-m))

mean(x(6*n+m:1:7*n-m))]; %% Take Averages of MAF

Page 73: Quadrafire Final Report

72

%% Determine Reynolds Number As Function Of Mass Flow Rate

Re_1 = (4.*Bosch_MAF_1)/(pi*0.0762*194.6e-7); Re_Cal_1 = (4.*Bosch_MAF_Cal_1)/(pi*0.0762*194.6e-7);

Bosch_MAF_1 = [4 ll ml hl lh mh hh]; Bosch_MAF_Cal_1 = [4 ll_cal ml_cal hl_cal lh_cal mh_cal hh_cal];

%% Plot The first Trial MAFs

figure(1) p = [0 2 4 6 8 10 12]; plot(p,Bosch_MAF_1,'-g',p,Bosch_MAF_Cal_1,'-r') axis manual ; axis([0 12 0 160])

%% Plot The Second Trial MAFs

figure(2) p = [0 2 4 6 8 10 12]; plot(p,Bosch_MAF_Avg_2,'-g',p,Bosch_MAF_Avg_Cal_2,'-r') axis manual ; axis([0 12 0 120])

%% CFM mtc = 35.3147; CFM = ((Bosch_MAF_Avg_Cal_2./60)./1.16154).*mtc.*2;

figure(3) p = [0 2 4 6 8 10 12]; plot(p,CFM,'-b') axis manual ; axis([0 12 0 110])

Importfile function *

Code taken from internet to import certain lmv files into matlab txt files, use for convection fan

calibration.

function

[Y_Unit_Label,Volts,Volts1,Volts2,Volts3,Volts4,DegF,Volts5,DegF1,DegF2,Volts

6,Volts7,Volts8,Volts9] = importfile(filename, startRow, endRow) %IMPORTFILE Import numeric data from a text file as column vectors. %

[Y_UNIT_LABEL,VOLTS,VOLTS1,VOLTS2,VOLTS3,VOLTS4,DEGF,VOLTS5,DEGF1,DEGF2,VOLTS

6,VOLTS7,VOLTS8,VOLTS9] % = IMPORTFILE(FILENAME) Reads data from text file FILENAME for the % default selection. %

Page 74: Quadrafire Final Report

73

%

[Y_UNIT_LABEL,VOLTS,VOLTS1,VOLTS2,VOLTS3,VOLTS4,DEGF,VOLTS5,DEGF1,DEGF2,VOLTS

6,VOLTS7,VOLTS8,VOLTS9] % = IMPORTFILE(FILENAME, STARTROW, ENDROW) Reads data from rows STARTROW % through ENDROW of text file FILENAME. % % Example: %

[Y_Unit_Label,Volts,Volts1,Volts2,Volts3,Volts4,DegF,Volts5,DegF1,DegF2,Volts

6,Volts7,Volts8,Volts9] = importfile('VenturiDATA__5.txt',24, 1824); % % See also TEXTSCAN.

% Auto-generated by MATLAB on 2016/07/18 20:58:46

%% Initialize variables. delimiter = '\t'; if nargin<=2 startRow = 24; endRow = inf; end

%% Format string for each line of text: % column1: double (%f) % column2: double (%f) % column3: double (%f) % column4: double (%f) % column5: double (%f) % column6: double (%f) % column7: double (%f) % column8: double (%f) % column9: double (%f) % column10: double (%f) % column11: double (%f) % column12: double (%f) % column13: double (%f) % column14: double (%f) % For more information, see the TEXTSCAN documentation. formatSpec = '%f%f%f%f%f%f%f%f%f%f%f%f%f%f%*s%[^\n\r]';

%% Open the text file. fileID = fopen(filename,'r');

%% Read columns of data according to format string. % This call is based on the structure of the file used to generate this % code. If an error occurs for a different file, try regenerating the code % from the Import Tool. dataArray = textscan(fileID, formatSpec, endRow(1)-startRow(1)+1,

'Delimiter', delimiter, 'HeaderLines', startRow(1)-1, 'ReturnOnError',

false); for block=2:length(startRow) frewind(fileID); dataArrayBlock = textscan(fileID, formatSpec, endRow(block)-

startRow(block)+1, 'Delimiter', delimiter, 'HeaderLines', startRow(block)-1,

'ReturnOnError', false); for col=1:length(dataArray)

Page 75: Quadrafire Final Report

74

dataArray{col} = [dataArray{col};dataArrayBlock{col}]; end end

%% Close the text file. fclose(fileID);

%% Post processing for unimportable data. % No unimportable data rules were applied during the import, so no post % processing code is included. To generate code which works for % unimportable data, select unimportable cells in a file and regenerate the % script.

%% Allocate imported array to column variable names Y_Unit_Label = dataArray{:, 1}; Volts = dataArray{:, 2}; Volts1 = dataArray{:, 3}; Volts2 = dataArray{:, 4}; Volts3 = dataArray{:, 5}; Volts4 = dataArray{:, 6}; DegF = dataArray{:, 7}; Volts5 = dataArray{:, 8}; DegF1 = dataArray{:, 9}; DegF2 = dataArray{:, 10}; Volts6 = dataArray{:, 11}; Volts7 = dataArray{:, 12}; Volts8 = dataArray{:, 13}; Volts9 = dataArray{:, 14};

Page 76: Quadrafire Final Report

75

REFERENCES

[1] Bergman, Theodore L., Adrienne S. Lavine, Frank P. Incropera, & David P.

DeWitt. An Introduction to Heat Transfer, 6th Edition. John Wiley & Sons,

Ltd. June 2011. Print.

[2] “Owner’s Manual Installation and Operation”. Quadra – Fire Classic Bay 1200

Pellet Stove. Pdf. Web.

http://downloads.hearthnhome.com/installManuals/7014_179.pdf

[3] Williamson, S. (n.d.). “Breakthroughs and Persistent Weaknesses in Pellet Stoves”.

Speech. [PowerPoint]

[4] Williamson, S. (n.d.). “Heat Metering Pellet Stoves”. Speech. [PowerPoint]


Recommended