Charge distribution to change in refractive index theory
This section describes the models used to calculate perturbation in refractive index for optical simulations in MODE and FDTD based on imported charge density data from CHARGE simulations.
Theory behind the generalized Drude (Plasma) model
From the PlasmaDrude model ( Henry et al.), the overall refractive index, that is, the unperturbed index plus the change in the index can be calculated from overall carrier density as follows:
$$ n + ik = \sqrt{ \frac{\varepsilon_m  \frac{e^2}{\omega} \left( \frac{n}{m_e^\ast \omega +i e/\mu_e} + \frac{p}{m_h^\ast \omega + i e/\mu_h} \right)}{\varepsilon_0} } $$
where electrons and holes are treated as purely free carriers and n,p are the carrier densities, and εm is the permittivity of the unperturbed material, \(m_{e/h}^\ast \) is the effective mass of electrons/holes, and \( \mu_{e/h} \) is the mobility of electrons/holes. Note that in this model, the coefficients are frequency dependent. For cases where the electron and hole mobility values are large, the equation reduces to:
$$ n + ik = \sqrt{ \frac{\varepsilon_m  \frac{e^2}{\omega^2} \left( \frac{n}{m_e^\ast} + \frac{p}{m_h^\ast} \right) }{\varepsilon_0} } $$
Theory behind the Drude expansion model
An expansion of the above Drude model at a particular wavelength assuming complex refractive indices can also be calculated from the change in carrier density for most semiconductors as follows:
$$ \Delta n = \left( \frac{e^2 \lambda^2}{8 \pi^2 c^2 \varepsilon_0 n} \right) \left[ \frac{\Delta N_e}{m_{ce}^\ast} + \frac{\Delta N_h}{m_{ch}^\ast} \right] $$
$$ \Delta \alpha = \left( \frac{e^3 \lambda^3}{4 \pi^2 c^3 \varepsilon_0 n} \right) \left[ \frac{\Delta N_e}{{m_{ce}^\ast}^2 \mu_e} + \frac{\Delta N_h}{{m_{ch}^\ast}^2 \mu_h} \right] $$
where,
e is the electronic change,
ε0 is the permittivity of free space,
n is the index of the unperturbed material,
m is the effective mass of holes/electrons and u is the electron/hole mobility.
m*ce/h is the conductivity effective mass of electrons/holes
μe/h is the electron/hole mobility.
ΔNe/h is the change in electron/hole carrier density.
Note that in this model, the coefficients are wavelength dependent.
Theory behind the silicon model
The above wavelength dependant model works for most semiconductors; however, there is another model to more accurately describe the effect of carrier density on refractive index in Silicon by Soref et al. In this model, the coefficients are different depending on the wavelength.
$$ \Delta n = ( dn_{Ap} ) (\Delta P)^{dn_{Ep}} + (dn_{An})(\Delta N)^{dn_{En}} $$
$$ \Delta \alpha = ( d\alpha_{Ap} ) (\Delta P)^{d\alpha_{Ep}} + (d\alpha_{An})(\Delta N)^{d\alpha_{En}} $$
where,
Δn is the refractive index change
Δα is the absorption coefficient variation in cm1
ΔP is the hole concentration change in cm3
ΔN is the electron concentration change in cm3
\(d\alpha_{Ap}\) is 6e18 for 1.55 um
\(d\alpha_{An}\) is 8.5e18 for 1.55 um
\(dn_{Ap}\) is 8.5e18 for 1.55 um
\(dn_{An}\) is 8.8e22 for 1.55 um
Note that in this model, the coefficients are wavelength dependent.
Theory behind the Custom model
For electrooptic devices, Δn and Δk due to carrier concentration variation (plasma effect, band filling effect and bandgap shrinkage) are sometimes measured or computed in separate files. For IIIV materials, The Soref and Bennett model cannot describe their variations with high accuracy on a broad range of carrier concentration. The 'Custom' option provides users the option to load user data (Δn and Δk VS carrier concentration) from a text file. Linear interpolation are used to interpolate the user's data and MODE can then use these interpolated data (and the carrier concentration distributions from Charge) to compute the effective indexes.
In the Custom model, "n sensitivity table" and "p sensitivity table", take a matrix argument, similar to "temperature sensitivity table".
Structure group for conversion of carrier density to refractive index change
A .ldf file will contain the carrier density data calculated from CHARGE which will be imported into the structure. Depending on which product you use, FDTD or MODE, open the WgImport.fsp or WgImport.lms. The WgImport object has been created and defined in this file. Make sure you also download the ldf file(s). The same geometry as the one set up in the original CHARGE simulation has to be set up in MODE/FDTD, except that an import (n,k) object is used for the waveguide section. The structure group will take the carrier density information and calculate the corresponding changes in the real and imaginary parts of refractive index of the material according to one of the above formulations. In the CHARGE simulation, the voltage is swept and the corresponding carrier density change is calculated which in turn results in a change in the index. The .ldf file will include x_data, y_data, z_data, dn_data, dp_data and v.
The generalized Drude (Plasma) model
Right click on the ChargeToIndex_Drude objects in either the MODE or FDTD project files and click Edit. In the window that opens, under the properties tab, several variables can be defined by the user.
V is the index of the voltage array over which the sweep in CHARGE was done. filename is set to the name of the .ldf file saved in the CHARGE script. lambda is the wavelength of interest (in um units). make_plots is set to 1 to generate plots of doping densities and the imported n,k values. mch,mce effective mass of holes/electrons ue, uh carrier mobility waveguide n/k are the nominal index and absorption coefficient values in silicon at wavelength lambda.

Under the script tab of the ChargeToIndex_Drude, you will find the script that loads the .ldf file, uses the wavelength and the nominal n value to calculate the coefficients in the above equation and from that, calculates the real and imaginary parts of refractive index and creates an import (n,k) object with (n,k) values resulting from the bias value that corresponds to index V.
Click "test", to make sure the object is correctly created from the .ldf file.
The structure is now ready to be analyzed in either MODE or FDTD for further characterization. For an example of the full process from the calculation of charge in CHARGE to the calculation of index change in MODE using the Drudeplasma model please see the Metamaterial application example in the CHARGE knowledgebase.
The Drude expansion model
Right click on the WgImport_Drude objects in either the MODE or FDTD project files and click Edit. In the window that opens, under the properties tab, several variables can be defined by the user.
V is the index of the voltage array over which the sweep in CHARGE was done. filename is set to the name of the .ldf file saved in the CHARGE script. lambda is the wavelength of interest (in um units). make_plots is set to 1 to generate plots of doping densities and the imported n,k values. mch,mce effective mass of holes/electrons ue,uh electron/hole mobility waveguide n/k are the nominal index and absorption coefficient values in silicon at wavelength lambda.

Under the script tab of the WgImport_Drude object, you will find the script that loads the .ldf file, uses the wavelength to calculate the coefficients in the above equation and from that, calculates the change in refractive index and absorption coefficients and creates an import (n,k) object with (n,k) values resulting from the bias value that corresponds to index V.
Click "test", to make sure the object is correctly created from the .ldf file.
The structure is now ready to be analyzed in either MODE or FDTD for further characterization.
The Silicon model
Right click on the ChargeToIndex_Silicon objects in either the MODE or FDTD project files and click Edit. In the window that opens, under the properties tab, several variables can be defined by the user.
V is the index of the voltage array over which the sweep in CHARGE was done. The coefficients for the equation to convert the change in carrier density to change in (n,k) are defined as follows (see reference 1);
\( \Delta \alpha = ( d\alpha_{Ap} ) (\Delta P)^{d\alpha_{Ep}} + (d\alpha_{An})(\Delta N)^{d\alpha_{En}} \)
\( \Delta n = ( dn_{Ap} ) (\Delta P)^{dn_{Ep}} + (dn_{An})(\Delta N)^{dn_{En}} \)
filename is set to the name of the .ldf file saved in the CHARGE script. lambda is the wavelength of interest (in um units). make_plots is set to 1 to generate plots of doping densities and the imported n,k values. waveguide n/k are the nominal index and absorption coefficient values in silicon at wavelength lambda. 
Under the script tab of the ChargeToIndex_Silicon object, you will find the script that loads the .ldf file, uses the aforementioned coefficients to calculate the change in refractive index and absorption coefficients and creates an import (n,k) object with (n,k) values resulting from the bias value that corresponds to index V.
Click "test", to make sure the object is correctly created from the .ldf file.
The structure is now ready to be analyzed in either MODE or FDTD for further characterization. For an example of the full process from the calculation of charge in CHARGE to the calculation of index change in MODE using the Silicon model please see the MZI getting started example.
References
 Henry, C. H.; Logan, R. A.; Bertness, K. A. Journal of Applied Physics, vol. 52, (1981), p. 44574461.
 R. A. Soref and B. R. Bennett, SPIE Integr. Opt. Circuit Eng. 704, 32 (1987).