檢視 Function getmupbyET(ind,Ex,Ey,T,xp,yp) 的原始碼
←
Function getmupbyET(ind,Ex,Ey,T,xp,yp)
跳至導覽
跳至搜尋
由於以下原因,您無權編輯此頁面:
您請求的操作只有這個群組的使用者能使用:
使用者
您可以檢視並複製此頁面的原始碼。
function getmupbyET(ind,Ex,Ey,T,xp,yp) is to return the program the hole's mobility according to electric field, temperature, x, y. If some more information is needed, such as carrier density, you can call the global variable. <br> The command to call this function is: <br> [[$useemufunc]], [[$useemunfunc]], [[$useemupfunc]] <br> function getmupbyET(ind,Ex,Ey,T,xp,yp) use global2d implicit none integer*4 :: ind ! element's global index number real*8 :: getmupbyET ! return value of mobility integer*4 :: i,j,k,regionindex real*8 :: Ex,Ey , T ,xp,yp, vsat, Esaturation ,Eslope ,mun_low, Esat real*8 :: v , x real*8 :: A, Asat, Amin, B, Bmax, Bstart,Bslope , nn(3),pp(3) , nave,pave,n0,p0 , orginalmun do i=1,3 nn(i)= me%n( me%element(i,ind) ) ! carrier density is saved in node, not element pp(i)= me%p( me%element(i,ind) ) ! mobility is for element. So we need to get the average value end do regionindex=me%parEL(ind) ! To obtained the region information for this node nave=sum(nn)/3.0 ! average carrier density pave=sum(pp)/3.0 ! average carrier density if( xp < 1.0d-4 .and. yp < 1.0d-4) then x=Ex v= B+Bmax*exp((Bstart-Ex)/Bslope) getmupbyET=v/Ex *(p0/pave) else getmupbyET=mun_low *(p0/pave) end if print*, " " print*, "************************************************************************" print*, " Error! This version does not support using external libemufunc.so module" print*, " You might accidentally set $useemupfunc to activate using external module" print*, " Please execute 2D-ddcc-dyna.exe instead." Print*, " Program Stop! " stop end function getmupbyET
返回到「
Function getmupbyET(ind,Ex,Ey,T,xp,yp)
」。
導覽選單
個人工具
登入
命名空間
頁面
討論
臺灣正體
視圖
閱讀
檢視原始碼
檢視歷史
更多
搜尋
導覽
首頁
近期變更
隨機頁面
MediaWiki說明
工具
連結至此的頁面
相關變更
特殊頁面
頁面資訊