The Virtual FTMW Spectrometer (FTMW-SIS) is a web-based educational tool designed to simulate the operation of a Fourier Transform Microwave (FTMW) spectrometer. Developed for academic use, this simulator enables students to explore rotational spectroscopy principles, generate molecular spectra, and interact with a virtual FTMW instrument, providing hands-on learning without physical hardware. The code base is based off of The Virtual FTIR web application found here (https://ftir.rastonlab.org/).
This project uses React for the frontend and Flask for the backend. The backend is located in a separate repository.
Information on how to run the front-end can be found in the repository's wiki page.
The intended audience for this application is undergraduate chemistry students studying spectroscopy. The following screenshots are not exhaustive but acknowledge most of the main features:
- Experimental Setup (Shows the spectrometer’s physical setup, including the vacuum chamber, molecular beam source, and microwave source)
- Instrument Window (top-down view of simplified spectrometer)
- Schematic Window (Displays a block diagram of the FTMW spectrometer with clickable components to learn their functions)
- Spectrum Window (Plots the generated rotational spectrum)
- Find Peaks (Highlights spectral peaks in a table or plot, allowing analysis of rotational transitions)
To use the simulator:
- Access the interface at
http://localhost:3000
. - Set parameters (e.g., molecule, frequency range, pulse widths) in the Experiment Setup tab.
- Explore the Schematic tab to learn about the spectrometer’s components.
- Generate a spectrum in the Spectrum tab and analyze results in the Find Peaks tab.
See LICENSE
Relevant third-party tools and resources we depend on:
-
GitHub Pages Deploy Action: GitHub Action used to automate deployment of web applications to GitHub Pages (Licensed MIT)
-
Plotly.js: JavaScript data visualization library (Licensed MIT)
-
React: JavaScript library for building user interfaces (Licensed MIT)
-
React CSV: React components to build CSV files on the fly (Licensed MIT)
-
React Router: Declarative routing for React (Licensed MIT)
-
React to Print: React components for printing in the browser (Licensed MIT)
-
Redux Toolkit: Library for updating and managing application state (Licensed MIT)
-
SVGR: Tool for transforming SVGs into React components (Licensed MIT)
-
React-Window: Lightweight and efficient windowing library for rendering large lists and tabular data (Licensed MIT)
Inspiration from:
- Raston Lab's FTIR: Used as a base for FTMW simulator (Licensed MIT)