1. Methods used in the determination of the core film refractive index, n_{core}

Constructor
 
public GratingCoupler()

Enter core thickness/es and coupling angle/s
 Enter TE mode data for a single measurement 
public void enterTEmodeData(double thickness, double couplingAngle, double modeNumber)

public void enterTEmodeData(double thickness, double couplingAngle, double error, double modeNumber)

Enter TM mode data for a single measurement 
public void enterTMmodeData(double thickness, double couplingAngle, double modeNumber)

public void enterTMmodeData(double thickness, double couplingAngle, double error, double modeNumber)

Enter TE mode data for a range of core thicknesses 
public void enterTEmodeData(double[] thicknesses, double[] couplingAngles, double[] modeNumbers)

public void enterTEmodeData(double[] thicknesses, double[] couplingAngles, double[] errors, double[] modeNumbers)

Enter TM mode data for a range of core thicknesses 
public void enterTMmodeData(double[] thicknesses, double[] couplingAngles, double[] modeNumbers)

public void enterTMmodeData(double[] thicknesses, double[] couplingAngles, double[] errors, double[] modeNumbers)

Wavelength
 Set the wavelength 
public void setWavelength(double wavelength)

Grating
 Set the grating pitch, Λ 
public void setGratingPitch(double pitch)

Enter the TE mode grating orders, m

public void setTEmodeGratingOrder(int[] order)

Enter the TM mode grating orders, m

public void setTMmodeGratingOrder(int[] order)

Set Refractive Indices
 Set substrate refractive index 
public void setSubstrateRefractiveIndex(double refractiveIndex)

Set superstrate refractive index 
public void setSuperstrateRefractiveIndex(double refractiveIndex)

Calculated Core Refractive Index
 Get mean refractive index of the core layer 
public double getCoreFilmRefractiveIndex()

public double getMeanCoreFilmRefractiveIndex()

Get standard deviation of the mean refractive index of the core layer 
public double getStandardDeviationCoreFilmRefractiveIndex()

 
Get mean TE mode refractive index of the core layer 
public double getMeanTEmodeCoreFilmRefractiveIndex()

Get standard deviation of the mean TE mode refractive index of the core layer 
public double getStandardDeviationTEmodeCoreFilmRefractiveIndex()

 
Get mean TM mode refractive index of the core layer 
public double getMeanTMmodeCoreFilmRefractiveIndex()

Get standard deviation of the mean TM mode refractive index of the core layer 
public double getStandardDeviationTMmodeCoreFilmRefractiveIndex()

 
Get the TE mode refractive indices for the core layer thicknesses 
public double[] getTEmodeCoreFilmRefractiveIndices()

Get the TM mode refractive indices for the core layer thicknesses 
public double[] getTMmodeCoreFilmRefractiveIndices()

Effective refractive indices
 Get the TE mode experimental effective refractive indices 
public double[][] getTEmodeExperimentalEffectiveRefractiveIndices()

Get the errors in the TE mode experimental effective refractive indices 
public double[][] getTEmodeEffectiveRefractiveIndicesErrors()

Get the TM mode experimental effective refractive indices 
public double[][] getTMmodeExperimentalEffectiveRefractiveIndices()

Get the errors in the TM mode experimental effective refractive indices 
public double[][] getTMmodeEffectiveRefractiveIndicesErrors()

Get the TE mode calculated effective refractive indices 
public double[][] getTEmodeCalculatedEffectiveRefractiveIndices()

Get the TM mode calculated effective refractive indices 
public double[][] getTMmodeCalculatedEffectiveRefractiveIndices()

Plot fitted dispersion curve
 
public void plotFittedDispersionCurves(String graphTitle)


public void plotFittedDispersionCurves()

2. Methods used in calculating the superstrate (analyte solution) refractive index,
n_{superstrate}

Constructor
 
public GratingCoupler()

Enter core thickness/es and coupling angle/s
 Enter TE mode data for a single measurement 
public void enterTEmodeData(double thickness, double couplingAngle, double modeNumber)

public void enterTEmodeData(double thickness, double couplingAngle, double error, double modeNumber)

Enter TM mode data for a single measurement 
public void enterTMmodeData(double thickness, double couplingAngle, double modeNumber)

public void enterTMmodeData(double thickness, double couplingAngle, double error, double modeNumber)

Enter TE mode data for a range of core thicknesses 
public void enterTEmodeData(double[] thicknesses, double[] couplingAngles, double[] modeNumbers)

public void enterTEmodeData(double[] thicknesses, double[] couplingAngles, double[] errors, double[] modeNumbers)

Enter TM mode data for a range of core thicknesses 
public void enterTMmodeData(double[] thicknesses, double[] couplingAngles, double[] modeNumbers)

public void enterTMmodeData(double[] thicknesses, double[] couplingAngles, double[] errors, double[] modeNumbers)

Wavelength
 Set the wavelength 
public void setWavelength(double wavelength)

Grating
 Set the grating pitch, Λ 
public void setGratingPitch(double pitch)

Enter the TE mode grating orders, m

public void setTEmodeGratingOrder(int[] order)

Enter the TM mode grating orders, m

public void setTMmodeGratingOrder(int[] order)

Set Refractive Indices
 Set substrate refractive index 
public void setSubstrateRefractiveIndex(double refractiveIndex)

Set core film refractive index 
public void setCoreLayerRefractiveIndex(double refractiveIndex)

Calculated Superstrate Index
 Get mean refractive index of the superstrate (analyte solution) 
public double getSuperstrateRefractiveIndex()

public double getAnalyteSolutionRefractiveIndex()

Get standard deviation of the refractive index of the superstrate (analyte solution) 
public double getStandardDeviationSuperstrateRefractiveIndex()

public double getStandardDeviationAnalyteSolutionRefractiveIndex()

3. Methods used in calculating and plotting a theoretical effective refractive index,
n_{eff}, versus core thickness, d, dispersion curve

Constructor
 
public GratingCoupler()

Wavelength
 Set the wavelength 
public void setWavelength(double wavelength)

Set Refractive Indices
 Set substrate refractive index 
public void setSubstrateRefractiveIndex(double refractiveIndex)

Set superstrate refractive index 
public void setSuperstrateRefractiveIndex(double refractiveIndex)

Set core film refractive index 
public void setCoreLayerRefractiveIndex(double refractiveIndex)

Theoretical dispersion curve

Calculate theoretical TE mode dispersion curve 
public double[][] dispersionCurveTE(double lowThickness, double highThickness, int numberOfPoints, double modeNumber)

Calculate theoretical TM mode dispersion curve 
public double[][] dispersionCurveTM(double lowThickness, double highThickness, int numberOfPoints, double modeNumber)

Plot theoretical TE mode dispersion curve 
public double[][] plotDispersionCurveTE(double lowThickness, double highThickness, int numberOfPoints, double modeNumber, String graphTitle)

public double[][] plotDispersionCurveTE(double lowThickness, double highThickness, int numberOfPoints, double modeNumber)

Plot theoretical TM mode dispersion curve 
public double[][] plotDispersionCurveTM(double lowThickness, double highThickness, int numberOfPoints, double modeNumber, String graphTitle)

public double[][] plotDispersionCurveTM(double lowThickness, double highThickness, int numberOfPoints, double modeNumber)
