-
Notifications
You must be signed in to change notification settings - Fork 71
/
Schrodinger.html
475 lines (434 loc) · 39.2 KB
/
Schrodinger.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>1D arbitrary potential Schrödinger and k•p band structure solvers — Solcore 5.0.2 documentation</title>
<link rel="stylesheet" href="../_static/sphinxdoc.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '5.0.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true,
SOURCELINK_SUFFIX: '.txt'
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Absorption calculator" href="../Absorption/Absorption.html" />
<link rel="prev" title="The mobility module" href="../Systems/Mobility.html" />
</head>
<body>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../Absorption/Absorption.html" title="Absorption calculator"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="../Systems/Mobility.html" title="The mobility module"
accesskey="P">previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Solcore 5.0.2 documentation</a> »</li>
</ul>
</div>
<div class="sphinxsidebar" role="navigation" aria-label="main navigation">
<div class="sphinxsidebarwrapper">
<p class="logo"><a href="../index.html">
<img class="logo" src="../_static/header2.png" alt="Logo"/>
</a></p>
<h3><a href="../index.html">Table Of Contents</a></h3>
<ul class="current">
<li class="toctree-l1"><a class="reference internal" href="../installation.html">Installation and configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="../structure.html">Structures and support classes</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Systems/Units.html">The Units System</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Systems/Parameters.html">The Parameters System</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Systems/Materials.html">The Materials System</a></li>
<li class="toctree-l1"><a class="reference internal" href="../Systems/Mobility.html">The mobility module</a></li>
<li class="toctree-l1 current"><a class="current reference internal" href="#">1D arbitrary potential Schrödinger and k•p band structure solvers</a><ul>
<li class="toctree-l2"><a class="reference internal" href="#module-solcore.quantum_mechanics.high_level_kp_QW">Description of functions and modules</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="../Absorption/Absorption.html">Absorption calculator</a></li>
<li class="toctree-l1"><a class="reference internal" href="../spectral/spectral.html">Light Sources</a></li>
<li class="toctree-l1"><a class="reference internal" href="../ASC/ASC.html">Analytic solar cells calculator</a></li>
<li class="toctree-l1"><a class="reference internal" href="../PDD/DDsolver.html">Poisson - Drift-Diffusion solver (PDD)</a></li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="../Systems/Mobility.html"
title="previous chapter">The mobility module</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="../Absorption/Absorption.html"
title="next chapter">Absorption calculator</a></p>
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="../_sources/QM/Schrodinger.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div>
<div id="searchbox" style="display: none" role="search">
<h3>Quick search</h3>
<form class="search" action="../search.html" method="get">
<div><input type="text" name="q" /></div>
<div><input type="submit" value="Go" /></div>
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body" role="main">
<div class="section" id="d-arbitrary-potential-schrodinger-and-kp-band-structure-solvers">
<h1>1D arbitrary potential Schrödinger and k•p band structure solvers<a class="headerlink" href="#d-arbitrary-potential-schrodinger-and-kp-band-structure-solvers" title="Permalink to this headline">¶</a></h1>
<p>The tools that can be accessed directly when importing this package are:</p>
<ul class="simple">
<li>schrodinger</li>
<li>assemble_qw_structure</li>
<li>KPbands</li>
<li>kp8x8_bulk</li>
<li>kp_bands</li>
<li>fit_effective_masses</li>
</ul>
<div class="section" id="module-solcore.quantum_mechanics.high_level_kp_QW">
<span id="description-of-functions-and-modules"></span><h2>Description of functions and modules<a class="headerlink" href="#module-solcore.quantum_mechanics.high_level_kp_QW" title="Permalink to this headline">¶</a></h2>
<dl class="function">
<dt id="solcore.quantum_mechanics.high_level_kp_QW.schrodinger">
<code class="descclassname">solcore.quantum_mechanics.high_level_kp_QW.</code><code class="descname">schrodinger</code><span class="sig-paren">(</span><em>structure</em>, <em>plot_bands=False</em>, <em>kpoints=40</em>, <em>krange=1000000000.0</em>, <em>num_eigenvalues=10</em>, <em>symmetric=True</em>, <em>quasiconfined=0.0</em>, <em>return_qw_boolean_for_layer=False</em>, <em>Efield=0</em>, <em>blur=False</em>, <em>blurmode='even'</em>, <em>mode='kp8x8_bulk'</em>, <em>step_size=None</em>, <em>minimum_step_size=0</em>, <em>smallest_feature_steps=20</em>, <em>filter_strength=0</em>, <em>periodic=False</em>, <em>offset=0</em>, <em>graphtype=[]</em>, <em>calculate_absorption=False</em>, <em>alpha_params=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/high_level_kp_QW.html#schrodinger"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.high_level_kp_QW.schrodinger" title="Permalink to this definition">¶</a></dt>
<dd><p>Solves the Schrodinger equation of a 1 dimensional structure. Depending on the inputs, the method for solving
the problem is more or less sophisticated. In all cases, the output includes the band structure and effective
masses around k=0 as a function of the position, the energy levels of the QW (electrons and holes) and the
wavefunctions, although for the kp4x4 and kp6x6 modes, this is provided as a function of the k value, and therefore
there is much more information.</p>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>structure</strong> – The strucutre to solve</li>
<li><strong>plot_bands</strong> – (False) If the bands should be plotted</li>
<li><strong>kpoints</strong> – <ol class="arabic" start="30">
<li>The number of points in the k.txt space</li>
</ol>
</li>
<li><strong>krange</strong> – (1e-9) The range in the k space</li>
<li><strong>num_eigenvalues</strong> – <ol class="arabic" start="10">
<li>Maximum number of eigenvalues to calculate</li>
</ol>
</li>
<li><strong>symmetric</strong> – (True) If the structure is symmetric, in which case the calculation can be speed up</li>
<li><strong>quasiconfined</strong> – (0.0) Energy above the band edges that an energy level can have before rejecting it</li>
<li><strong>return_qw_boolean_for_layer</strong> – (False) Return an boolean array indicating which positions are inside the QW</li>
<li><strong>Efield</strong> – <ol class="arabic" start="0">
<li>Electric field.</li>
</ol>
</li>
<li><strong>blur</strong> – (False) If the potentials and effective masses have to be blurred</li>
<li><strong>blurmode</strong> – (‘even’) Other values are ‘right’ and ‘left’</li>
<li><strong>mode</strong> – (‘kp4x4’) The mode of calculating the bands and effective masses. See ‘structure_utilities.structure_to_potentials’</li>
<li><strong>step_size</strong> – (None) The discretization step of the structure. If none, it is estimated based on the smallest feature.</li>
<li><strong>minimum_step_size</strong> – <ol class="arabic" start="0">
<li>The minimum step size.</li>
</ol>
</li>
<li><strong>smallest_feature_steps</strong> – <ol class="arabic" start="20">
<li>The number of steps in the smallest feature</li>
</ol>
</li>
<li><strong>filter_strength</strong> – <ol class="arabic" start="0">
<li>If > 0, defines the fraction of the wavefunction that has to be inside the QW in order to consider it ‘confined’</li>
</ol>
</li>
<li><strong>periodic</strong> – (False) If the strucuture is periodic. Affects the boundary conditions.</li>
<li><strong>offset</strong> – <ol class="arabic" start="0">
<li>Energy offset used in the calculation of the energy levels in the case of the ‘bulk’ solvers</li>
</ol>
</li>
<li><strong>graphtype</strong> – [] If ‘potential’, the band profile and wavefunctions are ploted</li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last">A dictionary containing the band structure and wavefunctions as a function of the position and k</p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<span class="target" id="module-solcore.quantum_mechanics.structure_utilities"></span><dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.assemble_qw_structure">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">assemble_qw_structure</code><span class="sig-paren">(</span><em>repeats</em>, <em>well</em>, <em>bulk_l_top</em>, <em>bulk_l_bottom</em>, <em>barrier</em>, <em>well_interlayer=None</em>, <em>structure_label='QW Structure'</em>, <em>shift_wells=0</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/structure_utilities.html#assemble_qw_structure"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.assemble_qw_structure" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.vary_well_widths">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">vary_well_widths</code><span class="sig-paren">(</span><em>structure</em>, <em>fraction=0.5</em>, <em>region_sought='well'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/structure_utilities.html#vary_well_widths"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.vary_well_widths" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns an array of indices which correspond to the region that are quantum wells in the structure.</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.locate_regions">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">locate_regions</code><span class="sig-paren">(</span><em>x</em>, <em>structure</em>, <em>region_sought='well'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/structure_utilities.html#locate_regions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.locate_regions" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns an array of indices which correspond to the region that are quantum wells in the structure.</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.well_regions">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">well_regions</code><span class="sig-paren">(</span><em>x</em>, <em>structure</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/structure_utilities.html#well_regions"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.well_regions" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.text_render">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">text_render</code><span class="sig-paren">(</span><em>structure</em>, <em>resolution=100</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/structure_utilities.html#text_render"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.text_render" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.structure_to_potentials">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">structure_to_potentials</code><span class="sig-paren">(</span><em>structure</em>, <em>step_size=None</em>, <em>minimum_step_size=0</em>, <em>smallest_feature_steps=20</em>, <em>blur=False</em>, <em>blurmode='even'</em>, <em>return_qw_boolean_for_layer=False</em>, <em>Efield=0</em>, <em>mode='kp4x4'</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/structure_utilities.html#structure_to_potentials"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.structure_to_potentials" title="Permalink to this definition">¶</a></dt>
<dd><p>Discretizes the structure as a function of the position, providing the potential for the electrons, HH, LH and
SO bands as well as the Luttinger parameters and the effective masses.</p>
<dl class="docutils">
<dt>The result depend on the chosen mode:</dt>
<dd><ul class="first last simple">
<li>kp4x4, calculates the bands and effective masses at k=0 coupling the HH and LH bands</li>
<li>kp6x6, calculates the bands and effective masses at k=0 coupling the HH, LH and SO bands</li>
<li>kp8x8_bulk, calculates the four bands and fit the effective masses with a parabola around k=0</li>
<li>strain, just shifts the bands according to the strain</li>
<li>relaxed, do nothing and things are calculated as if we had the bulk, unstrained materials</li>
</ul>
</dd>
</dl>
<p>Notice that although the kp8x8_bulk couples the 4 (8) bands, the effective mass is the result of a fitting around
k=0. Therefore, it is not valid to solve 1D problems, but just a bulk-like problem under a parabolic aproximation</p>
<p>Additionlly, the band structure can be blured - to simulate the intermixing of materials - as well as being under
an electric field.</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.structure_utilities.random">
<code class="descclassname">solcore.quantum_mechanics.structure_utilities.</code><code class="descname">random</code><span class="sig-paren">(</span><span class="sig-paren">)</span> → x in the interval [0, 1).<a class="headerlink" href="#solcore.quantum_mechanics.structure_utilities.random" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<span class="target" id="module-solcore.quantum_mechanics.potential_utilities"></span><dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.sort_simultaneous">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">sort_simultaneous</code><span class="sig-paren">(</span><em>*lists</em><span class="sig-paren">)</span><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.sort_simultaneous" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.tridiag_euler">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">tridiag_euler</code><span class="sig-paren">(</span><em>V</em>, <em>z</em>, <em>m</em>, <em>periodic=False</em>, <em>num_eigenvalues=10</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/potential_utilities.html#tridiag_euler"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.tridiag_euler" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns eignvalue and eigenvectors of an arbitrary potential.</p>
<p>A tridiagonal matrix is constructed by writing the variable effective
mass Schrodinger equation over a series of mesh points. The eigenvalues
of the matrix correspond to the allowed energy levels of the system.</p>
<p>The previous solver, eig, has been replaced by the spare matrix version, eigs, that is faster to compute</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.schroedinger_solve">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">schroedinger_solve</code><span class="sig-paren">(</span><em>x</em>, <em>V</em>, <em>m</em>, <em>num_eigenvalues=10</em>, <em>periodic=False</em>, <em>offset=0</em>, <em>electron=True</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/potential_utilities.html#schroedinger_solve"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.schroedinger_solve" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns normalised wavefuctions from the potential profile.</p>
<p>Arguments:</p>
<blockquote>
<div>x – spatial grid
V – potential
m – effective mass</div></blockquote>
<p>Keywords:</p>
<blockquote>
<div>electron – whether the wavefunctions describe electrons or holes (default: True)
num_eigenvalues – Number of eigenvalues to calculate (default = 10)
periodic – not to sure what this does (default: False)</div></blockquote>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.discard_unconfined_energy">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">discard_unconfined_energy</code><span class="sig-paren">(</span><em>E</em>, <em>psi</em>, <em>V</em>, <em>quasiconfined</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/potential_utilities.html#discard_unconfined_energy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.discard_unconfined_energy" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.discard_unconfined">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">discard_unconfined</code><span class="sig-paren">(</span><em>x</em>, <em>structure</em>, <em>E</em>, <em>psi</em>, <em>threshold=0.8</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/potential_utilities.html#discard_unconfined"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.discard_unconfined" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.potentials_to_wavefunctions_energies">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">potentials_to_wavefunctions_energies</code><span class="sig-paren">(</span><em>x</em>, <em>Ve</em>, <em>me</em>, <em>Vhh</em>, <em>mhh</em>, <em>Vlh</em>, <em>mlh</em>, <em>num_eigenvalues=10</em>, <em>periodic=False</em>, <em>offset=0</em>, <em>filter_strength=0</em>, <em>structure=None</em>, <em>quasiconfined=0</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/potential_utilities.html#potentials_to_wavefunctions_energies"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.potentials_to_wavefunctions_energies" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.potential_utilities.graph">
<code class="descclassname">solcore.quantum_mechanics.potential_utilities.</code><code class="descname">graph</code><span class="sig-paren">(</span><em>x</em>, <em>Ve</em>, <em>me</em>, <em>Vhh</em>, <em>mhh</em>, <em>Vlh</em>, <em>mlh</em>, <em>**kwargs</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/potential_utilities.html#graph"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.potential_utilities.graph" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<span class="target" id="module-solcore.quantum_mechanics.kp_bulk"></span><dl class="attribute">
<dt id="solcore.quantum_mechanics.kp_bulk.eight_band_strain_hamiltonian">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">eight_band_strain_hamiltonian</code><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#eight_band_strain_hamiltonian"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.eight_band_strain_hamiltonian" title="Permalink to this definition">¶</a></dt>
<dd><p>Hamiltonian to calculate cb, hh, lh, so bands and include strain for the biaxial (along [001]) special case.</p>
<p>See Hamiltonian in ref. but remove row 1 and 6 and column 1 and 6.
<a class="reference external" href="http://prb.aps.org/pdf/PRB/v73/i12/e125348">http://prb.aps.org/pdf/PRB/v73/i12/e125348</a></p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.effective_mass_energy">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">effective_mass_energy</code><span class="sig-paren">(</span><em>k</em>, <em>m_eff</em>, <em>E0</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#effective_mass_energy"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.effective_mass_energy" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.kp_bands">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">kp_bands</code><span class="sig-paren">(</span><em>material</em>, <em>host_material</em>, <em>kx=0</em>, <em>ky=0</em>, <em>kz=0</em>, <em>return_so=False</em>, <em>graph=False</em>, <em>fit_effective_mass=False</em>, <em>effective_mass_direction='X'</em>, <em>additional_traverse=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#kp_bands"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.kp_bands" title="Permalink to this definition">¶</a></dt>
<dd><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Parameters:</th><td class="field-body"><ul class="first simple">
<li><strong>material</strong> – </li>
<li><strong>host_material</strong> – </li>
<li><strong>kx</strong> – </li>
<li><strong>ky</strong> – </li>
<li><strong>kz</strong> – </li>
<li><strong>return_so</strong> – </li>
<li><strong>graph</strong> – </li>
<li><strong>fit_effective_mass</strong> – </li>
<li><strong>effective_mass_direction</strong> – </li>
<li><strong>additional_traverse</strong> – </li>
</ul>
</td>
</tr>
<tr class="field-even field"><th class="field-name">Returns:</th><td class="field-body"><p class="first last"></p>
</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.KPbands">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">KPbands</code><span class="sig-paren">(</span><em>material</em>, <em>host_material</em>, <em>return_edges_only=False</em>, <em>plot_result=False</em>, <em>t=0</em>, <em>p=1.5707963267948966</em>, <em>fraction=0.2</em>, <em>points=50</em>, <em>vin=None</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#KPbands"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.KPbands" title="Permalink to this definition">¶</a></dt>
<dd><p>New version of the above function that produces either the band edges or the full bands in one specifc direction
from Gamma.</p>
<ul class="simple">
<li>Calculation of the full Brillouin zone is not allowed. After all, KP is only valid near k.txt=0</li>
<li>The calculation of the effective masses is done externally by another function</li>
<li>The direction to calculate the bands is provided either with directory angles or a directory vector</li>
<li>The number of points of the bands and the fraction up to the border of the Brilluin zone in the given direction are also inputs</li>
<li>The default direction is X, as given by the angles theta (t) and phi (p)</li>
</ul>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.fit_effective_masses">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">fit_effective_masses</code><span class="sig-paren">(</span><em>bands</em>, <em>material</em>, <em>host_material</em>, <em>plot_result=False</em>, <em>dk=0.026</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#fit_effective_masses"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.fit_effective_masses" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.parabolic">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">parabolic</code><span class="sig-paren">(</span><em>k</em>, <em>mr</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#parabolic"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.parabolic" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.average_inplane_effective_mass">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">average_inplane_effective_mass</code><span class="sig-paren">(</span><em>material</em>, <em>host_material</em>, <em>averaging_points=10</em>, <em>dk=0.026</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#average_inplane_effective_mass"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.average_inplane_effective_mass" title="Permalink to this definition">¶</a></dt>
<dd><p>Calculates the average in-plane effective mass for the four bands, assuming always the XY plane.</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_bulk.kp8x8_bulk">
<code class="descclassname">solcore.quantum_mechanics.kp_bulk.</code><code class="descname">kp8x8_bulk</code><span class="sig-paren">(</span><em>material</em>, <em>host_material</em>, <em>averaging_points=10</em>, <em>dk=0.026</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_bulk.html#kp8x8_bulk"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_bulk.kp8x8_bulk" title="Permalink to this definition">¶</a></dt>
<dd><p>Combines the above functions to provide a compact result of the band edges and the effective masses.</p>
</dd></dl>
<span class="target" id="module-solcore.quantum_mechanics.kp_QW"></span><dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.sort_simultaneous">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">sort_simultaneous</code><span class="sig-paren">(</span><em>*lists</em><span class="sig-paren">)</span><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.sort_simultaneous" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.alfa">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">alfa</code><span class="sig-paren">(</span><em>Eband</em>, <em>m</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#alfa"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.alfa" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.kp4x4">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">kp4x4</code><span class="sig-paren">(</span><em>mat</em>, <em>host_material</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#kp4x4"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.kp4x4" title="Permalink to this definition">¶</a></dt>
<dd><p>Calculates the bandedges and bulk effective masses of a material under biaxial strain at the gamma point.
SO band is ignored.</p>
<p>This function provides the position at the zone center of the C, HH and LH bands of a material under biaxial strain.
Both, the paralell and transverse effective masses (with respect the Z axis) are provided. SO band is ignored,
therefore the masses are independent of strain.</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.kp6x6">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">kp6x6</code><span class="sig-paren">(</span><em>mat</em>, <em>host_material</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#kp6x6"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.kp6x6" title="Permalink to this definition">¶</a></dt>
<dd><p>Calculates the bandedges and bulk effective masses of a material under biaxial strain at the gamma point
including the SO band.</p>
<p>This function provides the position at the zone center of the C, HH, LH and SO bands of a material under biaxial
strain. Both, the paralell and transverse effective masses (with respect the Z axis) are provided.</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.fill_hamiltonian_holes_4x4">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">fill_hamiltonian_holes_4x4</code><span class="sig-paren">(</span><em>A1</em>, <em>A2</em>, <em>B1</em>, <em>B2</em>, <em>C</em>, <em>D</em>, <em>delta</em>, <em>block</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#fill_hamiltonian_holes_4x4"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.fill_hamiltonian_holes_4x4" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.solve_holes_QW_at_kt_4x4">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">solve_holes_QW_at_kt_4x4</code><span class="sig-paren">(</span><em>kt</em>, <em>z</em>, <em>fhh</em>, <em>flh</em>, <em>g1</em>, <em>g2</em>, <em>g3</em>, <em>num=(10</em>, <em>10)</em>, <em>quasiconfined=0.0</em>, <em>symmetric=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#solve_holes_QW_at_kt_4x4"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.solve_holes_QW_at_kt_4x4" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.fill_hamiltonian_holes_6x6">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">fill_hamiltonian_holes_6x6</code><span class="sig-paren">(</span><em>A1</em>, <em>A2</em>, <em>B1</em>, <em>B2</em>, <em>C</em>, <em>D</em>, <em>delta</em>, <em>block</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#fill_hamiltonian_holes_6x6"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.fill_hamiltonian_holes_6x6" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.solve_holes_QW_at_kt_6x6">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">solve_holes_QW_at_kt_6x6</code><span class="sig-paren">(</span><em>kt</em>, <em>z</em>, <em>fhh</em>, <em>flh</em>, <em>g1</em>, <em>g2</em>, <em>g3</em>, <em>num=(10</em>, <em>10)</em>, <em>quasiconfined=0.0</em>, <em>symmetric=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#solve_holes_QW_at_kt_6x6"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.solve_holes_QW_at_kt_6x6" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.solve_electrons_QW_at_kt_parabolic">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">solve_electrons_QW_at_kt_parabolic</code><span class="sig-paren">(</span><em>kt</em>, <em>z</em>, <em>fe</em>, <em>me</em>, <em>num=(10</em>, <em>10)</em>, <em>quasiconfined=0.0</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#solve_electrons_QW_at_kt_parabolic"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.solve_electrons_QW_at_kt_parabolic" title="Permalink to this definition">¶</a></dt>
<dd><p>Returns eignvalue and eigenvectors of an arbitrary potential.</p>
<p>A tridiagonal matrix is constructed by writing the variable effective
mass Schrodinger equation over a series of mesh points. The eigenvalues
of the matrix correspond to the allowed energy levels of the system.</p>
<p>The previous solver, eig, has been replaced by the spare matrix version, eigs, that is faster to compute</p>
<p>“Varible effective mass Schordinger equation and tridiagonal solution method.”,
“Frensley, W. R. (1991). Numerical evaluation of resonant states. Superlattices and Microstructures, 11(3), 347350. doi:10.1016/0749-6036(92)90396-M”)</p>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.band_sorting">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">band_sorting</code><span class="sig-paren">(</span><em>bands</em>, <em>symmetric=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#band_sorting"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.band_sorting" title="Permalink to this definition">¶</a></dt>
<dd><p>Sort the bands in C, HH and LH according to their character at k.txt=0
:param bands: A dictionary containing the bandstructure as calculated by solve_electrons_QW_at_kt_parabolic and</p>
<blockquote>
<div>solve_holes_QW_at_kt_4x4</div></blockquote>
<table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">Returns:</th><td class="field-body">A dictionary with the same input information but arranged in a different way, including labels</td>
</tr>
</tbody>
</table>
</dd></dl>
<dl class="function">
<dt id="solcore.quantum_mechanics.kp_QW.solve_bandstructure_QW">
<code class="descclassname">solcore.quantum_mechanics.kp_QW.</code><code class="descname">solve_bandstructure_QW</code><span class="sig-paren">(</span><em>structure</em>, <em>num=10</em>, <em>kpoints=40</em>, <em>krange=5000000000.0</em>, <em>quasiconfined=0.0</em>, <em>symmetric=False</em>, <em>plot_bands=False</em><span class="sig-paren">)</span><a class="reference internal" href="../_modules/solcore/quantum_mechanics/kp_QW.html#solve_bandstructure_QW"><span class="viewcode-link">[source]</span></a><a class="headerlink" href="#solcore.quantum_mechanics.kp_QW.solve_bandstructure_QW" title="Permalink to this definition">¶</a></dt>
<dd></dd></dl>
</div>
</div>
</div>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related" role="navigation" aria-label="related navigation">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="../genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="../py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="../Absorption/Absorption.html" title="Absorption calculator"
>next</a> |</li>
<li class="right" >
<a href="../Systems/Mobility.html" title="The mobility module"
>previous</a> |</li>
<li class="nav-item nav-item-0"><a href="../index.html">Solcore 5.0.2 documentation</a> »</li>
</ul>
</div>
<div class="footer" role="contentinfo">
© Copyright 2018, Quantum Photovoltaics Group, Imperial College London.
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.6.3.
</div>
</body>
</html>