Getting Started with ♯SHAARP.ml

Open and initialize the ♯SHAARP.ml.nb on your computer

Try preset demos

Set Materials Properties

  • Click “Set Materials Properties” in the “Functionality” tab.
  • The default wavelength is 0.8 \mum.
  • On the left-hand panel (LHP), scroll down to “Case Studies”.
  • Click on LiNbO3 (1120). All the parameters will be autofilled for this case.
  • At the top R.H. corner, click “Update" to update your input setting. (Please be patient, it may take a few seconds; Watch the progress bar on the top to track when the calculation is done.)

Materials Selection

  • The default number of materials is 3, forming air/LiNbO3/air slab. Leave it as 3 for now.
  • You can select the material to edit the material properties. All the properties below correspond to the material you select in the “Select the Material to Edit
  • You can also click material 1 or 3 to view the properties of air.

Note

The analytical h cannot be used in the SHG Simulation.

Note

Note that for the “LiNbO3 (1120) MTI X-cut” case, Z_3 is parallel to L_1 in 3D Probing Geometry plot.

Note

Note that Z_3 is now parallel to L_2 in the 3D Probing Geometry plot.

**Now you have finished the tutorial on the orientations. Detailed discussions about various coordinate systems and orientations can be found in coordinate systems.

Note

These tensors are property tensors specified in the crystal physics coordinates and do not need to be changed when changing the crystal orientation.

Note

Please make sure refractive indices or dielectric tensors are updated after changing the wavelength.

Note

Note, use capital I to represent the imaginary part in Mathematica.

  • Now the polar plots are updated with a real refractive index tensor at \omega but a complex refractive tensor at 2\omega. Next, try making the dielectric tensor at \omega to be complex as well.

SHG Tensor (dijk)

  • Based on the point group symmetry you have selected in the “Crystal Structure”, the nonvanishing terms in the SHG tensor can be uniquely determined and provided in the Voigt notation1.
  • The default setting for the “LiNbO3 (1120)” provides the nonlinear coefficients of LiNbO3 measured using the fundamental wavelength at 800 nm. You can try to change those values and press “Update” to evaluate the influence on the SHG polar plots.

Now you have finished a quick tutorial on the input panels and performing the SHG simulation. ♯SHAARP not only provides simulations of the polarized SHG response, but also features in generating analytical expressions for fitting experimentally polar plots for determining nonlinear SHG coefficients and the crystal symmetry.

Now you have successfully set up your materials configurations for your SHG analysis. You can view your materials configurations in the output panel shown at the right.

SHG Simulation

  • In the “Functionality”, select “SHG Simulation”. Leave the other LHP settings in their default settings.
  • At the top R.H. corner, click “Update". (Please be patient, it may take a few seconds; Watch the progress bar on the top to track when the calculation is done.)

Once the running is complete, now you have obtained the simulated polarization-resolved SHG response.

  • The first two rows in the output panel, ♯SHAARP.ml present (1) the wave propagations in the heterostructure, (2) incident wave vectors in the lab coordinate, (3) ellipticity of incident fundamental waves at \omega, reflected and transmitted waves at 2\omega, (4) polarization setting of both fundamental and SHG waves.
  • The third and fourth rows, summarize reflected and transmitted SHG polarimetry, respectively. Two polar plots are shown, namely, (I^{2\omega}(\varphi,\psi), and I^{2\omega}(\varphi,\psi+\pi/2)), where \varphi is the incident polarization direction and \psi is the SHG analyzer direction.
  • Placing the cursor on the polar plots, and you can view a detailed description of the plots.

Now you have obtained your first SHG numerical simulation of the LiNbO3 (1120) single crystal. Next, let’s explore various settings for SHG simulations.

Calculation Control

  • Check "Generate Fresnel Coefficients Plot" and "Generate Maker Fringes Plot"
  • A new control panel will show up for "Generate Maker Fringes Plot", which contains the range of incident angles, incident polarization and output polarization. But nothing needs to be modified for now.
  • Click “Update"
  • The new plots are Fresnel Transmittance and Reflectance, and Maker fringes plot with SHG polarization parallel and perpendicular to the analyzer setting.
  • Note: The previous simulation results can still be accessed by clicking arrows at left to the Figures name, such as "Polar Plots"

Now you have obtained your first Fresnel plot and Maker fringes plots of the LiNbO3 (1120) single crystal. Next, let’s explore various polarization settings for SHG simulations.

Polarization Settings

  • The definition of the incident polarization (at frequency \omega) is given as E=(E_p,E_s)=E_0(\cos\varphi, \sin\psi e^{i\Delta\delta} ), where E_p and E_s are the p and s polarization components that are, respectively, parallel to and perpendicular to the PoI. The PoI is a plane formed by the incident wavevector, \pmb{k}^{\omega}, and the normal to the crystal surface. The polarization of the SHG wave at frequency 2\omega is measured using a linear polarizer at an angle \psi, where \psi=0^o and 90^o corresponds to the p-polarized and s-polarized SHG light, respectively.
  • In the “Polarimetry Settings”, you can vary
    1. the incident angle (\theta^i, in the range between 0-90^o),
    2. the incident (\omega) polarization direction (\varphi)
    3. output (2\omega) polarization direction (\psi), and
    4. the ellipticity of incident wave (\Delta\delta)
  • In the “Incident Angle θi(o)”, set incident angle (at frequency \omega)  to 0^o, and press “Update” to evaluate the changes. In the first row on the RHP, the polarized SHG response will change. The change of incident angle will also be revealed in the “Probing Geometry” plot in the first row of the RHP.
  • Now set the “Output SHG Polarization” to “Fix Analyzer”. A “Fixed Analyzer Angle” option will appear, allowing you to select a specific output polarization direction. Keep the angle at 0^o for now (corresponding to p-polarization), and click “Update”. The SHG polar plots will change accordingly, and you can view the change to the polarization setting in the Polarization Relations plot in the second row of the RHP.
  • Now click “3D Schematic” under the "Functionality" tab and then “Update”. The 3D Schematic option allows you to visualize the Probing Geometry and Polarization Relations in 3D, and you can change the view direction by dragging the plots.
  • You can also change the incident polarization. Try playing with the polarization settings and press “Update” to generate new plots.

Now you have some experience in setting up the polarization conditions for both fundamental and the SHG waves, in viewing your polarization settings using Probing Geometry and Polarization Relations plots, and generating different SHG polarimetry plots. Next, we will play with the crystal settings.

Partial Analytical Expressions/ Full Analytical Expressions

Partial analytical expressions generate analytical expressions with only SHG coefficients as the unknown variables, providing a reliable way to experimentally determine SHG coefficients by fitting these expressions to the experimental polar plots. In this function, the numerical values of linear optical tensors, orientation, and the incident angle will be provided by the user and assumed to be known while the unknown SHG coefficients are left as variables. On the other hand, the Full analytical expressions provide the complete variables-based analytical expressions where the linear and nonlinear optical properties, as well as the various polarization and incidence angles of measurement are assumed to be variables. This method will provide a comprehensive expression for the wave mixing in the nonlinear medium.

Partial Analytical Expressions

  • Taking LiNbO3 as an example. Go to Set Materials Properties.
  • Click LiNbO3 (1120) in the Case Study, to use the default parameter.
  • Click analytical dij next to the SHG tensor.
  • Press “Update” to update the materials setting.
  • Click Partial Analytical Expressions in the Functionality section. Press “Update” to initiate the calculation.
  • The RHP will display the final intensity expressions of both reflected and transmitted SHG intensities. Two polarization combinations are used, i.e., I^{2\omega}(\varphi,\psi), and I^{2\omega}(\varphi,\psi+\pi/2), where \varphi and \psi are incident polarization and SHG polarization, respectively. Both SHG intensity parallel and perpendicular to the analyzer are displayed.
  • The Copy button to the left of the expressions will allow you directly copy the expression and paste it into another document such as a Mathematica notebook, or Microsoft files.

Defining New Presets

Materials Properties Preset Values provide a way to store your input information so that you can review those input later. It works similarly to buttons in the Case Study , but allows users to customize input settings based on the need. This setting is particularly useful if you are varying some input settings to explore the influence and changes towards SHG response. - Take LiNbO3 as an example. Click LiNbO3 (1120) MTI X-cut in the Case Study, to use the default parameters. Click SHG Simulations in the Functionality section. Press “Update” to initiate the calculation. - Click “Preset 1” to store the input information including orientations, crystal structure, linear optical tensor values, and SHG tensor values. You can set labels for your presets and enter “LNO” in the “Preset 1 Label”. Use “Update” to secure the settings. Hovering cursors on preset buttons will provide more information about preset values. - Now, you can click Quartz (001) in the Case Study and press “Update” to evaluate different materials. Go to “Preset 2” and use “Update” to make changes to the settings. - By pressing “Preset 1”, the input information will direct you back to the settings for preset 1. You can also click “Preset 2” to return to saved settings for preset 2. - If you click “Clear Presets”, this process will erase all saved settings for all four presets. You can redefine presets after clearing the definition.

More resources

  • Detailed description of the method can be found here
  • Some specific cases can be found here

Frequently asked questions(FAQ)

Reference

  1. Denev, S. A., Lummen, T. T. A., Barnes, E., Kumar, A. & Gopalan, V. Probing Ferroelectrics Using Optical Second Harmonic Generation. Journal of the American Ceramic Society 94, 2699–2727 (2011).