From Spectrum to Color: Using Modeling to Understand How Red Glass Is Made

December 9, 2024

In this blog post, we explore how a transmission or absorption spectrum can be converted into a color perceived by the human eye or displayed on a computer screen. The conversions are showcased here with an interesting example of gold nanoparticles dispersed into glass to make it red.

How Glass Is Colored

In optics we often encounter transmission, reflection, and absorption spectra, but most of the time we do not pay attention to how a material with a given spectrum would appear to our eyes. However, we must consider the visual appearance of a material when working with coloring and dyes.

Considering the searing temperatures required when working with glass, organic dyes used in the plastics industry cannot be used for glass coloring, as such dyes cannot withstand that level of heat. There are two primary approaches used for obtaining clear glass with a homogenous tint (though there are many additional approaches for producing opaque or opalescent glasses as well as for achieving color via coatings). These two approaches are:

  • Dissolving metal ions with absorption bands in the visible range into the glass (e.g.: iron (II) ions result in shades of green)
  • Striking, i.e., dispersing nanoparticles into the glass, which scatter and/or absorb strongly in the visible range

The first approach is far simpler, but as it happens, there are no suitably stable metal ions that absorb green light (which would give rise to a red tint), so red hues must be produced by striking. Striking glasses are generally produced by first dissolving a substance — metal, for example — into the molten glass and then allowing the substance to precipitate into nanoparticles of a desired size by carefully designed heat treatments. Since scattering and absorption depend strongly on particle size (and shape), as we will see below, the hue can be tuned to some degree by adjusting the heat treatments.

A cranberry-red glass bowl.
A bowl made from cranberry-red glass, also known as simply “cranberry glass”. Photo by PetitPoulailler, licensed under CC BY 2.0, via Wikimedia Commons.

To obtain red striking glass, the most common approach today is to precipitate nanoparticles of selenium with cadmium (known as “selenium ruby glass”), but historically, the only known approach was to use elemental gold. In the following sections, we use the COMSOL Multiphysics® software to investigate how the radius of gold nanoparticles affects the hue of the resulting striking glass.

Obtaining a Spectrum from Scattering Calculations

The Wave Optics Module, an add-on to COMSOL Multiphysics®, is perfectly suited for investigating how the transmission spectrum of a gold nanoparticle striking glass depends on the size of the particles. In fact, we can obtain the transmission spectrum by making a few straightforward modifications to the Optical Scattering off a Gold Nanosphere tutorial model. After setting the refractive index of the domains surrounding the particle to that of glass, we need to define the variables required to obtain the transmission spectrum. First we calculate the scattering and absorption cross sections,

\sigma_\textrm{sca}= \frac{1}{I_0} \iint \mathbf{S}_\mathrm{sca} \cdot \mathrm{d} \mathbf{S}

and

\sigma_\textrm{abs}= \frac{1}{I_0} \iiint Q \, \mathrm{d} V,

 

and their sum, the extinction cross section \sigma _\mathrm{ext} = \sigma _\mathrm{sca}+\sigma _\mathrm{abs}, which corresponds to the total attenuation upon transmission. In the above equations, I_0 is the incident intensity, \mathbf{S}_\mathrm{sca} is the Poynting vector of the scattered field, and Q is the dissipation power density. The two integrals are taken over the particle surface and volume, respectively. These calculations can conveniently be implemented by adding the Cross Section Calculation feature introduced in COMSOL Multiphysics® version 6.3, which makes the three scattering cross sections defined above available as predefined variables.

The COMSOL Multiphysics UI showing the Model Builder with the Cross Section Calculation node highlighted and the corresponding Settings window with the Domain Selection, Equation, and Cross Section Calculation sections expanded.
The Cross Section Calculation feature handles all of the settings needed for computing the cross sections.

The final steps are to set up a sweep with respect to the particle radius and the wavelength and to plot the results. The extinction cross section is shown in the plot below.

A graph showing the extinction cross section of gold nanoparticles dispersed into glass with a range of particle radii.
The extinction cross section of gold (Au) nanoparticles dispersed into glass for a range of particle radii.

From the results we can see that the overall effect is stronger the larger the nanoparticles are. However, making the particles bigger requires more gold, and we are interested in getting the most intense color with the least amount of gold. To this end, we normalize the results by computing the attenuation coefficient (also known as the “optical density”) \alpha _\mathrm{ext}:

\alpha _\mathrm{ext} = \frac{c_\mathrm{Au}}{m_0} \sigma _\mathrm{ext}= \frac{c_\mathrm{Au}}{\frac{4}{3}\pi r_0^3\rho _\mathrm{Au}} \sigma _\mathrm{ext}.

 
Here, c_\mathrm{Au}, m_0, and r_0 are the mass density of Au, the nanoparticle mass, and the nanoparticle radius, respectively. Finally, we obtain the transmittance as a function of wavelength — that is, the transmission spectrum — from the definition of \alpha _\mathrm{ext}:

T(\lambda)=e^{-\alpha _\mathrm{ext}(\lambda)d_0},

 
where d_0 is the thickness of the sample. As can be seen in the figure below, there is an optimum: the most intense color is obtained for particle radii around 25 nm.

A graph showing the transmittance of 1-cm-thick glass, with T (1) on the y-axis and Wavelength (nm) on the x-axis.
Transmittance of 1-cm-thick glass with dispersed Au nanoparticles of various radii at a Au mass concentration of 0.02 g/L.

Converting Transmission Spectra to Color

If we had samples of glass exhibiting the transmission spectra shown in the figure above, what colors would they appear to have? To answer this question, we need to compute the tristimulus values of the spectra; this is, in essence, a standardized way to quantify the response of each of the three types of cone cells of the human eye to an arbitrary transmission spectrum. The values are as follows:

\displaystyle{
X = \frac{1}{N} \int\limits_{380\, \mathrm{nm}}^{780\, \mathrm{nm}} T(\lambda) I(\lambda) \bar{x}(\lambda)\mathrm{d}\lambda,}\\

 

\displaystyle{
Y = \frac{1}{N} \int\limits_{380\, \mathrm{nm}}^{780\, \mathrm{nm}} T(\lambda) I(\lambda) \bar{y}(\lambda)\mathrm{d}\lambda,}\\

 

\displaystyle{
Z = \frac{1}{N} \int\limits_{380\, \mathrm{nm}}^{780\, \mathrm{nm}} T(\lambda) I(\lambda) \bar{z}(\lambda)\mathrm{d}\lambda ,}

 

where I(\lambda) is the background spectrum (here we chose to use the CIE standard illuminant D65, which corresponds to daylight) and \bar{x}(\lambda), \bar{y}(\lambda), and \bar{z}(\lambda) are the CIE color matching functions for the different cone cell types. Here, the normalization is defined as

\displaystyle{
N = \int\limits_{380\, \mathrm{nm}}^{780\, \mathrm{nm}} I(\lambda) \bar{y}(\lambda)\mathrm{d}\lambda}.

 

Plots of the color matching functions and the illuminant are shown below.

Plots showing standard illuminant D65 (left) and the three color matching functions (right).

Finally, if we wish to display the colors on a computer screen, we need to convert the tristimulus values to sRGB values, which can be achieved by the following linear transformation:

\begin{bmatrix}
R \\
G \\
B
\end{bmatrix}
=
\begin{bmatrix}
+3.2406 & -1.5372 & -0.4986 \\
-0.9689 & +1.8758 &+0.0415 \\
+0.0557 & -0.2040 & +1.0570
\end{bmatrix}
\begin{bmatrix}
X \\
Y \\
Z
\end{bmatrix}

 

combined with the nonlinear gamma correction

C_\gamma =
\begin{cases}
12.92C, & C\leq 0.0031308 \\
1.055C^{1/2.4}, & C>0.0031308,
\end{cases}

 

where C stands for X, Y, or Z. The figure below shows a 3D rendering of glass samples with the colors extracted from the above spectra.

3D renderings of 10 glass samples, with five samples shown on the top and five shown on the bottom. In the top row, the models on the leftmost side are pink and the models on the rightmost side are a purplish pink. In the bottom row, the models on the leftmost side are purple and the models on the rightmost side are blue.
3D rendering of glass samples.

Additionally, as a finishing touch to our model, let’s change the plot color of each spectrum to the color that spectrum translates into. We can use a simple Java method in the Application Builder to streamline the process. The final results can be seen in the figure below. Here, we see that the color of our gold striking glass can indeed be modified by tuning the size of the gold nanoparticles: smaller particles attenuate green wavelengths giving the glass a red hue, while increasing the particle size shifts the attenuation toward orange wavelengths resulting in a glass with a blue hue.

A graph showing the attenuation of the particles, with A(λ) on the y-axis and λ (nm) on the x-axis.

Final Thoughts

Through the case study of gold nanoparticles dispersed into glass to make it red, we have seen how to obtain a transmission spectrum from a standard scattering calculation and then convert it to an RGB color that can be represented on a computer screen.

To gain hands-on experience with the model discussed in this blog post, click the button below.

Further Learning

Want to learn more about optical scattering and the transmission spectrum? Then check out these resources:

 

Oracle and Java are registered trademarks of Oracle and/or its affiliates.


Comments (0)

Leave a Comment
Log In | Registration
Loading...
EXPLORE COMSOL BLOG