Skip to content

Ellipsometry

Ellipsometry is a non-destructive optical technique for measuring film thickness, refractive index, and optical constants. It's particularly powerful for thin film characterization and in-situ growth monitoring.

Overview

This schema package defines:

  • DTUEllipsometryMeasurement - Ellipsometry measurements with angular/spectroscopic data, optical models, and fitted parameters

Ellipsometry measurements extend BaseMeasurement, providing:

  • Links to measured samples and instrument
  • Measurement configuration (spectroscopic, angle-resolved, time-resolved)
  • Raw ellipsometry data (Ψ, Δ vs. wavelength/angle)
  • Optical models (layers, materials, roughness)
  • Fitted parameters (thickness, refractive index, extinction coefficient)

Typical Usage

  1. Select samples: Reference samples to measure
  2. Configure measurement: Wavelength range, angles, polarizer/analyzer settings
  3. Measure Ψ and Δ: Raw ellipsometry parameters vs. wavelength and/or angle
  4. Build optical model: Layer stack with materials and approximate thicknesses
  5. Fit model: Optimize parameters to match measured data
  6. Extract results: Film thickness, n & k (refractive index and extinction), roughness

What Ellipsometry Tells You

  • Film thickness: Accurate to ~0.1 nm for single layers
  • Refractive index (n): Real part of optical constant
  • Extinction coefficient (k): Imaginary part, related to absorption
  • Optical bandgap: From absorption onset
  • Surface roughness: Interface quality
  • Layer structure: Multi-layer stacks with individual thicknesses

Ellipsometry Basics

Ellipsometry measures changes in polarization upon reflection:

  • Ψ (psi): Amplitude ratio between p and s polarizations
  • Δ (delta): Phase difference between p and s polarizations
  • These relate to sample optical properties through Fresnel equations
  • Modeling required: No direct inversion from Ψ,Δ to thickness/n/k

Key Parameters

  • Wavelength range: UV-Vis-NIR (typically 200-1000 nm)
  • Angle of incidence: Multiple angles improve sensitivity (e.g., 65°, 70°, 75°)
  • Spot size: Spatial resolution (typically few mm)
  • Optical model: Layer materials, thicknesses, roughness, grading

Ellipsometry for Thin Films

Ideal for:

  • Single and multi-layer films: Thickness determination
  • Transparent films: Refractive index without absorption
  • Semiconductors: Bandgap from absorption edge
  • Metals: Optical constants for plasmonic applications
  • In-situ monitoring: Real-time growth/etching

Schema Documentation

DTUDeltaPsi

description: Delta and Psi values for a specific angle of incidence. This class stores the raw ellipsometric parameters (Psi and Delta) as a function of wavelength for a specific angle of incidence. These are the fundamental measured quantities in spectroscopic ellipsometry before modeling.

inherits from: nomad.datamodel.data.ArchiveSection

properties:

name type
angle_of_incidence float64 The angle of incidence for this measurement
unit=degree
wavelength float64 The wavelength values in nm
shape=['*'], unit=nanometer
psi float64 The Psi angle in degrees. Psi is related to the amplitude ratio of p- and s-polarized light upon reflection.
shape=['*'], unit=degree
psi_error float64 The standard error in Psi measurements
shape=['*'], unit=degree
delta float64 The Delta angle in degrees. Delta is the phase difference between p- and s-polarized light upon reflection.
shape=['*'], unit=degree
delta_error float64 The standard error in Delta measurements
shape=['*'], unit=degree

EllipsometryMappingResult

description: Results from a single ellipsometry measurement position. This class stores the optical constants (n, k), film properties (thickness, roughness), and fit parameters (MSE, dielectric constants) for one spatial position in an ellipsometry mapping measurement.

inherits from: nomad_measurements.mapping.schema.MappingResult

properties:

name type
position str The position of the ellipsometry measurement
thickness float64 The layer thickness at this position
unit=meter
roughness float64 The surface roughness at this position
unit=meter
mse float64 The Mean Squared Error (MSE) of the fit, a measure of the goodness-of-fit between the model and experimental data
epsilon_inf float64 The high-frequency dielectric constant (epon)), representing thematerial's relative permittivity at optical frequencies
ir_pole_amp float64 The infrared pole amplitude, representing the strength of theinfrared oscillator in the dielectric function model
bandgap float64 The optical bandgap energy extracted from the fit.
unit=electron_volt
carrier_concentration float64 The fitted carrier concentration.
unit=1 / centimeter ** 3
mobility float64 The fitted carrier mobility.
unit=centimeter ** 2 / second / volt
wavelength float64 The wavelength values in nm
shape=['*'], unit=nanometer
n float64 The refractive index n
shape=['*']
k float64 The extinction coefficient k
shape=['*']
delta_psi DTUDeltaPsi The delta and psi values for each angle of incidence, stored as repeated subsections (one per angle).
sub-section, repeats

normalization:

The normalizer for the EllipsometryMappingResult class.

Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.

DTUEllipsometryMeasurement

description: Main schema for spectroscopic ellipsometry measurements. This class represents a complete ellipsometry measurement session, which may include data from multiple spatial positions. It handles data import from J.A. Woollam CompleteEASE export files and creates interactive visualizations of optical constants, thickness maps, and roughness maps.

The measurement data is imported from two types of exported text files: 1. n_and_k_file: Contains wavelength-dependent optical constants for each position 2. thickness_file: Contains film thickness, roughness, and fit parameters

The class automatically: - Parses the exported data files - Matches data from different files by spatial position - Creates interactive Plotly visualizations (1D line plots or 2D heatmaps) - Links to the sample being measured

inherits from: nomad_dtu_nanolab_plugin.schema_packages.basesections.DtuNanolabMeasurement, nomad.datamodel.metainfo.plot.PlotSection, nomad.datamodel.data.EntryData

properties:

name type
native_file str
native_data_file str
tabulated_data_file str
n_and_k_file str The exported n and k text file from the CompleteEASE softwarefrom Woolam, containing wavelength, n, and k values for each position(see https://dtu-nanolab-materials-discovery.github.io/nomad-dtu-nanolab-plugin/for details on the data export procedure)
thickness_file str The exported thickness text file from the CompleteEASE softwarefrom Woolam, containing thickness and other parameters for each position(see https://dtu-nanolab-materials-discovery.github.io/nomad-dtu-nanolab-plugin/for details on the data export procedure)
effective_carrier_mass float64 The effective carrier mass in units of the electron rest mass (m*/m0), entered manually by the user.
results EllipsometryMappingResult The ellipsometry results.
sub-section, repeats
sample_alignment nomad_measurements.mapping.schema.RectangularSampleAlignment The alignment of the sample.
sub-section

normalization:

Normalize and process the ellipsometry measurement data.

This method is called automatically by NOMAD during data ingestion. It: 1. Links the measurement to the sample being measured 2. Reads and parses the exported data files (if not already processed) 3. Generates interactive visualizations

Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger for debugging and info messages.