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:48]
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 15: Line 15:
   </​Variables> ​   </​Variables> ​
 </​code>​ </​code>​
 +
 +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.1552488497.txt.gz · Last modified: 2019/03/13 14:48 by thomas.grange