Modeling Gold Nanosphere UV/Vis with SCUFF-EM and GMSH
Electromagnetic Modeling of Gold Nanospheres
Today I’m exploring computational electromagnetic simulation of gold nanoparticles to predict their UV/Vis absorption spectra. This connects to my previous work on gold nanorod optical profiles - but instead of using existing quantum simulation data, I’m trying to model the physics directly.
The Setup: 20nm Gold Sphere in Water
Gold nanoparticles exhibit strong surface plasmon resonance (SPR) that creates characteristic absorption peaks in the UV/Vis spectrum. For a 20nm diameter gold sphere in water, we expect:
- Peak wavelength: ~520-530 nm (green light absorption → red appearance)
- LSPR bandwidth: Depends on particle size and shape
- Water environment: Refractive index n ≈ 1.33
Tools: SCUFF-EM + GMSH
SCUFF-EM (Surface CUrrent/Field Formulation - ElectroMagnetics):
- Boundary element method for electromagnetic scattering
- Works with surface meshes (perfect for nanoparticles)
- Can compute extinction, scattering, absorption spectra
GMSH:
- Mesh generation for complex 3D geometries
- Integrates well with SCUFF-EM workflow
Geometry Definition
The sphere geometry is defined in sphere.geo:
// Sphere.geo - Creates a sphere of radius 10 nm (20 nm diameter)
SetFactory("OpenCASCADE");
// Create a sphere centered at origin (radius in nanometers)
Sphere(1) = {0, 0, 0, 10e-9};
// Set mesh characteristic length
Characteristic Length{:} = 1e-10;
// Define physical surface (for SCUFF-EM)
Physical Surface("sphere_surface") = {1};
Key considerations:
- Surface-only geometry: SCUFF-EM works with boundaries, not volumes
- Nanometer scale: 10nm radius = 20nm diameter
- Mesh resolution: 0.1nm elements for smooth curvature
Expected Physics
For a 20nm gold sphere in water, the dominant physics is:
- Mie scattering: Exact analytical solution exists for spheres
- Localized Surface Plasmon Resonance (LSPR): Collective electron oscillation
- Size effects: Small particles → broader resonances
- Environment: Water shifts resonance vs vacuum
The resonance frequency depends on:
Where is the bulk gold permittivity and is water’s refractive index.
Complete Workflow Implementation
Based on the detailed blueprint, I’ve created a complete SCUFF-EM simulation workflow:
Files
nanosphere_water.scuffgeo- SCUFF-EM geometry file defining:- Gold nanoparticle with Drude model optical properties
- Water environment with Sellmeier dispersion
- Alternative materials (silver, TiO2) commented out
generate_frequencies.py- Python script to generate angular frequencies:- UV/Vis range: 200-800 nm in 10 nm steps
- Converts wavelengths to SCUFF-EM angular frequency format
- Creates
omega_UVVis.datinput file
run_uvvis.sh- Bash script for complete simulation:- Generates frequencies and mesh automatically
- Runs
scuff-scatterwith appropriate parameters - Calculates extinction, absorption, and scattering
process_uvvis.py- Results analysis script:- Extracts cross sections from SCUFF-EM output
- Plots extinction, absorption, scattering spectra
- Calculates efficiency factors and identifies plasmon peak
- Saves data and publication-quality figures
Usage
# Run complete simulation
./run_uvvis.sh
# Process results and create plots
./process_uvvis.pyExpected Output
For a 10nm radius gold sphere in water:
- Plasmon peak: ~520-530 nm (LSPR resonance)
- Extinction dominated by absorption (small particle regime)
- Efficiency factors: Q_ext ≈ 1-3 at resonance
- Output files:
uvvis_spectrum.png,uvvis_data.txt
Physics Validation
The simulation includes:
- Drude model for gold with realistic plasma frequency and damping
- Water dispersion via Sellmeier equation
- Proper normalization for cross sections in dispersive media
- Size effects captured by full electromagnetic calculation
This provides a direct computational path from nanoparticle geometry to UV/Vis spectrum, complementing the experimental data analysis from the previous nanorod work.
Working on a simulation or measurement pipeline that is too slow to iterate on? Book Free Consultation.