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¶
- Select samples: Reference samples to measure
- Configure measurement: Wavelength range, angles, polarizer/analyzer settings
- Measure Ψ and Δ: Raw ellipsometry parameters vs. wavelength and/or angle
- Build optical model: Layer stack with materials and approximate thicknesses
- Fit model: Optimize parameters to match measured data
- 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
Related Schemas¶
- Measured samples: Samples from Sputtering, Thermal Evaporation
- Instrument: DTUInstrument (spectroscopic ellipsometer)
- Complementary: PL for bandgap, XRD for structure
- Analysis: Jupyter Analysis for advanced fitting, parameter extraction
Schema Documentation¶
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 (ε∞), 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 |
| wavelength | float64 |
The wavelength values in nm shape= ['*'], unit=nanometer |
| n | float64 |
The refractive index n shape= ['*'] |
| k | float64 |
The extinction coefficient k shape= ['*'] |
normalization:
The normalizer for the EllipsometryMappingResult class.
Args: archive (EntryArchive): The archive containing the section that is being normalized. logger (BoundLogger): A structlog logger.
EllipsometryMetadata¶
inherits from: nomad.datamodel.data.EntryData
normalization:
Normalizer for the EllipsometryMetadata 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 |
|
| 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) |
| metadata | EllipsometryMetadata |
The metadata of the ellipsometry measurement sub-section |
| results | EllipsometryMappingResult |
The ellipsometry results. sub-section, repeats |
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.