亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? schrsolve.m

?? AQUILA is a MATLAB toolbox for the one- or twodimensional simulation of %the electronic properties
?? M
字號:
function schrsolve(potential,fl)

%SCHRSOLVE solve Schroedinger equation
%
%schrsolve(potential,flag)
%
%Solves Schroedingers equation for all quantum boxes and all carrier types.
%The resulting energies and wavefunctions are stored in the global
%structure aquila_subbands.xx (xx=ge,xe,le,hh,lh,so).
%The necessary information concerning material composition etc. are taken from the 
%global variables characterizing the grid.
%
%potential is the electrostatic potential for which Schroedingers equation is to be solved.
%flag=1 indicates, that old solutions should be adapted to a slightly changed
%   potential via inverse vectoriteration instead of a complete recomputation
%   of the energy spectrum.
%
%Result: aquila_subbands.xx(nr).E = vector of energies or matrix for 1D quantization
%        aquila_subbands.xx(nr).psi = wavefunctions of all subbands
%           size=nr. of solutions * size of corresponding QBOX
%           i.e. psi=[1st 2nd 3rd ..] subband-wavefunction
%        nr numbers the QBOXes in order of definition
%(See file 'structures' for a description of aquila_subbands).

%Copyright 1999 Martin Rother
%
%This file is part of AQUILA.
%
%AQUILA is free software; you can redistribute it and/or modify
%it under the terms of the GNU General Public License as published by
%the Free Software Foundation; either version 2 of the License, or
%(at your option) any later version.
%
%AQUILA is distributed in the hope that it will be useful,
%but WITHOUT ANY WARRANTY; without even the implied warranty of
%MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%GNU General Public License for more details.
%
%You should have received a copy of the GNU General Public License
%along with AQUILA; if not, write to the Free Software
%Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA

global aquila_subbands aquila_control aquila_structure aquila_material

%check for correct execution order
if bitget(aquila_control.progress_check,6)==0
   error('schrsolve: You must run BUILDSTRUCTURE before solving Schroedingers equation !')
end

%define some constants
constants

%tell the user, what we are doing
if aquila_control.verbose>0
   disp('schrsolve: solving Schroedinger equation for all quantum regions')               
end

n=size(aquila_structure.qbox);
for count=1:n(1) %for all QBOXes   
   if bitand(aquila_structure.qbox(count,9),GE)>0 %the QBOX works on gamma electrons
      %find the indices of the corresponding nodes in the grid
      [ix,iy]=boxindex(aquila_structure.xpos,aquila_structure.ypos,...
         aquila_structure.qbox(count,[1:4]));
      %get the masses
      mx=aquila_material.meg(iy,ix);
      my=mx; 
      %correct the indices
      ix=[ix ix(end)+1];
      if aquila_control.mode==2
         iy=[iy iy(end)+1];
      end
      %compute the potential = sum of conduction band edge and electric potential
      pot=aquila_material.eg(iy,ix)-potential(iy,ix);
      %some output for the user
      if aquila_control.verbose>1
         os=sprintf('qbox nr %d, Gamma electrons, type %d',count,aquila_structure.qbox(count,8));
         disp(os)               
      end
      %call the driver routine for the solver
      if length(aquila_subbands.ge)>=count %we already have subbands -> use them in the solver
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),aquila_subbands.ge(count),fl);
      else %we have no subbands computed before
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),[],fl);
      end
      %store the result
      aquila_subbands.ge(count).E=E;
      aquila_subbands.ge(count).psi=ev;
   end
   
   %here comes the same stuff for X-point electrons
   if bitand(aquila_structure.qbox(count,9),XE)>0
      [ix,iy]=boxindex(aquila_structure.xpos,aquila_structure.ypos,...
         aquila_structure.qbox(count,[1:4]));
      mx=aquila_material.mex(iy,ix);
      my=mx;
      ix=[ix ix(end)+1];
      if aquila_control.mode==2
         iy=[iy iy(end)+1];
      end
      pot=aquila_material.ex(iy,ix)-potential(iy,ix);
      if aquila_control.verbose>1
         os=sprintf('qbox nr %d, X electrons, type %d',count,aquila_structure.qbox(count,8));
         disp(os)               
      end
      if length(aquila_subbands.xe)>=count
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),aquila_subbands.xe(count),fl);
      else
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),[],fl);
      end
      aquila_subbands.xe(count).E=E;
      aquila_subbands.xe(count).psi=ev;
   end
   
   %L-point electrons
   if bitand(aquila_structure.qbox(count,9),LE)>0
      [ix,iy]=boxindex(aquila_structure.xpos,aquila_structure.ypos,...
         aquila_structure.qbox(count,[1:4]));
      mx=aquila_material.mel(iy,ix);
      my=mx;
      ix=[ix ix(end)+1];
      if aquila_control.mode==2
         iy=[iy iy(end)+1];
      end
      pot=aquila_material.el(iy,ix)-potential(iy,ix);
      if aquila_control.verbose>1
         os=sprintf('qbox nr %d, L electrons, type %d',count,aquila_structure.qbox(count,8));
         disp(os)               
      end
      if length(aquila_subbands.le)>=count
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),aquila_subbands.le(count),fl);
      else
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),[],fl);
      end
      aquila_subbands.le(count).E=E;
      aquila_subbands.le(count).psi=ev;
   end
   
   %light holes
   if bitand(aquila_structure.qbox(count,9),LH)>0
      [ix,iy]=boxindex(aquila_structure.xpos,aquila_structure.ypos,...
         aquila_structure.qbox(count,[1:4]));
      mx=aquila_material.mlh001(iy,ix);
      my=aquila_material.mlh110(iy,ix);
      ix=[ix ix(end)+1];
      if aquila_control.mode==2
         iy=[iy iy(end)+1];
      end
      pot=-(aquila_material.ev(iy,ix)-potential(iy,ix));
      if aquila_control.verbose>1
         os=sprintf('qbox nr %d, light holes, type %d',count,aquila_structure.qbox(count,8));
         disp(os)               
      end
      if length(aquila_subbands.lh)>=count
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),aquila_subbands.lh(count),fl);
      else
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),[],fl);
      end
      aquila_subbands.lh(count).E=-E;
      aquila_subbands.lh(count).psi=ev;
   end
   
   %heavy holes
   if bitand(aquila_structure.qbox(count,9),HH)>0
      [ix,iy]=boxindex(aquila_structure.xpos,aquila_structure.ypos,...
         aquila_structure.qbox(count,[1:4]));
      mx=aquila_material.mhh001(iy,ix);
      my=aquila_material.mhh110(iy,ix);
      ix=[ix ix(end)+1];
      if aquila_control.mode==2
         iy=[iy iy(end)+1];
      end
      pot=-(aquila_material.ev(iy,ix)-potential(iy,ix));
      if aquila_control.verbose>1
         os=sprintf('qbox nr %d, heavy holes, type %d',count,aquila_structure.qbox(count,8));
         disp(os)               
      end
      if length(aquila_subbands.hh)>=count
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),aquila_subbands.hh(count),fl);
      else
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),[],fl);
      end
      aquila_subbands.hh(count).E=-E;
      aquila_subbands.hh(count).psi=ev;
   end
   
   %split-off holes
   if bitand(aquila_structure.qbox(count,9),SO)>0
      [ix,iy]=boxindex(aquila_structure.xpos,aquila_structure.ypos,...
         aquila_structure.qbox(count,[1:4]));
      mx=aquila_material.mso(iy,ix);%DOS mass probably not correct here
      my=mx;
      ix=[ix ix(end)+1];
      if aquila_control.mode==2
         iy=[iy iy(end)+1];
      end
      pot=-(aquila_material.eso(iy,ix)-potential(iy,ix));
      if aquila_control.verbose>1
         os=sprintf('qbox nr %d, split-off holes, type %d',count,aquila_structure.qbox(count,8));
         disp(os)               
      end
      if length(aquila_subbands.so)>=count
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),aquila_subbands.so(count),fl);
      else
         [E,ev]=solveit(pot,ix,iy,mx,my,aquila_structure.qbox(count,7),...
            aquila_structure.qbox(count,8),[],fl);
      end
      aquila_subbands.so(count).E=-E;
      aquila_subbands.so(count).psi=ev;
   end
end
%set the flag, that we now have subbands
aquila_control.progress_check=bitset(aquila_control.progress_check,7);   

%the driver routine for the solvers
function [E,ev]=solveit(pot,xp,yp,mx,my,subb,tp,subbands,fl);
global aquila_control aquila_structure
constants
%for every type of QBOX call the corresponding solver
%according to the flag 'fl' use Arnoldi (schrsolv..) or inverse vectoriteration (schrtrack..)
switch tp
case QWR %x and y quantized, a quantum wire
   if (bitget(aquila_control.progress_check,7)>0)&(fl==1)&(~isempty(subbands))
      [E,ev]=schrtrack2D(pot,xp,yp,mx,my,subbands.E,subbands.psi);
   else
      [E,ev]=schrsolv2D(pot,xp,yp,mx,my,subb);
   end
case QWX %y motion quantized, a quantum well in y-direction
   if (bitget(aquila_control.progress_check,7)>0)&(fl==1)&(~isempty(subbands))
      [E,ev]=schrtrack1D(pot,aquila_structure.xpos(xp),aquila_structure.ypos(yp),...
         my,subbands.E,subbands.psi);
   else
      [E,ev]=schrsolv1D(pot,aquila_structure.xpos(xp),aquila_structure.ypos(yp),my,subb);
   end
case QWY %x motion quantized, a quantum well in x-direction
   %this uses the same routine as in the QWX-case
   %so we must transpose the whole scenario to exchange x- and y-direction
   %and thereby froming a QWX scenario
   if (fl==1)&(~isempty(subbands))
      if aquila_control.mode==2
         psi=[];
         n=length(xp);
         for i_count=0:length(subbands.E(:,1))-1
            psi=[psi subbands.psi(:,i_count*n+1:(i_count+1)*n)'];
         end
      else
         psi=reshape(subbands.psi',length(xp),length(subbands.E));
      end
   end
   if (bitget(aquila_control.progress_check,7)>0)&(fl==1)&(~isempty(subbands))
      [E,ev]=schrtrack1D(pot',aquila_structure.ypos(yp),aquila_structure.xpos(xp),...
         mx',subbands.E,psi);
   else
      [E,ev]=schrsolv1D(pot',aquila_structure.ypos(yp),aquila_structure.xpos(xp),mx',subb);
   end
   %now we transpose the results to get back to the original QWY scenario
   if aquila_control.mode==2
      psi=[];
      n=length(yp);
      for i_count=0:length(E(:,1))-1
         psi=[psi ev(:,i_count*n+1:(i_count+1)*n)'];
      end
      ev=psi;
   else
      ev=ev(:)';
   end
end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美手机在线视频| 日韩欧美一区在线| 精品一区二区影视| 亚洲同性gay激情无套| 欧美精品v日韩精品v韩国精品v| 国产精品一区在线观看你懂的| 亚洲精品v日韩精品| 国产亚洲婷婷免费| 日韩手机在线导航| 精品视频在线免费观看| 成人av网在线| 国内不卡的二区三区中文字幕| 亚洲成人激情自拍| 亚洲免费在线视频| 亚洲欧洲性图库| 久久久久久久久久久久久久久99| 欧美肥妇free| 欧美色区777第一页| 91在线观看成人| 成人激情小说网站| 国产mv日韩mv欧美| 国产福利一区在线观看| 蜜臀av一区二区| 日日夜夜免费精品| 日韩在线a电影| 亚洲国产一区二区三区青草影视| 亚洲人成伊人成综合网小说| 国产亚洲一二三区| 久久久91精品国产一区二区精品| 欧美成人精品1314www| 884aa四虎影成人精品一区| 欧美日韩中文一区| 欧美私模裸体表演在线观看| 91国产成人在线| 色噜噜夜夜夜综合网| 色综合天天狠狠| 一本久道久久综合中文字幕| 99久久精品国产观看| 9色porny自拍视频一区二区| 99久久精品情趣| 91免费版在线| 在线视频欧美区| 欧美日韩在线一区二区| 欧美巨大另类极品videosbest| 欧美午夜精品理论片a级按摩| 91高清视频在线| 欧美精品777| 精品免费日韩av| 久久综合色综合88| 中文av字幕一区| 亚洲精品国产一区二区精华液| 一区二区三区日韩精品视频| 亚洲成人综合视频| 免费xxxx性欧美18vr| 精品一区二区三区免费播放| 国精产品一区一区三区mba桃花 | 亚洲美女一区二区三区| 有坂深雪av一区二区精品| 五月激情六月综合| 久久国产夜色精品鲁鲁99| 国产成人在线视频播放| 91亚洲国产成人精品一区二区三| 色呦呦日韩精品| 欧美一区二区三区在线| 国产欧美一区视频| 亚洲精品中文在线观看| 天堂精品中文字幕在线| 国产精品1区2区3区在线观看| 成人高清免费在线播放| 色www精品视频在线观看| 欧美一区二区三区男人的天堂| 2020国产精品自拍| 一区二区三区久久| 美女视频黄 久久| 成人午夜又粗又硬又大| 欧美色大人视频| 欧美成人aa大片| 亚洲激情第一区| 蜜桃av噜噜一区| 99精品1区2区| 日韩精品一区二区三区中文不卡| 国产精品美女久久久久高潮| 亚洲靠逼com| 精品一区二区在线看| 一本一道波多野结衣一区二区| 91精品国产综合久久福利| 国产精品的网站| 久久精品国产亚洲5555| 色网站国产精品| 久久精品人人爽人人爽| 午夜精品久久一牛影视| 播五月开心婷婷综合| 日韩欧美成人一区| 亚洲一区二三区| 风间由美一区二区三区在线观看| 欧美视频精品在线| 欧美激情一区二区在线| 免费成人av在线播放| 欧美在线观看视频一区二区| 久久精品一二三| 日韩av在线播放中文字幕| 91浏览器在线视频| 久久精品人人爽人人爽| 免费观看日韩电影| 欧美日韩一区成人| 亚洲婷婷综合色高清在线| 国产精品亚洲一区二区三区在线 | 天堂成人免费av电影一区| 成人黄色在线看| 欧美成人福利视频| 亚洲午夜电影网| 91免费在线看| 18涩涩午夜精品.www| 国产一区二区三区久久悠悠色av| 欧美老女人第四色| 亚洲人成精品久久久久| 国产不卡在线播放| 欧美tk丨vk视频| 免费一级片91| 欧美日韩国产免费| 一区二区免费看| 99久久er热在这里只有精品15| 欧美国产日韩在线观看| 国产麻豆视频一区| 国产亚洲欧美激情| 国产精品综合在线视频| 精品少妇一区二区三区视频免付费| 亚洲国产综合色| 欧美日韩精品欧美日韩精品一| 亚洲伊人色欲综合网| 色丁香久综合在线久综合在线观看| 国产精品久久精品日日| 99久久精品免费精品国产| 最近中文字幕一区二区三区| 北条麻妃一区二区三区| 亚洲人成网站精品片在线观看| 一本色道a无线码一区v| 国产精品色哟哟网站| 不卡视频免费播放| 亚洲天堂成人网| 色综合激情五月| 亚洲成人动漫av| 日韩一区二区三区四区 | 六月丁香综合在线视频| 日韩一级片在线观看| 久久91精品国产91久久小草| 精品久久久久久久久久久久久久久久久 | 国产精品国产三级国产普通话三级| 高清国产一区二区三区| 亚洲色图第一区| 欧美亚洲高清一区| 麻豆精品一区二区综合av| 欧美成人r级一区二区三区| 国产精品自产自拍| 国产精品国产a级| 欧美视频在线一区| 蜜桃视频第一区免费观看| 久久九九99视频| 99国产精品久久久久久久久久 | 久久久久综合网| 床上的激情91.| 依依成人综合视频| 欧美日韩久久不卡| 久久99国产精品久久99| 亚洲欧美在线视频| 欧美天堂一区二区三区| 久久er99热精品一区二区| 国产精品卡一卡二| 欧美精品一卡两卡| 国产成人福利片| 亚洲综合视频网| 亚洲精品一区在线观看| 99久久精品免费观看| 秋霞成人午夜伦在线观看| 国产欧美一区二区精品性色超碰| 91久久国产最好的精华液| 精一区二区三区| 亚洲综合偷拍欧美一区色| 精品久久久久久最新网址| 日本韩国欧美一区| 狠狠色丁香九九婷婷综合五月| 日韩伦理av电影| 欧美一区二区三区在线电影| heyzo一本久久综合| 日本不卡视频一二三区| 亚洲视频在线一区二区| 日韩一区二区在线观看视频| 99re这里只有精品6| 久久国产免费看| 亚洲激情男女视频| 国产午夜精品福利| 日韩精品亚洲一区| 中文字幕一区二区视频| 日韩欧美中文字幕一区| 日本高清不卡视频| 成人永久免费视频| 美女视频黄 久久| 亚洲午夜精品17c| 亚洲男人的天堂在线aⅴ视频| 精品电影一区二区三区|