Skip to content

manganite/birss-app

Repository files navigation

The Birss App

Calculates non-zero susceptibility tensor components (Electric Dipole, Magnetic Dipole, Electric Quadrupole) and induced transverse Second Harmonic Generation (SHG) source terms for all 32 crystallographic and 122 magnetic point groups.

Features

  • Calculator:
    • Automatic determination of non-zero and independent components for Electric Dipole (ED, $\chi^{(2)}$), Magnetic Dipole (MD), and Electric Quadrupole (EQ) tensors.
    • Supports Time-Reversal symmetry toggles (i-type, c-type).
    • Real-time calculation of induced nonlinear response in the Lab Frame ($S_X, S_Y, S_Z$) with incoming light propagating along the Z-axis ($E_Z = 0$).
    • Includes crystal rotation controls ($\theta_X$, $\theta_Y$) to simulate experimental setups.
  • Explorer:
    • Browse all 122 crystallographic magnetic point groups.
    • Filter by crystal system and group type (Ordinary, Gray, Black & White).
    • View symmetry operations and properties for each group.
  • Simulator:
    • Visualize expected SHG intensity polarimetry patterns.
    • Adjust crystal orientation, tensor component amplitudes, and phases to simulate parallel and crossed polarization configurations.
    • Interactive radar charts displaying SHG intensity as the analyzer angle is rotated.
    • Mathematically simplified and summarized expanded formulas using harmonic Fourier series representation (power reduction and multiple-angle formulas).
    • Smart grouping algorithm to automatically pick the most elegant representation (power vs harmonic) and minimize unnecessary minus signs.
  • Help & Documentation:
    • Comprehensive physics background, mathematics behind the intensity calculations, and usage instructions.

References

The symmetry relations and calculations presented in this app follow the conventions established in the following literature:

Tech Stack

  • Developed with Google AI Studio Build — Built, iterated, and deployed using natural language prompting.
  • React 19 + Vite
  • Tailwind CSS for styling
  • Lucide React for iconography
  • KaTeX (react-katex) for mathematical rendering
  • Recharts for radar chart visualizations
  • Framer Motion for smooth animations
  • GitHub Actions for automated deployment to GitHub Pages

Running Locally

  1. Clone the repo: git clone https://github.com/manganite/birss-app.git
  2. Install dependencies: npm install
  3. Start development server: npm run dev
  4. Build for production: npm run build

About

A simple app that gives you for certain point groups the non-zero components of the nonlinear susceptibility tensor

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages