ABOUT    INFO    POSTS    PEOPLE    NEWS    CONTACT    ALBUM   FACILITIES   NEWS   PROJECTS   PUBLICATIONS   RESULTS   WHITEPAPER

 

 6667     5      4      4


ABOUT

The APSYS lab is located at 001 ground floor of Annex Building in the Aerospace Engineering Department, IIT Kharagpur, India. Research on high speed propulsion, pulse jet ignition, vortex combustion, thermoacoustics, spark ignition, jet deflection, etc is being conducted experimentally and computationally. The group performs flow imaging, flow diagnostics, pressure measurements on scaled down test objects. Members have access to a super-computing facility for running computer codes like Fluent, SU2, OpenFoam etc. The Lab has a dedicated compressed air facility, a direct connect modular flow facility capable of running various aerothermodynamic studies. A team of PhD students, MTech students and Undergrad students work on various projects.



NEWS AND ANNOUNCEMENTS

APSYS Labs receives DST funding for turbulent combustion research. The funding will cover equipment procurement for pressure measurements and the purchase of specialty gases used in the tests.

 

General Information

 
post image
 

Areas of research include combustion oscillations, vortex driven flows, pulsating flows, method of characteristics, combustion sciences etc.As part of our work in high speed combustors, we are studying flame behavior, ignition, stabilization, flashback and mode transition in high speed combustors both with cavity assisted and strut assisted flame stabilization mechanisms. As part of our work on Combustion Instability prediction and control, we are also looking at vortex driven resonant combustion in Gas Turbine combustors. Active combustion control using secondary injection targeting q' oscillation tailoring are being attempted.

 
 

PEOPLE 

Instructors, Students, Collaborators, RAs, TAs etc.


Current Members


Past Members


 


POSTS FROM THIS GROUP

Posts about publications, achievement, facilites, books from this group





     154     0      0      0

     TBCC RBCC Mode switch challenges


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    TBCC vs RBCC Transition Challenges


    TBCC (Turbine-Based Combined Cycle) — Compressor-Side Issues

    1. Primary operability risk: compressor surge, stall, blade choking as inlet total temperature and pressure ratio rise; downstream back-pressure transients during bypass/isolation.

    2. Flowpath management: bypassing and isolating the compressor using doors/valves, preventing back-flow of hot high-pressure air, scheduling bleeds and variable inlet guide vanes.

    3. Thermal environment: inlet total temperatures greater than1000 K cause rapid heating, creep, oxidation, and reduced compressor life; limits time in turbine mode.

    4. Controls problem: precise timing of inlet–compressor–ram duct matching; coordination of IGVs, VSVs, bleeds, and splitter/door angles; prevention of inlet unstart during valve motion.

    5. Key mechanisms: variable-geometry inlets, splitter/rotor-stator scheduling, high-temperature isolation valves and seals, windmilling considerations during compressor spin-down.

    6. Failure signatures: inlet spike motion and unstart, distortion at compressor face, surge margin collapse, transient overspeed or torque spikes.

    7. Scheduling: transition typically between Mach 2.5 and 4, when inlet alone can provide sufficient pressure ratio and compressor becomes a drag/thermal liability.

    8. Success criterion: smooth unloading of compressor with no surge, stable inlet shock system, minimal total pressure loss, and proper isolation of hot flow.

     

    RBCC (Rocket-Based Combined Cycle) — Ejector to Ramjet/Scramjet Issues

    1. Primary operability risk: inlet or isolator unstart, combustor blowout or thermal choking during ejector-to-ram transition; difficulty matching rocket plume with entrained air.

    2. Flowpath management: phasing out rocket primaries while maintaining ramjet ignition; controlling ejector entrainment decay; isolator shock train management.

    3. Thermal environment: lower turbine-face temperature than TBCC but strong combustion-induced heat release transients in ram/scram combustor.

    4. Controls problem: throttling down or shutting off rockets while ensuring stable air capture; staging of fuel injection and ignition; isolator shock-train stabilization.

    5. Key mechanisms: rocket primaries, ejector ducts, flameholders, isolators; plasma or piloted ignition aids during low-temperature transitions.

    6. Failure signatures: loss of entrainment, isolator pressure rise, buzz, flameout, thermal choking, thrust dip during mode handoff.

    7. Scheduling: ejector-to-ramjet transition typically Mach 2–3 , ramjet-to-scramjet transition Mach 5–7 (depends on configuration and fuel).

    8. Success criterion: continuous thrust with limited dip, no inlet unstart, clean ignition in ram mode, stable isolator shock train as rocket primaries are phased out.

     

    References (Selected Open Literature)

    TBCC:

    1. Thomas, S.R., “Overview of the Turbine Based Combined Cycle Discipline,” NASA NTRS, 2009.

    2. Saunders, D., “Status of the Combined Cycle Engine Rig,” NASA NTRS, 2009.

    3. Csank, J., “A TBCC Engine Inlet Model and Controls Development for Mode Transition,” NASA NTRS, 2012.

    4. Garg, S., “Air-Breathing Propulsion Controls and Diagnostics—Transition Testing in NASA Glenn 10×10,” 2015.

    Zheng, J., “Modeling and analysis of windmilling operation during TBCC mode transition,” Aerospace Engineering Journal, 2021.

    5. Li, Z., “A review on aero-engine inlet–compressor integration and control,” Propulsion and Power Research, 2024.

    6. Physics of Fluids, “Impact of splitter rotation speed on mode transition of an over-under TBCC inlet,” 2024.

    RBCC:

    1. Olds, J., “SCCREAM: Simulated Combined-Cycle RBCC Vehicle Model,” AIAA-97-2760.

    2. Drummond, J.P., “NATO Overview: RBCC

     

    NASA  NTRS Document Link

    https://ntrs.nasa.gov/api/citations/20110012002/downloads/20110012002.pdf


     



     2876     0      0      0

     A Matlab code of how to do dynamic mode decomposition of a video sequence.


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    A Matlab code of how to do dynamic mode decomposition of a video sequence. (ChatGPT)

     

    % DMD on a Video Sequence
    clear; close all; clc;

    %% Load Video
    videoFile = 'video.mp4'; % Change to your video file
    v = VideoReader(videoFile);

    % Parameters
    resizeFactor = 0.25; % Reduce size to speed up
    numFrames = min(100, floor(v.Duration * v.FrameRate)); % Limit number of frames

    % Read and preprocess video frames
    X = [];
    for i = 1:numFrames
    frame = readFrame(v);
    grayFrame = im2double(rgb2gray(frame)); % Convert to grayscale
    grayFrame = imresize(grayFrame, resizeFactor); % Resize
    X(:,i) = grayFrame(:); % Vectorize and store as column
    end

    %% Build data matrices X1 and X2
    X1 = X(:, 1:end-1);
    X2 = X(:, 2:end);

    %% Singular Value Decomposition
    [U, S, V] = svd(X1, 'econ');

    % Choose r - number of modes
    r = 20; % Adjust based on singular value decay
    U_r = U(:, 1:r);
    S_r = S(1:r, 1:r);
    V_r = V(:, 1:r);

    %% Build A tilde
    A_tilde = U_r' * X2 * V_r / S_r;

    %% Eigen decomposition
    [W, D] = eig(A_tilde);
    Phi = X2 * V_r / S_r * W; % DMD modes

    %% Compute DMD eigenvalues and frequencies
    lambda = diag(D);
    omega = log(lambda);

    %% Compute initial amplitudes b
    x1 = X(:,1);
    b = Phi x1;

    %% Time dynamics
    time_dynamics = zeros(r, numFrames - 1);
    t = (0:numFrames-2) / v.FrameRate; % Time vector in seconds

    for i = 1:length(t)
    time_dynamics(:, i) = (b .* exp(omega * t(i)));
    end

    X_dmd = real(Phi * time_dynamics);

    %% Visualize original vs reconstructed frame
    originalFrame = reshape(X(:, 30), size(grayFrame));
    reconstructedFrame = reshape(X_dmd(:, 30), size(grayFrame));

    figure;
    subplot(1,2,1); imshow(originalFrame,[]); title('Original Frame 30');
    subplot(1,2,2); imshow(reconstructedFrame,[]); title('DMD Reconstructed Frame 30');

     

    Some prompts I used for ChatGPT

    P1. Can you give me a Matlab code for Dynamic Mode Decomposition ? The code should be nicely commented so one can understand the purpose of each section.

    P2. Modify the Matlab code to handle an array of flattened image data

    P3. For the video sequence, how many snapshots, captured at what fps will be needed to show a mode at 200 Hz and a mode at 2000 Hz?

    P4. So DMD gives the eigen modes, their amplitudes and their complex frequencies. From the complex frequencies, the real part gives the growth or decay rate and the imaginary part gives the circular frequncy. Is this interpretation correct ?

    P5. How to get the amplitude of a mode ?

    P6. Can you give an example of complex amplitude ?

    https://chatgpt.com/share/680c8535-a310-8011-a547-64fd36db1cf6


     



     2581     0      0      0

     Bychkov Limit (ChatGPT, Google AI)


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    The Bychkov limit, also known as the detonation cell size limit, is a concept in detonation physics that describes the minimum size of a detonation cell needed to sustain a propagating detonation wave. This limit is not fixed but depends on factors like the mixture composition, pressure, and tube diameter. [1, 1, 2, 2, 3, 3, 4, 4]. Detonation Cell Size: In a detonation, the reaction zone behind the shock wave propagates in a cellular structure, with each cell representing a single, self-sustaining detonation event. [1, 1, 3, 3, 5, 6]. Bychkov Limit: The Bychkov limit is a critical length scale related to the detonation cell size. It represents the minimum size of a detonation cell that can propagate a stable and sustained detonation wave. [1, 1, 2, 2, 7, 8]. Factors Affecting the Limit: [1, 2, 3, 9] (a) Mixture Composition: The type and ratio of fuel and oxidizer significantly impact the detonation cell size and thus the Bychkov limit. [1, 1, 3, 3, 9, 9] (b) Pressure: Higher pressures generally lead to smaller detonation cell sizes and a lower Bychkov limit. [1, 1, 3, 3, 9, 9, 10, 11, 12] (c) Tube Diameter: The diameter of the container or tube where the detonation is propagating can influence the minimum cell size required for sustained detonation. [1, 1, 2, 2, 3, 3].  Importance: Understanding the Bychkov limit is crucial for designing and analyzing detonation processes, predicting detonability, and mitigating the risks associated with explosions. [2, 2, 3, 3, 4, 4] (a) Experimental and Numerical Studies: The Bychkov limit and its relation to detonation cell size are extensively studied through experiments (e.g., in detonation tubes) and numerical simulations. [13, 13, 14, 14, 15, 15] (b) Examples: In experiments with hydrogen-oxygen mixtures, the Bychkov limit has been observed to be in the range of a few millimeters to several centimeters, depending on the specific conditions. [13, 13, 15, 15, 16, 16] (c) Transition to Deflagration: When the detonation cell size exceeds the Bychkov limit, the detonation wave may become unstable and transition to a deflagration (a slower, subsonic combustion process). [13, 13, 17, 17, 18, 18, 19]



     



     2658     0      0      0

     Independent Component Analysis (ICA) for a video sequence. ChatGPT


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    %Here's a MATLAB code that performs Independent Component Analysis (ICA) on a video sequence. The goal is to treat each frame as a data %vector and then extract statistically independent components from this set using ICA.

    %This is particularly useful for motion segmentation, source separation, or background subtraction tasks.

     

    % ICA on a video sequence
    clc; clear; close all;

    % Load video
    videoFile = 'your_video.mp4'; % Change to your video file
    v = VideoReader(videoFile);
    numFrames = floor(v.Duration * v.FrameRate);

    % Read first frame to get dimensions
    frame = readFrame(v);
    grayFrame = rgb2gray(frame);
    [rows, cols] = size(grayFrame);
    frameSize = rows * cols;

    % Reset video to the beginning
    v.CurrentTime = 0;

    % Construct data matrix: each column is a vectorized frame
    dataMatrix = zeros(frameSize, numFrames);
    frameCount = 0;

    while hasFrame(v)
    frame = readFrame(v);
    grayFrame = rgb2gray(frame);
    grayFrame = im2double(grayFrame); % Normalize to [0,1]
    frameCount = frameCount 1;
    dataMatrix(:, frameCount) = grayFrame(:);
    end

    % Remove mean for ICA
    X = dataMatrix - mean(dataMatrix, 2);

    % Perform ICA using FastICA
    addpath('fastica'); % Make sure FastICA is in your path (download from https://research.ics.aalto.fi/ica/fastica/)
    [icasig, A, W] = fastica(X, 'numOfIC', 10); % You can change the number of ICs

    % Display some ICs as images
    figure;
    for i = 1:9
    subplot(3,3,i);
    imagesc(reshape(icasig(i, :), [1, frameCount]));
    colormap gray; axis off;
    title(['IC ', num2str(i)]);
    end

    % You can also reshape the spatial ICs if desired
    figure;
    for i = 1:9
    subplot(3,3,i);
    imagesc(reshape(A(:, i), rows, cols));
    colormap gray; axis off;
    title(['Spatial IC ', num2str(i)]);
    end

    disp('ICA completed successfully!');

     



     



     2661     0      0      0

     Principle Component Analysis (PCA) Matlab Code (ChatGPT)


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

     

    % PCA on an image set
    clc; clear; close all;

    % Set image directory
    imageDir = 'images/'; % Change this to your image folder path
    imageFiles = dir(fullfile(imageDir, '*.png')); % Change extension if needed (e.g., .jpg, .bmp)
    numImages = length(imageFiles);

    % Read first image to get dimensions
    firstImage = imread(fullfile(imageDir, imageFiles(1).name));
    if size(firstImage, 3) == 3
    firstImage = rgb2gray(firstImage); % Convert to grayscale if RGB
    end
    [rows, cols] = size(firstImage);
    imageSize = rows * cols;

    % Create data matrix where each column is an image vector
    dataMatrix = zeros(imageSize, numImages);

    for i = 1:numImages
    img = imread(fullfile(imageDir, imageFiles(i).name));
    if size(img, 3) == 3
    img = rgb2gray(img);
    end
    img = im2double(img); % Convert to double
    dataMatrix(:, i) = img(:); % Vectorize image
    end

    % Mean normalization
    meanImage = mean(dataMatrix, 2);
    X = dataMatrix - meanImage;

    % Compute covariance matrix
    C = cov(X');

    % Eigen decomposition
    [eigVectors, eigValues] = eig(C);
    eigValues = diag(eigValues);

    % Sort eigenvalues and vectors in descending order
    [~, idx] = sort(eigValues, 'descend');
    eigVectors = eigVectors(:, idx);

    % Project data onto principal components
    k = 10; % Number of principal components to keep
    eigVectors_k = eigVectors(:, 1:k);
    projectedData = eigVectors_k' * X;

    % Reconstruct an image using top k components
    reconstructed = eigVectors_k * projectedData meanImage;

    % Show original and reconstructed images
    figure;
    subplot(1, 2, 1);
    imshow(reshape(dataMatrix(:, 1), rows, cols), []);
    title('Original Image');

    subplot(1, 2, 2);
    imshow(reshape(reconstructed(:, 1), rows, cols), []);
    title(['Reconstructed with ', num2str(k), ' PCs']);

    disp('PCA completed successfully!');



     



     2798     0      0      0

     Wavelets in Signal Processing


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    Above Image is from Arts, L.P.A., van den Broek, E.L. The fast continuous wavelet transformation (fCWT) for real-time, high-quality, noise-resistant time–frequency analysis. Nat Comput Sci 2, 47–58 (2022). https://doi.org/10.1038/s43588-021-00183-z

    How does wavelet transform differ from spectrogram when used on the same time series data ? 

    ChatGPT : Both wavelet transform and spectrograms are time-frequency analysis tools, but they differ significantly in how they analyze and represent the frequency content of time series data. Here's a breakdown of the differences:

    1. Spectrogram (based on Short-Time Fourier Transform - STFT)

    How it works:
    - Splits the signal into short, fixed-length time windows.
    - Applies the Fourier Transform to each window.
    - Gives a time vs frequency plot showing how frequency content changes over time.

    Key Characteristics:
    - Fixed time-frequency resolution: The window length is constant, so you have a trade-off:
      - Good time resolution → poor frequency resolution.
      - Good frequency resolution → poor time resolution.
    - Best for stationary or slowly varying signals.

    Analogy: Like taking snapshots of a signal using the same size lens—details get lost either in time or frequency depending on the window size.

    2. Wavelet Transform (especially Continuous Wavelet Transform - CWT)

    How it works:
    - Decomposes the signal using scaled and shifted versions of a wavelet (a small waveform).
    - Automatically adjusts the resolution:
      - High frequencies → short time windows (good time resolution, poor frequency resolution).
      - Low frequencies → long time windows (good frequency resolution, poor time resolution).

    Key Characteristics:
    - Multi-resolution analysis: Adapts to different scales.
    - Better suited for non-stationary or transient signals.
    - Captures short-lived features like bursts, edges, or spikes better than STFT.

    Analogy: Like zooming in and out on a signal with a flexible lens—details appear at multiple scales.

    Comparison Table

    | Feature | Spectrogram (STFT) | Wavelet Transform (CWT) |
    |--------|---------------------|-------------------------|
    | Resolution | Fixed | Adaptive (multi-resolution) |
    | Time-Frequency Tradeoff | Yes (fixed window) | No (scale-dependent) |
    | Frequency Analysis | Global (within each window) | Localized (scale-wise) |
    | Best for | Stationary signals | Non-stationary/transient signals |
    | Window Function | Fixed (e.g., Hamming, Hann) | Wavelet (e.g., Morlet, Mexican Hat) |
    | Output | Time-Frequency plot | Time-Scale plot (can be converted to frequency) |

     In Practice


    - Spectrograms are simpler and computationally cheaper, good for general overview.
    - Wavelet transforms give richer detail and are often used in applications like:
      - Biomedical signal analysis (e.g., ECG, EEG)
      - Seismic analysis
      - Fault detection in mechanical systems

    If you're working with signals where the frequency content changes quickly (like engine vibrations, fault signatures, or speech), wavelets often reveal more subtle features than spectrograms.

    https://www.nature.com/articles/s43588-021-00183-z


     



     4117     0      0      0

     Insights into flame flashback phenomenon utilizing a Strut-Cavity flame holder inside scramjet combustor


    Pranay Singeetham  #Advanced Propulsion Systems (APSYS) Lab @Amardip Ghosh

    Understanding upstream flame propagation in scramjets is challenging, particularly concerning flame flashback in a combustor with a novel strut-cavity flame holder. Two-dimensional unsteady Reynolds-averaged Navier–Stokes (URANS) simulations were performed to investigate how Mach number and wall divergence affect flame behavior. The utility of the strut-cavity flame holder was highlighted through a study of its non-reacting flow characteristics. Flow dynamics are significantly altered as the shear layer above the cavity interacts with the downstream hydrogen jet. Shear layer dynamics and fuel-air mixing are improved through key factors such as shock-train behavior, cavity oscillations, and transverse fuel injection. The submerged fuel jet is less exposed to supersonic flow and demonstrates reduced entropy rise, achieving a 16% increase in mixing efficiency compared to standalone struts and a 46% improvement over transverse injection without a flame holder. Thermal choking shifts the shock train upstream, facilitating interactions with the shear layer and enhancing vortex formation, which decreases flow speed and promotes upstream flame propagation. The presence of OH radicals indicates that flame flashback follows a periodic pattern with an initial gradual slope, suggesting effective anchoring. Stability and flashback likelihood are affected by low-speed zones, vortex merging, and wall divergence. At Mach 3, combustion efficiency improves without wall divergence due to increased heat release, while wall divergence prevents flame flashback by sustaining supersonic core flow and managing flow-flame interactions. At higher core flow velocities, flame stabilization occurs at the cavity's separation corner, despite a tendency for upstream propagation, with validation of the URANS results achieved through two-dimensional large eddy simulations.

    https://doi.org/10.1063/5.0236832


     



     7940     1      1      1

     SCRAMJET Test Rig Instrumentation


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    The rig is being instrumentated for transitioning from cold flow supersonic mixing studies to reacting flow mode transition studies.

    Attachments

    1. Minwook Chan PhD Thesis
    2. PhD Thesis


     



     6890     4      3      3

     Thermodynamics and Aerospace Propulsion Systems Class


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    Aerodynamics, Thermodynamics, Heat Transfer and Combustion Chemistry. The building blocks of propusion systems. While feedback control is also an integral part, courses like these primarily cover the mechanical aspects of propulsion systems.

    https://www.youtube.com/watch?v=W7ppd_RY-UE


     



     9017     2      2      2

     Ex-ISRO Chairman visits APSYS Labs


    Amardip Ghosh  #Advanced Propulsion Systems (APSYS) Lab

    Dr. Koppillil Radhakrishnan visited APSYS lab in January 2023 as a part of a visit to IIT Kharagpur India. Dr. Radhakrishnan is an Indian space scientist who headed the Indian Space Research Organisation between November 2009 and December 2014 as Chairman of Space Commission, Secretary of the Department of Space and Chairman of ISRO.

    https://en.wikipedia.org/wiki/K._Radhakrishnan


     


     
     
 

Flame oscillations under certain flow and equivalence ratio conditions can be controlled using open loop and closed loop controls. Different flame shapes, lift off characteristics can be observed, along with periodic behavious in flame anchoring location. Flame heat release modulations, anchoring, oscillations suppression using acoustic forcing and the effect of resonant burning on NOx emission are important topics of research being addressed.

...

Flame Dynamics and Its Control

 

ALBUM 

2 Images in this album

album image
 

Amazing 😊👍🏻......

 

RECENT POSTS

Posts arranged recent first

Flow Diagnostics Tools - Schlieren
Flame flashback in supersonic flowfields
Setup alignment #zero to hero
Ex-ISRO Chairman visits APSYS Labs
BTP and MTP Project Topics - 2023 Batch
Flame Dynamics and Its Control
Heat Release Distribution
Thermodynamics and Aerospace Propulsion Systems Class
SCRAMJET Test Rig Instrumentation
Effect of Wall Divergence on the Flow Field Inside a Scramjet Engine
Showcase Our Work to ISRO Chairman S. Somanath and Dr. V. Narayanan
Teacher\'s day celebration 2024 in APSYS Lab
Instability of isolator shocks to fuel flow rate modulations in a strut-stabilised scramjet combustor
Research Areas
Insights into flame flashback phenomenon utilizing a Strut-Cavity flame holder inside scramjet combustor
Wavelets in Signal Processing
A Matlab code of how to do dynamic mode decomposition of a video sequence.
Principle Component Analysis (PCA) Matlab Code (ChatGPT)
Independent Component Analysis (ICA) for a video sequence. ChatGPT
Bychkov Limit (ChatGPT, Google AI)
TBCC RBCC Mode switch challenges

CONTACT Advanced Propulsion Systems (APSYS) Lab

Emails through this form are monitored for spam