Date post: | 15-Apr-2017 |
Category: |
Documents |
Upload: | carter-twombly |
View: | 21 times |
Download: | 2 times |
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.
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)
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.
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
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
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
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.
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
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
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.
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)
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)
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)
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)
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)
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.
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
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.
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.
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.
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.
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.
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.
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.
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.
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.
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
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)
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
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.
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
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.
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
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
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.
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
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
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.
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.
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.
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.
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.
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
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.
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
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.
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
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)
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
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
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).
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.
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);
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;
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);
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;
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
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);
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;
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
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
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
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.
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:
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
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;
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.
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)];
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
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
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];
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
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
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. %
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)
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};
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]