User Tools

Site Tools


qcl:sweeping_variables

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:sweeping_variables [2019/03/13 14:54]
thomas.grange
qcl:sweeping_variables [2020/06/09 13:12] (current)
admin
Line 1: Line 1:
 ====== Sweeping variables ====== ====== Sweeping variables ======
  
-The nextnanomat graphical user interface allows to sweep any variable of the nextnano.QCL input file. Algebraic expressions are also supported.+The nextnanomat graphical user interface allows to sweep any variable of the nextnano.NEGF input file. Algebraic expressions are also supported. 
  
-The template feature of nextnanomat is documented here: [[http://​www.nextnano.com/​dokuwiki/​doku.php?​id=nnm:​template |here]]. 
  
 First, the variable to be swept has to be declared in the input file: First, the variable to be swept has to be declared in the input file:
Line 16: Line 16:
 </​code>​ </​code>​
  
-{{ :​qcl:​template.png?​direct&​800 |}}+Then in the template tab of nextnanomat,​ the defined variable can be sweep. More information about the template feature of nextnanomat is documented [[http://​www.nextnano.com/​dokuwiki/​doku.php?​id=nnm:​template |here]].  
 + 
 +{{ :​qcl:​template.png?​direct&​1000 |}} 
 + 
 +=== Algebraic expressions === 
 +Calculations are also supported as a function of a sweeping variable, using the following syntax: 
 +<​code>​ 
 +<​Variables>​ <​!--Declaration of variables used in the Input-file.-->​ 
 +    <​Constant>​ 
 +      <Name Comment="​Scaling factor.">​$x</​Name>​ 
 +      <Value Unit="">​1</​Value> ​         
 +    </​Constant>​ 
 +</​Variables>​  
 +    ... 
 +     
 +<​Superlattice>​ 
 + <​Layer>​ 
 + <​Material>​barrier</​Material>​ 
 + <​Thickness unit="​nm">​$(x*4.1)</​Thickness>​ 
 + </​Layer>​ 
 + 
 + <​Layer>​ 
 + <​Material>​well</​Material>​ 
 + <​Thickness unit="​nm">​$(x*16.0)</​Thickness>​ 
 + </​Layer>​ 
 +  
 + <​Layer>​ 
 + <​Material>​barrier</​Material>​ 
 + <​Thickness unit="​nm">​$(x*4.3)</​Thickness>​ 
 + </​Layer>​ 
 + 
 + <​Layer>​ 
 + <​Material>​well</​Material>​ 
 + <​Thickness unit="​nm">​$(x*8.9)</​Thickness>​ 
 + </​Layer>​ 
 +  
 + <​Layer>​ 
 + <​Material>​barrier</​Material>​ 
 + <​Thickness unit="​nm">​$(x*2.46)</​Thickness>​ 
 + </​Layer>​ 
 + 
 + <​Layer>​ 
 + <​Material>​well</​Material>​ 
 + <​Thickness unit="​nm">​$(x*8.15)</​Thickness>​ 
 + </​Layer>​ 
 +... 
 +</​code>​ 
 +For example, above all the layers of the structure are scaled with the same factor. 
 + 
 +More complicated functions can be used, such as for a example: 
 +<​code>​ 
 + <​Layer>​ 
 + <​Material>​barrier</​Material>​ 
 + <​Thickness unit="​nm">​$(4.1*exp(-(x-1)^2/​sigma^2))</​Thickness>​ 
 + </​Layer>​ 
 +</​code>​ 
 + 
 +The syntax of all possible expressions can be found on [[http://​mathparser.org/​mXparser]]. 
qcl/sweeping_variables.1552488857.txt.gz · Last modified: 2019/03/13 14:54 by thomas.grange