1 Introduction

In this paper, we report on the investigation of combustion within a turbulent boundary layer above a solid fuel with undiluted oxygen. This is typical of combustion within hybrid rocket motors, which utilize a solid fuel grain and a gaseous or vaporized liquid oxidizer. A diffusion flame sits within the boundary layer above the fuel surface. In a classical hybrid using polymeric fuel, heat from the diffusion flame is radiated and convected to the fuel surface, causing polymer degradation, softening and pyrolysis of the solid fuel. The pyrolyzed fuel vapor is transported to the diffusion flame via advection and diffusion where it reacts with oxidizer that has been transported from the free-stream via turbulent diffusion (Chiaverini 2007).

Experimental investigation of the combustion processes within hybrid rocket motors at realistic operating conditions is challenging. Hybrid rocket motors typically operate at elevated chamber pressures at or above 1379 kPa (200 psi) and utilize a pure oxidizer that is not diluted with inert gases such as helium or nitrogen. Flammability limits widen with increasing pressure and with decreasing amounts of diluent in the oxidizer. The temperatures within hybrid rocket motors are often greater than 3000 K at the flame location. These high temperatures combined with wide flammability limits make it nearly impossible to utilize in situ diagnostics to study the nature of the turbulent diffusion flame at realistic operating conditions. Studies that have used in situ diagnostics are typically conducted at lower temperatures, achieved by testing at atmospheric pressure and using air as the oxidizer or diluting the oxidizer or fuel with nitrogen gas, see, for example, Wooldridge and Muzzy (1965), Muzzy and Wooldridge (1966) and Jones et al. (1971). Here, instead of using in situ diagnostics, we use a flow facility, the Stanford Combustion Visualization Facility, designed with optical access to allow for direct visualization and imaging of the combustion, enabling us to image combustion at conditions typically found within a hybrid rocket motor.

The Stanford Combustion Visualization Facility was developed to study turbulent reacting boundary layers in pure oxygen at a range of combustion chamber pressures representative of hybrid rocket conditions. This facility is used to collect simultaneous schlieren and OH* chemiluminescence images of the combustion of various fuels. Two classes of hybrid rocket fuels are analyzed, classical fuels and liquefying high regression rate fuels. Both classes use hydrocarbon fuel grains that are inert solids at ambient conditions. During combustion, high regression rate fuels form a liquid layer on their surface that is unstable under the action of the free-stream oxidizer flow. Fuel droplets expelled from this liquid layer are entrained into the main diffusion flame and beyond (Jens et al. 2014a). This mechanism results in regression rates 3–4 times that of classical fuels at the same operating conditions (Karabeyoglu et al. 2001).

In this paper, we apply image processing techniques to schlieren and OH* chemiluminescence images in order to quantify the thickness of the boundary layer above the fuel surface and the location of the flame within the boundary layer. The image processing algorithms and image registration routine are described in detail in order to inform others working with multimodal imaging. A simple yet effective approach to edge detection in schlieren images is presented.

Results for classical and high regression rate fuels are compared. Results are presented for six different fuels reacting with gaseous oxygen at atmospheric pressure. Five classical fuels are analyzed, specifically hydroxyl-terminated polybutadiene (HTPB) with 0.5 % by mass carbon black, HTPB without carbon black, high-density polyetheylene (HDPE), acrylonitrile butadiene styrene (ABS) and polymethyl methacrylate (PMMA) as well as a liquefying high regression rate fuel, specifically neat paraffin with 0.5 % by mass of black dye, referred to as blackened paraffin (BP). Results for PMMA and BP at elevated pressure are also presented.

2 Experimental setup

The combustion visualization facility is designed to investigate the combustion of various fuels with gaseous oxygen. Details of the facility design are provided in Chandler et al. (2012), Chandler (2012), and Jens et al. (2014a, b). The facility is shown schematically in Fig. 1. It is operated remotely from a main control station and consists of a feedline to deliver gaseous oxygen and nitrogen gas for purge, a flow conditioning system, a combustion chamber with three optical access ports and optical diagnostic equipment. The feedline is able to deliver a range of oxidizer mass flow rates up to 0.142 kg/s. The flow conditioning system is used to produce uniform free-stream conditions at the entrance to the combustion chamber. The combustion chamber is designed for operation with pure oxygen and chamber pressures up to 1.7 MPa (250 psi). Slab fuel samples with an aerodynamic leading edge are supported on a copper platform within the combustion chamber. These fuel samples are also referred to as fuel grains in order to be consistent with hybrid rocket literature. Each fuel grain is approximately 0.0254 m \(\times\) 0.0762 m \(\times\) 0.0127 m. The combustion chamber has cross-sectional dimensions of approximately 0.05 m \(\times\) 0.07 m. Interchangeable nozzles with varying throat diameters are installed to test fuels at different combustion chamber pressures while holding the oxidizer mass flow rate constant. Ignition is achieved via a nichrome wire coated with a thin layer of epoxy installed at the leading edge of the fuel grain. The instantaneous oxidizer mass flow rate is measured using a venturi with a differential pressure transducer; the aft combustion chamber pressure and the temperature ahead of the fuel grain are also recorded during each test. The facility has been used to conduct over 60 successful hot-firesFootnote 1 at a range of operating conditions. This paper focuses on the results of 11 of these tests. Details of the operating conditions for these tests are provided in Table 1.

The test sequence is automated via LabVIEW using pre-specified timing. At the start of a hot-fire, the LabVIEW program closes all valves and starts writing signal data to a csv file. The program then opens the main oxidizer run valve. At a prescribed time after oxidizer flow commences, power is supplied to the igniter for approximately 0.8 s. After this time, the nichrome wire has typically burned-through and the combustion is generally self-sustaining. Oxidizer flow continues for the desired test time. At the completion of the test, the oxygen valve is closed and the nitrogen purge commences. High-speed data continue to be recorded until the completion of the nitrogen purge. When the nitrogen purge is finished, the program closes all valves, finishes writing the data to a file and returns to the initial state, ready for another test. The duration of each test is limited by the onboard storage of the cameras. There is variation in the test times listed in Table 1 due to variable ignition delays for the fuels tested. A larger test time was generally used for those fuels which proved more difficult to ignite. The amount of fuel burned varied for each test, see Table 1. Each test of classical fuels typically only burned a small amount (approximately 5–30 %) of the fuel grain; Test 19 only burned 4 % of the original fuel grain mass. The tests of BP typically burned a much larger fraction of the fuel grain, with 99 % of the BP fuel grain burned during Test 17. The free-stream flow velocities for the 11 tests discussed here varied from 3.1 to 29.7 m/s. The larger free-stream flow velocities corresponded to tests conducted at atmospheric chamber pressure.

Fig. 1
figure 1

Schematic of the Stanford Combustion Visualization Facility. The location of the thermocouple and pressure transducer in the combustion chamber are shown in image a

Table 1 Summary table of main parameters for each test

2.1 Imaging apparatus

The configuration of the schlieren and OH* chemiluminescence optics is shown in Fig. 1c. A Z-type schlieren configuration is adopted to observe density gradients in the test section. The facility uses an off the shelf light-emitting diode source and two 0.192 m (7.54 in) diameter mirrors, each with a focal length of 1.435 m (56.5 in.). Schlieren images with a resolution of \(1080 \times 236\) pixels are recorded at 3000 fps on a MotionPro X3 Plus camera with a 105 mm Nikon lens. This lens has an f-number of \(\frac{f}{2.8}\). The exposure time was 13 \(\upmu\)s for all schlieren images presented here. The schlieren images are recorded using Motion Studio software with a gain of 2.0 V. A horizontal knife edge is used in order to better resolve vertical density gradients along the boundary layer edge. The knife edge depth is tuned prior to each test to best observe density gradients in a butane torch flame at atmospheric pressure. For all tests presented in this paper, the test section was fitted with two quartz windows supplied by G.M. Associates. These windows have a surface finish scratch and dig of 80/50 and are of adequate quality for the schlieren system.

Imaging of excited species such as OH*, CH* and CO\(_2\)* is a popular technique used to study flames. In this paper, the location of the flame is determined using images of OH* chemiluminescence. With modern imaging technology, recording chemiluminescence of these molecules is a relatively easy diagnostic technique to implement, but detailed interpretation of chemiluminescence in flames is a complicated and nuanced task. The excited OH molecule, OH*, emits near 310 nm, whereas CO\(_2\)* emits broadly and its emission intensity is typically much greater than OH*. This results in an indistinguishable offset in the OH* signal. There have been many studies of electronic quenching of OH* at a variety of conditions. Chemiluminescence signals have been shown to be proportional to heat release rate under certain conditions (Panoutsos et al. 2009) and not under others (Lauer and Sattelmayer 2010); while some details of the quenching are unknown, OH* has been a useful diagnostic in a variety of studies to indicate the location of flame kernels, reactions and intensity of burning (Soid and Zainal 2011; Guethe et al. 2012). Here, the line-of-sight integrated OH* signal is interpreted simply as a marker of reaction. The intensity of the OH* signal can be taken to indicate the intensity of reaction under the following simplifying assumptions:

  1. 1.

    The chemistry of OH* production and quenching is roughly the same for all fuels studied here at all combustion chamber pressures within the range investigated.

  2. 2.

    Any CO\(_2\)* production is proportional to OH* production, so the OH* signal intensities can be compared between fuels.

Therefore, the largest OH* signal above the fuel grain is taken as an indicator of the flame location.

The schlieren and OH* images are triggered together and recorded at the same frame rate. The images of OH* chemiluminescence are recorded on a Photron APX i\(^{2}\) intensified camera, using a 105 mm Nikkor UV lens with an f-number of \(\frac{f}{8}\). A gain of 60 % of the maximum gain of the camera, specifically 3.8 V, is used for all OH* images presented in this paper. Gate times are adjusted to maximize signal while minimizing the risk of saturating the camera, see Table 1. An Asahi Spectra high-transmission band-pass filter centered at 313 nm with a full width half max of 5 nm is installed ahead of the camera.

2.2 Results

Example schlieren and OH* chemiluminescence images are provided in Figs. 2 and 3. The light released from combustion in the visible spectrum can be seen in many of the schlieren images, particularly during the combustion of heavily sooting fuels such as HTPB and ABS, and during combustion at elevated pressure.

Fig. 2
figure 2

Comparison of the change in the appearance of schlieren images for PMMA with combustion chamber pressure. A decrease in texture within the boundary layer can be seen for the image of Test 23 as compared to those from Test 21 and Test 16. Times listed refer to the time after ignition commenced. Camera settings are provided in Sect. 2. The scale of each image is approximately 17.8 cm \(\times\) 4.0 cm. a Test 21-PMMA. t = 1.74 s. P = 101.3 kPa (14.7 psi). b Test 16-PMMA. t = 3.18 s. P = 434.1 kPa (63.0 psi). c Test 23-PMMA. t = 2.88 s. P = 947.4 kPa (137.4 psi)

Fig. 3
figure 3

Images of OH* chemiluminescence for non-blackened HTPB, HDPE and BP. Times listed refer to the time after ignition commences. The oxidizer mass flux for Test 18, 19 and 22 was 43.4, 43.2 and 43.5 kg/m2 s, respectively. Camera settings are provided in Sect. 2. Images shown are normalized and displayed in a complement color map (i.e., black is large signal). The scale of each image is approximately 9.5 cm \(\times\) 4.0 cm. a Test 18: non-blackened HTPB. t = 1.65 s. b Test 19: HDPE. t = 2.95 s. c Test 22: BP, t = 1.18 s

As discussed in the previous section, the schlieren images were collected in the hope that they would provide insight into the turbulent boundary layer structure of combusting flows typical of those within a hybrid rocket motor, and in particular would provide a measure of the boundary layer height along the fuel grain. The results provided in Fig. 2 clearly show a discernible edge between the free-stream and the region above the fuel grain. This edge was also seen in the early schlieren images collected by Muzzy (1963) and by others looking at turbulent boundary layers. This sharp instantaneous demarcation surface between the turbulent and non-turbulent fluid is described by Corrsin and Kistler as the outstanding characteristic of the outer edge of the turbulent boundary layer (Corrsin and Kistler 1955). Schlieren images respond to the first spatial derivative of the refractive index in the test section, e.g., \(\delta n/\delta x\), and the refractive index of a gas can be related to its density through the linear relationship shown in Eq. 1 ( Settles 2001), where k is the Gladstone–Dale coefficient. The density of the gas in the test section is related to the temperature through the ideal gas law. Thus, the edges seen in the images of Fig. 2 correspond to the edge of the thermal boundary layer.

$$\begin{aligned} n = 1+k\rho \end{aligned}$$
(1)

The free-stream beyond the boundary layer is almost irrotational, whereas the turbulent region within the boundary layer is highly rotational. The interface between these regions, known as the viscous super-layer (Corrsin and Kistler 1955), is very thin. The high level of vorticity within the boundary layer coupled with the strong mixing throughout the boundary layer implies that the edge of the thermal boundary layer observed with the schlieren images should be roughly coincident with the edge of the momentum boundary layer. The experimental results collected by Wooldridge and Muzzy (1965) and Muzzy and Wooldridge (1966), provide evidence of the validity of this conclusion for these flows.

Images of OH* chemiluminescence are shown in Fig. 3 for the combustion of selected fuels at atmospheric pressure. These images give insight into the location of combustion reactions and constitute the first such images recorded for combustion in a hybrid rocket motor configuration. The work of Wooldridge and Muzzy (1965), Muzzy and Wooldridge (1966) and later by Jones et al. (1971) together comprise the only other work to attempt to measure the flame location within the boundary layer; however, as discussed previously, their results were only able to be recorded for the combustion of dilute fuel mixtures with air at atmospheric pressures. The images of OH* chemiluminescence and the schlieren images were collected simultaneously and are therefore best analyzed together. The steps required to do this are described in Sect. 3.

3 Image processing

The image processing approach adopted for this work is shown schematically in Fig. 4. Details of each step in this figure are provided throughout this section. All image processing discussed here was implemented in MATLAB.

Fig. 4
figure 4

Summary of image processing techniques. This process is repeated for each frame

3.1 Image registration

The schlieren and OH* images collected during each test require alignment in order to determine where combustion takes place within the turbulent boundary layer above the fuel. The process for doing this is divided into two steps, first projecting the images onto the same plane with the same scale and then aligning the images.

For our experimental setup, the OH* camera was positioned at an angle \(({\approx}10^\circ )\) Footnote 2 relative to the test section so as not to interfere with the schlieren arrangement. This produced some projection error in the OH* images. Figure 1 shows the test setup and the location of the cameras. Future work could consider the use of a beam splitter to negate the need for this correction and to remove any bias in the OH* images resulting from integrating the signal through an off-normal path; however, a suitable beam splitter was not available at the time of this work. Moreover, the use of a beam splitter would reduce the intensity of the OH* light reaching the camera.

The OH* and schlieren images are registered to one another by imaging a calibration target to reduce projection error and to ensure consistent alignment of OH* and schlieren images regardless of their scale. Before each test, a grid of dots with known horizontal and vertical spacing (5.08 and 2.54 mm, respectively) printed on transparency is mounted onto the test section. Images of this grid are acquired using both the schlieren and OH* cameras. The signal-to-noise ratio in the OH* grid is improved by taking the mean of many OH* grid images prior to analyzing them. Once the grid images are acquired, the gridpoints (the dots) are detected using a Gaussian fitting scheme originally developed by Miller (2014) that is modified for this purpose.

To locate the gridpoints in each image, the user first manually identifies the three gridpoints in the bottom left of the image. For each gridpoint, the algorithm considers a finite and specified region around the initial guess (e.g., a 10 \(\times\) 10 pixel window centered on the initial guess). Then, the maximum signal within the subregion is subtracted to create a near-zero baseline for fitting. Lastly, a six term, two-dimensional Gaussian is fit to the subregion of the form

$$\begin{aligned} Z = a_1 \exp \left( -\left( \frac{(x-x_o)^2}{2a_2^2}+\frac{(y-y_o)^2}{2a_3^2} \right) \right) +a_4 \end{aligned}$$
(2)

where \(x_o\) and \(y_o\) define the location of the Gaussian peak, \(a_2\) and \(a_3\) define the width of the Gaussian in the x and y directions, \(a_1\) defines the amplitude of the Gaussian and \(a_4\) corresponds to any DC offset. By considering each gridpoint in its own subregion, this method is robust to non-uniformly illuminated grids.

Using the initial three user approximated grid point locations, the code then: estimates the expected number of pixels between gridpoints (both in the horizontal and vertical directions), estimates a new center for the next gridpoint, re-evaluates the Gaussian in the region around this point, and finds the new center location.

This process is repeated across each row and up all columns to be evaluated. In this way, the code adjusts for any error introduced by the user in selecting the original gridpoints or any distortion to the grid introduced by the optics.

After identification of all the gridpoints, 2D cubic polynomials in x (Eq. 3) and y (Eq. 4) are fit to the location of all of the gridpoints to map the xy location in pixel space to the xy location in real space.

$$\begin{aligned} x_\mathrm{real}&= C_{x_o}+C_{x_1} x^3 + C_{x_2} x^2 + C_{x_3} x + C_{x_4} y^3 \nonumber \\&\quad+ C_{x_5} y^2 + C_{x_6} y + C_{x_7} x^2 y + C_{x_8} x y^2 + C_{x_9} x y \end{aligned}$$
(3)
$$\begin{aligned} y_\mathrm{real}&= C_{y_o}+C_{y_1} x^3 + C_{y_2} x^2 + C_{y_3} x + C_{y_4} y^3 \nonumber \\&\quad+ C_{y_5} y^2 + C_{y_6} y + C_{y_7} x^2 y + C_{y_8} x y^2 + C_{y_9} x y \end{aligned}$$
(4)

The location of the schlieren and OH* pixels in real space is then known. However, this process has not yet projected the images onto the same plane, and it has simply determined the mapping of the images to their location in real space. The schlieren and OH* images now need to be projected onto the same uniform grid in order to overlay them. A uniform grid of xy locations in real space is generated such that there is no reduction in resolution for either image. For all images presented in this paper, a uniform grid is generated such that a single pixel represents 0.1 mm in each direction. The original images are linearly interpolated onto the uniform grid. This typically scaled the images to a little over 1.5 times their initial size. With this methodology, the schlieren and OH* images are transformed to have the same scale, but in order to concurrently analyze and display them they require alignment.

The images are not able to be aligned directly by overlaying a single grid point due to the difference in the location of the gridpoints relative to the fuel grain. This difference is an artifact of projection error applied to the normal distance between the physical grid and fuel grain. An alternative alignment approach is required. Initially, cross-correlation of the two images was the intended alignment method; however, the slight distortion of the fuel grain leading edge profile in the OH* images resulting from re-projection of the image led to a very low signal-to-noise ratio in the phase correlation. Thus, a clear cross-correlation peak corresponding to the alignment of the two images was not always able to be identified. Instead, simple minimization of squared difference per pixel between the images is used in order to align them. Care is taken to only consider the overlapping region of the two images when calculating the squared difference per pixel between the images.

Following alignment, it is desirable to display the aligned schlieren and OH* images using a custom colormap to false-color the OH* images. To display grayscale schlieren images overlaid with false-color OH* images,Footnote 3 the schlieren images are converted to RGB with equal weights in all three components. This produces the desired grayscale image. The OH* images are overlaid over the schlieren image with a custom violet colormap and a transparency of 50 %. An example of the figures produced with these display properties is shown in Fig. 7. The overlaid schlieren and OH* images represent the first view of combustion within turbulent boundary layers under conditions typical of those in a hybrid rocket motor.

3.2 Feature extraction

With the schlieren and OH* images now registered to one another, routines are used to extract the growth rate of the turbulent boundary layer and the flame location within that boundary layer.

3.2.1 Fuel surface location

The fuel grain location is initially estimated from the profile of the fuel grain in the schlieren images prior to ignition. The first schlieren image is Gaussian filtered and then binarized using Otsu’s method. Following binarization, small dark regions and white holes are removed. The Canny edge detector is then applied to trace the fuel grain profile. The Canny edge detector first smooths the image with a Gaussian filter, and in this case, a standard deviation of \(\sigma = 1.1\) was used for the filtering operation. The Canny edge detector approximates gradient magnitude and angle across the image, applies non-maxima suppression to the gradient magnitude and then uses double thresholding to detect strong and weak edge pixels. All weak edge pixels not connected with strong edge pixels are rejected. Thresholds of 0.2 and 0.5 were found to be successful threshold values for the weak and strong edges, respectively. Following the application of the edge detector, the region surrounding the fuel grain is then isolated to remove undesired window edges around the periphery of the image.

The instantaneous height of the fuel grain during combustion is not able to be deduced from any of the test images; instead, it is estimated using three different methods. The first method uses the ubiquitous hybrid rocket fuel regression rate law, originally developed by Marxman and Gilbert (1963) and Marxman et al. (1963), and neglecting the minor contribution of fuel to the free-stream mass flux for this system, see Eq. 5 below.

$$\begin{aligned} \dot{r}= a_{o}G_{ox}^{n} \end{aligned}$$
(5)

The constants \(a_{o}\) and n are empirically determined constants for a given oxidizer and fuel combination. The oxidizer mass flux, \(G_{ox}\), is assumed to be constant during the burn, and any slight cross-sectional area change from the regressing fuel is neglected.

The burn time and ignition time for each test are calculated from the OH* chemiluminescence images. The average signal in every OH* chemiluminescence image is computed, normalized and plotted against time, see Fig. 5. The burn time is defined as the time that the signal is greater than 50 % of the median intensity and is listed in Table 1 for each test considered here.

Fig. 5
figure 5

Normalized mean OH* intensity per image versus time for Test 22. The time during which it is assumed that combustion is taking place is shown

The second method for estimating the instantaneous fuel grain height during the burn uses the total mass of fuel burned during the test, as listed in Table 1. This method, which calculates the fuel regression rate according to Eq. 6, assumes that the fuel burns at a constant rate following ignition and that only the fuel surface along the top of the fuel grain burns; the surface area around the sides and back of the fuel grain are neglected. By assuming that all fuel burns off the top of the fuel grain this method is expected to slightly over-predict the regression rate of the fuel surface.

$$\begin{aligned} \dot{r}= \dfrac{\Delta m_{f}}{\rho _{f}A_{b}t_{b}} \end{aligned}$$
(6)

The third method adopted for estimating the instantaneous fuel grain surface height uses the total change in height of the fuel grain during a burn, see Eq. 7. The fuel grain height is measured after each hot-fire using calipers at various points along the surface and the results are averaged to give a mean fuel grain height after each test. As in method 2, the burn rate is assumed to be constant during each test following ignition. Method 3 typically predicts a slower fuel regression rate than methods 1 and 2 but is the most accurate of the three methods adopted.

$$\begin{aligned} \dot{r}= \dfrac{\Delta h_{b}}{t_{b}} \end{aligned}$$
(7)

The estimated fuel grain location is calculated using all three methods and subtracted from the detected boundary layer edge and location of peak OH* intensity in order to calculate the height of the boundary layer and flame above the fuel surface.

3.2.2 Flame location

The flame location is quantified by looking at OH* chemiluminescence images. Hybrid rocket combustion theory assumes an infinitely thin flame sheet. Thus, the first step in quantifying the flame location involves approximating the combustion zone as a region of unit pixel thickness. The location of the flame is assumed to be the location of peak OH* intensity within each column in the vicinity of the fuel grain. In order to avoid the inclusion of noisy points far from the main flame front, each column is only included if the peak intensity exceeds a threshold of 0.05.

3.2.3 Boundary layer edge location

Detecting the boundary layer in the schlieren images proved somewhat challenging. In general, the variations in image intensity within the free-stream are less than those within the boundary layer and the boundary between these two regions can easily be identified with the naked eye. However, all attempts to use this knowledge to directly differentiate and/or threshold the image proved unsuccessful. The direct application of standard edge detectors and filters could not be applied as these methods always picked up features and gradients in the free-stream and within the boundary layer. This is an issue that has been encountered by others working with schlieren images, see Smith et al. (2012, 2014), and Smith (2013). The approach that proved successful for this work involves the adoption of the 2D bilateral filter (Tomasi and Manduchi 1998) adopted by Smith et al. (2012) and Smith (2013), as well as the use of an entropy filter (Gonzalez et al. 2004).

Fig. 6
figure 6

Effect of bilateral and entropy filters on schlieren image. The images shown are for the combustion of BP during Test 26. The original schlieren image was recorded 0.88 s after ignition commenced, when the chamber pressure was 335.9 kPa (48.7 psi). Camera settings are provided in Sect. 2. The scale of each image is approximately 17.7 cm \(\times\) 4.0 cm. a Raw schlieren image.  b Schlieren image bilateral filter. c Schlieren image entropy filter. d Schlieren image bilateral then entropy filter

Fig. 7
figure 7

Boundary layer edge (blue line), flame location (magenta dots) and original fuel grain shape (orange line) overlaid on grayscale schlieren and OH* image with 50 % transparency and custom colormap. The images shown are for the combustion of BP during Test 26. The original schlieren and OH* images were recorded 0.88 s after ignition commenced, when the chamber pressure was 335.9 kPa (48.7 psi). Camera settings are provided in Sect. 2. The scale of the image is approximately 17.7 cm \(\times\) 4.0 cm

The 2D bilateral filter is an edge preserving filter that minimizes the difference in like regions while preserving strong edges (Tomasi and Manduchi 1998). The bilateral filter applies a Gaussian kernel on the domain and range of the image, and for this work, standard deviations of \(\sigma _{d} = 4\) and \(\sigma _{r} = 0.1\) were used for the domain and range, respectively. The width of the kernel was defined to be \(w = 3\sigma _{d} + 1\). The effect of the bilateral filter on the schlieren image is shown in Fig. 6. The entropy filter is applied after bilateral filtering using a disk structuring element with a radius of three pixels. The entropy filter converts each pixel location to a value representing the statistical measure of randomness in the region around that pixel. The entropy filter is sensitive to noise and thus the application of the bilateral filter prior to applying the entropy filter is required. This can be most clearly seen by looking at the result of entropy filtering with and without bilateral filtering, Fig. 6 image (d) and (c), respectively. The output values from the entropy filter are scaled to the default range for a grayscale image, and the image is binarized using Otsu’s method. Small and medium regions less than 1000 pixels in size are then removed. The high-intensity region of the image, corresponding to the boundary layer, is eroded using a disk structuring element of radius 10 in order to counter the dilative effect of the entropy filter. The Canny edge detector is then applied using \(\sigma = 1.1\) again for the Gaussian filter along with weak and strong edge thresholds of 0.1 and 0.5, respectively. The region around the fuel grain is isolated, and small positive regions less than 500 pixels in size are again removed. The second application of small region removal is required to remove any edges that were previously connected to the window frame. This approach isolates edges around the boundary layer and the base of the fuel grain. The xy locations of this edge are found, and the upper region, corresponding to the boundary layer edge, is isolated, see Fig. 7.

The algorithm as it is described here successfully identifies the boundary layer edge for all schlieren images recorded at atmospheric chamber pressure. The addition of a choked nozzle to the combustion chamber introduces unsteadiness in the flame, making the images taken at elevated pressure more challenging to analyze. The image on which the code is demonstrated, shown in Fig. 7, is an example of the code successfully identifying the boundary layer edge at elevated chamber pressure. However, an increase in combustion chamber pressure also increases the luminosity of the flame, which can saturate large regions of the schlieren images taken at elevated pressure. This is very problematic for the edge detection algorithm and causes it to fail on occasion when applied to the elevated pressure test images, particularly for very sooty flames. Thus, the analysis of the pressurized images requires human intervention; before a particular boundary layer profile is incorporated into a mean calculation, it is visually checked and confirmed to be accurate. It is for this reason that the pressurized results presented here are calculated using a smaller number of images than the atmospheric pressure results.

4 Boundary layer height and flame location

The results for the mean boundary layer height and flame location for the atmospheric pressure tests are provided in Fig. 8. The boundary layer profile shown in Fig. 8 is seen to be very similar across all six tests. It should be noted that Test 25 did not ignite around the igniter, instead combustion commenced along the surface of the fuel grain, and the flame never quite propagated all the way upstream along the top surface of the fuel grain. For this reason, the boundary layer profile for Test 25 looks slightly different than the profile for the other 5 tests. The results of Fig. 8 indicate that at atmospheric pressure the height of the boundary layer above a combusting hydrocarbon fuel surface is not significantly affected by the choice of fuel.

Fig. 8
figure 8

Boundary layer height and flame height versus horizontal distance for various fuels at atmospheric pressure. Oxidizer flow is from left to right. The oxidizer mass flux for these tests ranges between 43.2 and 43.5 kg/m\(^{2}\) s. Each image shown is produced using 6001 consecutive images. The green and yellow lines represent the boundary layer edge. The blue and purple lines represent the flame location. Note that the location of the flame and boundary layer edge depend upon the instantaneous fuel surface location, estimated using the three equations provided at the top of the figure; thus, three lines are drawn for each of these features. The three lines are included here to provide an estimate of the margin of error of the feature location. The dark orange line is the original fuel grain shape. The region between the black vertical dashed lines, shown at horizontal locations of 40 and 70 mm, represents the region in which the flame location within the boundary layer is evaluated. a Test 18—non-blackened HTPB. b Test 19—HDPE. c Test 20—ABS. d Test 21—PMMA. e Test 22—BP. f Test 25—HTBP

Fig. 9
figure 9

Boundary layer height and flame height versus horizontal distance for PMMA and BP fuels at a range of combustion chamber pressures. Oxidizer flow is from left to right. The oxidizer mass flux for these tests ranges between 43.2 and 43.5 kg/m\(^{2}\) s. The green and yellow lines represent the boundary layer edge. The blue and purple lines represent the flame location. Note that the location of the flame and boundary layer edge depend upon the instantaneous fuel surface location, estimated using the three equations provided at the top of the figure; thus, three lines are drawn for each of these features. The three lines are included here to provide an estimate of the margin of error of the feature location. The dark orange line is the original fuel grain shape. The region between the black vertical dashed lines, shown at horizontal locations of 40 and 70 mm, represents the region in which the flame location and boundary layer height are evaluated. a Test 21—PMMA. Pav = 101.3 kPa (14.7 psi). Reav = 2.16 × 104 cm−1. N = 6001 images. b Test 22—BP. Pav = 101.3 kPa (14.7 psi). Reav = 2.16 × 104. N = 6001 images. c Test 16—PMMA. Pav = 433.3 kPa (62.9 psi). Reav = 2.15 × 104 cm−1. N = 814 images. N = 814 images. d Test 14—BP. Pav = 582.2 kPa (84.4 psi). Reav = 2.16 × 104 cm−1. N = 429 images. e Test 23—PMMA. Pav = 930.2 kPa (134.9 psi). Reav = 2.13 × 14 cm−1. MA. Pav = 433.3 kPa (62.9 psi). Reav = 2.15 × 104 cm−1. N = 814 images. d Test 14—BP. Pav = 582.2 kPa (84.4 psi). Reav = 2.16 × 104 cm−1. N = 429 images. e Test 23—PMMA. Pav = 930.2 kPa (134.9 psi). Reav = 2.13 × 104 cm−1. N = 1001 images. f Test 17—BP. Pav = 1236.9 kPa (179.4 psi). Reav = 2.10 ×104 cm−1. N = 1001 images

Figure 9 presents the results for the combustion of PMMA and BP at a range of combustion chamber pressures. We see that the increase in combustion chamber pressure above atmospheric pressure leads to an increase in boundary layer height. Note that boundary layer profiles for the tests conducted at the highest pressure for each fuel are not included in Fig. 9. There are two reasons for this; in the case of BP the height of the boundary layer often exceeded the viewing area of the combustion chamber, precluding quantitative analysis of the boundary layer height for these fuels at very high chamber pressures. This is also the explanation for the limited length of the boundary layer shown for tests at moderate pressure with these fuels. Regions where the boundary layer repeatedly moved beyond the viewing area of the combustion chamber are not plotted. Results for PMMA at the highest combustion chamber pressure are not provided as the edge detection code failed on schlieren images collected for this test. As discussed in the previous section, the edge detection code relies upon the change in texture between the free-stream and the boundary layer, with the greater level of texture existing within the boundary layer. At high combustion chamber pressures the schlieren optics detect density variations in the free-stream flow. The boundary layer edge is still discernible by a significant change in color, but much of the detailed texture within the boundary layer is no longer visible, this is shown in Fig. 2. Thus, the edge detection algorithm, which relies on the greater amount of texture within the boundary layer, fails to detect the edge of this region and typically detects edges associated with variations in the free-stream. Despite this, the increase in boundary layer height with a change in chamber pressure can be quantified for a variation from atmospheric pressure to 433.3 kPa (62.9 psi) and 582.2 kPa (84.4 psi) for the PMMA and BP tests, respectively. Evaluating the boundary layer between the vertical dotted lines shown in the images gives an increase in boundary layer height between the atmospheric and pressurized tests of 42 % for PMMA and 55 % for BP.

The location of the flame within the boundary layer is quantified using the results of Figs. 8 and 9. Note that the surface of the fore end of the fuel grain as viewed by the OH* chemiluminescence camera was obscured slightly by the side of the fuel grain as a result of the required off-axis orientation of the camera, see Fig. 1. Hence, burning along the sides of the fore end of the fuel grain often produced greater OH* chemiluminescence intensity as seen by the camera than the surface of the leading edge of the fuel grain. This is the reason for the negative flame height around the front of the fuel grains in Figs. 8 and 9. The mean flame height within the boundary layer was calculated in the region between the vertical dotted lines in these figures in order to reduce the effects of artifacts from the leading and trailing edge of the fuel grain.

At atmospheric pressure, the flame is observed to sit at a location between 29 and 50 % the height of the boundary layer. The flame location during the BP test is relatively high at 42 %, but is within the range of flame locations for classical fuels. It can be seen that at atmospheric pressure the detected flame locations are consistently greater than the original values of 10–20 % presented by Marxman et al. (1963), but within the range of values around 50 % presented by Wooldridge and Muzzy (1965).

The shift in the location of the flame above the fuel surface in absolute terms with increasing combustion chamber pressure is analyzed directly using the results shown in Fig. 9. The analysis is again restricted to the region between the dotted lines in order to avoid introducing artifacts around the leading and trailing edge of the fuel grain. It can be seen that despite the observed increase in boundary layer height with increased chamber pressure for the classical fuel PMMA, the height of the flame appears to be unchanged. The mean location of the PMMA flame at chamber pressures of 101.3 kPa (14.7 psi), 433.3 kPa (62.9 psi) and 930.2 kPa (134.9 psi) is observed to be 2.7, 2.7 and 2.5 mm, respectively. This represents a change of less than 7 % between the three tests, with a slight decrease at the highest combustion chamber pressure. The height of the flame with distance downstream also appears to be very flat for the PMMA tests. In contrast to the PMMA results, the height of the flame above the BP fuel grains can be seen to change dramatically with increasing chamber pressure, varying from a mean of 3.5 mm for the atmospheric pressure test, Test 22, to 2.6 mm at 582.2 kPa (84.4 psi) and 7.4 mm at 1236.9 kPa (179.4 psi). This represents a net increase of approximately 185 % between the moderate pressure test and the highest pressure test, i.e., the mean height of the flame more than doubled in size.

The increase in combustion chamber pressure above atmospheric pressure corresponds to a decrease in the flame height as a percentage of the boundary layer thickness. This is investigated by comparing the results of Test 14, 22 and 26 for BP and the results of Test 21 and 16 for PMMA. The flame sits at a location of 42 % the height of the boundary layer for the atmospheric pressure test (Test 22) with BP and 20 % for both elevated pressure tests, Test 14 and Test 26, with mean combustion chamber pressures of 582.2 kPa (84.4 psi) and 485.8 kPa (70.5 psi), respectively. The flame location for the atmospheric pressure test of PMMA (Test 21) sits at 33 % of the boundary layer height and at 24 % for Test 16 with a mean combustion chamber pressure of 433.3 kPa (62.9 psi).

5 Discussion

5.1 Algorithm error

The boundary layers in six schlieren images were manually traced in order to evaluate the accuracy of the boundary layer edge detection algorithm. The images were selected at random in an attempt to represent a range of fuel grains and operating conditions. In general, the edge detection code worked better for the images recorded at atmospheric chamber pressure. For these images, the standard deviation in the error was 3.6 pixels and the mean difference 2.6 pixels. The overall error for all six images had a standard deviation of 4.2 pixels with a mean error of 1.7 pixels. Thus, in general the algorithm slightly under-predicted the height of the boundary layer above the fuel grain, but this mean error of only a few pixels corresponds to a height error of less than 0.3 mm. This is less than the error in the estimated instantaneous fuel grain location for many of the tests. It should be noted that for elevated pressure images where the algorithm fails, the error is significantly larger than this. However, no images where the edge detection algorithm failed were included in the results presented in this paper and hence the error calculations also do not include these images.

The location of the flame was identified in each image as the location of peak pixel intensity within each column above a specified threshold. The mean flame location across many images was therefore calculated as the mean of these peak pixel locations, not as the location of peak intensity in the mean image. This approach was adopted to be consistent with the methodology used for determining the mean boundary layer location and to account for fuel regression when calculating the flame location. Mean images of OH* chemiluminescence were evaluated for Test 19, Test 21 and Test 22 to investigate the difference in results for the two methodologies to calculate the flame location. In all three tests, the mean difference in the flame location calculated via the two approaches was less than a pixel, corresponding to an error of less than 0.1 mm, again, much less than the error in the estimated fuel location.

5.2 OH* chemiluminescence intensity

Achieving properly exposed OH* chemiluminescence images can be a challenge when tests are limited in number and duration. Overexposure of the photocathode can damage it, and so conservative apertures and short gate times are typically used for initial tests. At the same time, sufficient signal must be collected to adequately utilize the dynamic range of the camera without saturating it. As discussed in Sect. 2, the gate times used for recording images of OH* chemiluminescence were varied for each test in order to ensure that each image was properly exposed. All fuels presented in this paper are solid hydrocarbons; however, the intensity of the light produced during each test can vary significantly. It was found that the intensity of light produced by the various fuels is roughly proportional to the fuel burn rate, \(\dot{m}_{f}\), see Fig. 10. The classical fuels tested were all observed to produce light according to Eq. 8 with an \(R^{2}\) of 0.955. The strong dependence of OH* chemiluminescence light intensity on only the burn rate of the fuel gives credence to the assumption that the combustion chemistry is similar for the various hydrocarbon fuels and combustion chamber pressures presented here.

$$\begin{aligned} I_\mathrm{classic} = 33.61 \dot{m}_{f} - 0.0096 \end{aligned}$$
(8)
Fig. 10
figure 10

Mean OH* intensity versus fuel mass loss rate

The high regression rate fuel, BP, was observed to produce less light at a given fuel mass flow rate, consistent with the notion that droplets of fuel are being expelled from the fuel surface and leaving the visible region of the combustion chamber without completely combusting. The BP fuel grains were observed to produce light according to Eq. 9 with an \(R^{2}\) of 0.998.

$$\begin{aligned} I_{{\rm high} {\dot {{\rm r}} }} = 36.47 \dot{m}_{f} - 0.0434 \end{aligned}$$
(9)

Equations 8 and 9 can be used to inform other researchers working on imaging this type of combustion. The absolute intensity of light observed is experiment and camera specific, but the relative amounts of light produced for various fuel mass flow rates can be used to adjust camera settings given one data point for a new experiment.

5.3 Damköhler number

The behavior of turbulent diffusion flames is characterized by the Reynolds number, Lewis number and the Damköhler number. The Damköhler number, Da, is the ratio of the characteristic fluid time, or convective mixing time, to the chemical time, or reaction time, of a flame, see Eq. 10. It is typically assumed that combustion within hybrid rocket motors occurs at high Damköhler number, that is, Da \(\gg\) 1 ( Zilliac and Karabeyoglu 2006). In this limit, the reaction times are sufficiently fast that mixing and diffusion limit the rate of combustion. This assumption was adopted in the classical hybrid rocket diffusion limited combustion theory developed by Marxman et al. (1963), Marxman and Gilbert (1963), Marxman (1965) and later in the model for liquefying high regression rate fuels developed by Karabeyoglu et al. (2002), Karabeyoglu and Cantwell (2002). At the other extreme, in the limit of Da \(\ll\) 1, extinction of the flame can occur as the flame residence time in this regime is much less than the reaction time.

$$\begin{aligned} Da\equiv \dfrac{\tau _\mathrm{fluid}}{\tau _\mathrm{chem}} \end{aligned}$$
(10)

The Stanford Combustion Visualization Facility is well suited to explore the effect of Damköhler number on combustion within a turbulent boundary layer. As discussed earlier, there is little variation in Reynolds number between the tests. This can be seen by comparing the free-stream unit Reynolds numbers given in Table 1. The combustion chamber pressure can be increased without altering the oxidizer mass flow rate by installing nozzles with different throat diameters. This changes the combustion chamber pressure without altering the free-stream Reynolds number significantly. For example, the unit Reynolds number for Test 21, 16 and 23 was \(2.16 \times 10^{4}\) cm\(^{-1}\), \(2.14 \times 10^{4}\) cm\(^{-1}\) and \(2.12 \times 10^{4}\) cm\(^{-1}\) , while the maximum chamber pressure for each test was 101.3 kPa (14.7 psi), 444.0 kPa (64.4 psi) and 948.3 kPa (137.5 psi), respectively. The Damköhler number is observed to vary significantly for these tests. In order to quantify this change in Damköhler number, let us define the characteristic fluid time as the ratio of the boundary layer height to the free-stream velocity, Eq. 11. The chemical time is estimated as the ratio of the free-stream density to the mass-based reaction rate, Eq. 12.

$$\begin{aligned} \tau _\mathrm{fluid}& = {} \dfrac{\delta }{U_{\infty }}\end{aligned}$$
(11)
$$\begin{aligned} \tau _\mathrm{chem} &= {} \dfrac{\rho _{\infty }}{\dot{\omega }} \end{aligned}$$
(12)

The mass-based reaction rate can in turn be approximated using the Arrhenius form for the rate constant for a global single-step reaction. Thus, the Damköhler number can be written according to Eq. 13.

$$\begin{aligned} Da = \dfrac{\delta }{U_{\infty }}\rho ^{(a+b)-1}AT^{n}\hbox {exp}{\dfrac{-E_{a}}{R_{u}T}} \left( Y_{f} \right) ^{a} \left( Y_{o} \right) ^{b} M_{f}^{1-a} M_{o}^{-b} \end{aligned}$$
(13)

Equation 13 can be used to estimate the change in Damköhler number for tests at different combustion chamber pressures, Eq. 14. Here, it is assumed that the fuel and oxidizer mass fractions are not affected by the change in pressure, the effect on adiabatic flame temperature is minor, the n exponent is 0 as adopted by Westbrook and Dryer (1981), and the ideal gas assumption is applicable.

$$\begin{aligned} \dfrac{Da_{P1}}{Da_{P0}} = \left. \dfrac{\delta }{U_{\infty }} \right| _{P1} \left. \dfrac{U_{\infty }}{\delta } \right| _{P0} \dfrac{\left. P^{(a+b)-1} \right| _{P0}}{\left. P^{(a+b)-1} \right| _{P1}} \end{aligned}$$
(14)
Fig. 11
figure 11

Image of OH* chemiluminescence of PMMA at various chamber pressures showing the effect of Damköhler number on the structure of the flame. Each image is taken 1.43 s after ignition commences. The oxidizer mass flux for these tests was 43.3 kg/m\(^{2}\)s. Camera settings are provided in Sect. 2. Images shown are normalized and displayed in a complement color map (i.e., black is large signal). The scale of each image is approximately 9.5 cm \(\times\) 4.0 cm. a Test 21: Da = Da 0. P = 101.3 kPa (14.7 psi). b Test 16: Da = 3Da 0. P = 425.6 kPa (61.7 psi). c Test 23: Da = 7Da 0. P = 929.7 kPa (134.8 psi)

The exponents a and b in Eqs. 13 and 14 are for the global oxidation reaction and are experimentally determined for a given fuel and oxidizer combination. The hydrocarbon fuels tested in the visualization experiment undergo pyrolysis prior to combustion in the gas phase. Since there are many products of the pyrolysis process, an example reaction is chosen in order to investigate the pressure dependence of the Damköhler number. In this case, values of \(a =-0.57\) and \(b = 1.22\) are selected, corresponding to the combustion of C\(_{3}\)H\(_{8}\) with oxygen (Burcat et al. 1971). Free-stream velocities are used along with the estimated mean change in boundary layer height. The increase in characteristic fluid time resulting from the large decrease in free-stream velocity dominates the increase in chemical time associated with the pressure dependence of the reaction rate, leading to a trend of increasing Damköhler number with increasing combustion chamber pressure. The resulting relative Damköhler number ratios for Test 16 and 21, and Test 23 and 21, are 3 and 7, respectively. The relative increase in Damköhler number moves the combustion closer to the limit of fast chemistry, where the flame is expected to be thin and diffusion/mixing limited. Images of the combustion of PMMA at three different chamber pressures, corresponding to three different Damköhler numbers, are provided in Fig. 11.

The results of Fig, 11 show a change in the structure of the flame with increasing Damköhler number. The flame morphology in image (a) of Fig. 11 is very smooth and homogeneous. At the relatively low Damköhler number of image (a), the flame zone is distributed, with heat release from the flame acting to smooth the flow. An increase in Damköhler number corresponds to a shift toward the limit of fast chemistry, producing a more localized reaction, and high temperature, zone. Thus, as the Damköhler number increases in image (b) and image (c), we see the range of scales within the flamesheet also increase. In image (c), the flame sheet is more heterogeneous and the morphology more textured with finer structures apparent.

6 Conclusions

In this paper, we presented schlieren and OH* chemiluminescence images of combustion in a turbulent boundary layer over solid fuel in conditions typical of a realistic hybrid rocket combustor. A range of hydrocarbon fuels, which included classical and high regression rate fuels, were tested with undiluted oxygen at chamber pressures up to 1524.2 kPa (221.1 psi). A method was developed to register the schlieren and OH* chemiluminescence images to one another, and routines for automatically locating features of interest in the images (e.g., the fuel surface, the boundary layer and the flame) were presented. The location of the flame within the boundary layer was observed to decrease with increasing combustion chamber pressure and was found to be similar for the classical and high regression rate hybrid rocket fuels. A relationship between fuel burn rate and the OH* chemiluminescence intensity was determined for both the classical and high regression rate fuels. The structure of the flame was observed to change with increasing combustion chamber pressure, corresponding to increasing Damköhler number, with finer structures becoming more apparent at higher Damköhler numbers.