User Tools

Site Tools


qcl:advanced_settings

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
qcl:advanced_settings [2020/10/20 14:41]
thomas.grange
qcl:advanced_settings [2022/03/30 16:36] (current)
thomas.grange [Definition of graded alloy and graded interfaces]
Line 2: Line 2:
  
 ==== Parallelization ==== ==== Parallelization ====
 +
 +=== Number of threads ===
 +
  
 The number of threads can be controlled using the command <​Maximum_Number_of_Threads>​ The number of threads can be controlled using the command <​Maximum_Number_of_Threads>​
Line 12: Line 15:
 </​code>​ </​code>​
  
-For optimal performanceswe recommended that <​Maximum_Number_of_Threads>​ does not exceed ​the number of **physical** cores (when hyperthreading is activated, ​the number of physical cores is half the one on logical processsors).+For an automatic settinguse 0 or do not specify this command. In this case, the number of threads will be set to half of the number of physical cores.
  
-=== Parallization ​in case of combined Temperature-Voltage sweep ===+In any case, we recommended that <​Maximum_Number_of_Threads>​ does not exceed the number of **physical** cores (note that when hyperthreading is activated, the number of physical cores is half the one on logical processsors). 
 + 
 +=== Parallelization ​in case of combined Temperature-Voltage sweep ===
 In the case where a combined Temperature-Voltage sweep is used, there are two levels of parallelization. The first is at the level of the command <​Threads>​ in the <​SweepParameters>​ section. In the case where a combined Temperature-Voltage sweep is used, there are two levels of parallelization. The first is at the level of the command <​Threads>​ in the <​SweepParameters>​ section.
  
Line 37: Line 42:
  
  
-==== Contributions of individual scattering processes ​====+==== Definition of graded alloy and graded interfaces ==== 
 + 
 +There are two possibilities to define graded alloy profile.  
 + 
 +=== Linearly graded alloys === 
 +To define a linear graded alloy profile, two materials first need to be defined in the ''<​Material>''​ section 
 +For example, 
 +<​code>​ 
 +    <​Material>​ 
 +      <​Name>​GaAs</​Name> ​                          <​!-- Binary material --> 
 +      <​Alias>​mat1</​Alias>​ 
 +      <​Effective_mass_from_kp_parameters>​yes</​Effective_mass_from_kp_parameters>​ 
 +    </​Material>​ 
 + 
 +    <​Material>​ 
 +      <​Name>​Al(x)Ga(1-x)As</​Name> ​                <​!-- Ternary material --> 
 +      <​Alloy_Composition>​0.15</​Alloy_Composition>​ <!-- alloy composition x --> 
 +      <​Alias>​mat2</​Alias>​ 
 +      <​Effective_mass_from_kp_parameters>​yes</​Effective_mass_from_kp_parameters>​ 
 +    </​Material>​ 
 +</​code>​ 
 + 
 +Then, in the layer definition (named ''<​Superlattice>''​),​ the following can be used to define a layer with a linear alloy profile, with composition starting from the material "​mat1"​ and ending with the material "​mat2"​ composition. 
 +<​code>​ 
 +<​Layer>​ <!-- all the material parameters will be linearily interpolated between <​Material1>​ and <​Material2>​ --> 
 +    <​Material1>​mat1</​Material1>​ 
 +    <​Material2>​mat2</​Material2>​ 
 +    <​Thickness unit="​nm">​5.0</​Thickness>​ 
 +  </​Layer>​ 
 +</​code>​ 
 + 
 + 
 +=== Graded interfaces === 
 + 
 +To specify a grading for all the interfaces of the structure, the following command ''<​InterfaceWidth>''​ has to be included in the ''<​Interface_Roughness>''​ section. 
 +<​code>​ 
 +<​Interface_Roughness>​ 
 +      <​InterfaceWidth unit="​nm">​0.8</​InterfaceWidth>​ 
 +      ... 
 +   </​Interface_Roughness>​ 
 +</​code>​ 
 +In this case, the alloy profile of the all strucure is convoluted by a Gaussian. For a well defined interface, this results in an error function profile of the form: 
 +$$ 
 +c(z) = c_0 + d_0 \text{erf} \left[2 
 +\sqrt{ln(2)}(z − z_0)/L \right] 
 +$$  
 +where $L$ is the quantity specified in ''<​InterfaceWidth>''​. 
 + 
 +==== Scattering processes ==== 
 +=== Contributions of individual scattering processes ===
 The following command allow to display self-energies and spectral functions for some specific mechanisms, like e.g. scattering due to optical phonons: The following command allow to display self-energies and spectral functions for some specific mechanisms, like e.g. scattering due to optical phonons:
 <​code>​ <​code>​
Line 48: Line 102:
 This command is only for analysis purpose, and has no influence on the other calculated quantities. It only involves an additionnal calculation of self-energies and Green'​s functions. This command is only for analysis purpose, and has no influence on the other calculated quantities. It only involves an additionnal calculation of self-energies and Green'​s functions.
 In each basis folder, a folder with the name of the scattering process will appear, containing the retarded self-energy and the spectral function arising only from the specific scattering mechanism. Hence this spectral function gives the contribution to broadening of an individual scattering process. In each basis folder, a folder with the name of the scattering process will appear, containing the retarded self-energy and the spectral function arising only from the specific scattering mechanism. Hence this spectral function gives the contribution to broadening of an individual scattering process.
 +
 +=== Homogeneous Coulomb scattering ===
 +To speed up the calculation,​ it is possible to consider the assumption of homogeneously distributed Coulomb scatterers (ionized impurities and other charge carriers) using the following command:
 +<​code>​
 +<​Scattering>​
 +  ...
 +  <​Homogeneous_Coulomb>​yes</​Homogeneous_Coulomb>​
 +  ...
 +</​Scattering>​
 +</​code>​
  
  
Line 66: Line 130:
  
 ==== Output format for 2D plots ==== ==== Output format for 2D plots ====
-By default, 2D plots are output in a [[http://​www.vtk.org|VTK format]] (files with a .vtr extension). +By default, 2D plots are output in a [[http://​www.vtk.org|VTK format]] (.vtr extension). 
- ​[[http://​www.gnuplot.info/​|Gnuplot]] files are also generated (in a file explorer, double click on the file to generate the gnuplot figure).+ ​[[http://​www.gnuplot.info/​|Gnuplot]] files (.plt extension) ​are also generated (in a file explorer, double click on the file to generate the gnuplot figure).
  
 In addition, to output 2D plots in a [[http://​www.avs.com|AVS/​Express format]] (.fld extension), the following command "<​FLD_format>"​ can be added in the <​Output>​ section of the input file. In addition, to output 2D plots in a [[http://​www.avs.com|AVS/​Express format]] (.fld extension), the following command "<​FLD_format>"​ can be added in the <​Output>​ section of the input file.
qcl/advanced_settings.1603204891.txt.gz · Last modified: 2020/10/20 14:41 by thomas.grange