<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="zh-Hant-TW">
	<id>https://yrwu-wk.ee.ntu.edu.tw/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Subroutine_parameter_mod</id>
	<title>Subroutine parameter mod - 修訂紀錄</title>
	<link rel="self" type="application/atom+xml" href="https://yrwu-wk.ee.ntu.edu.tw/mediawiki/index.php?action=history&amp;feed=atom&amp;title=Subroutine_parameter_mod"/>
	<link rel="alternate" type="text/html" href="https://yrwu-wk.ee.ntu.edu.tw/mediawiki/index.php?title=Subroutine_parameter_mod&amp;action=history"/>
	<updated>2026-04-12T10:14:45Z</updated>
	<subtitle>本 wiki 上此頁面的修訂紀錄</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>https://yrwu-wk.ee.ntu.edu.tw/mediawiki/index.php?title=Subroutine_parameter_mod&amp;diff=524&amp;oldid=prev</id>
		<title>Yrwu：​已建立頁面，內容為 &quot;subroutine parameter_mod is a powerful module. This subroutine is called after the program reads in all parameters and all node&#039;s material properties.  After all par...&quot;</title>
		<link rel="alternate" type="text/html" href="https://yrwu-wk.ee.ntu.edu.tw/mediawiki/index.php?title=Subroutine_parameter_mod&amp;diff=524&amp;oldid=prev"/>
		<updated>2017-09-01T13:23:30Z</updated>

		<summary type="html">&lt;p&gt;已建立頁面，內容為 &amp;quot;subroutine parameter_mod is a powerful module. This subroutine is called after the program reads in all parameters and all node&amp;#039;s material properties.  After all par...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;新頁面&lt;/b&gt;&lt;/p&gt;&lt;div&gt;subroutine parameter_mod is a powerful module. This subroutine is called after the program reads in all parameters and all node&amp;#039;s material properties. &lt;br /&gt;
After all parameters are assigned and users used this command [[$assignparbyfunc]], The program will call this subroutine if 2D-ddcc-dyna.exe in linux version is used.&lt;br /&gt;
You don&amp;#039;t need to assigned or modify all parameters listed below. You only need to modify what you want to change. &lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;This subroutine is only for experts. Any wrong assignment will lead the program to crash&amp;#039;&amp;#039; &lt;br /&gt;
&lt;br /&gt;
 subroutine parameter_mod&lt;br /&gt;
 use nrtype&lt;br /&gt;
 use global2d&lt;br /&gt;
 use global2dextra&lt;br /&gt;
 use utility, only : findinarray,lintp ,ifintriangleperiod !,callgeneration&lt;br /&gt;
 implicit none&lt;br /&gt;
 integer(I4B)  :: i,j,k,i1,i2 ,ksk&lt;br /&gt;
 real(dp) :: const,temp1,temp2,temp3,KBT&lt;br /&gt;
 real(dp)  :: xl, xr, yb ,yt , me_1,me_2,mhh,mlh, Incom, AA,BB,CC,DD, tempEg,TempM(4),tempPE(2),tempdi(2)&lt;br /&gt;
 logical :: notfind , errorstop&lt;br /&gt;
&lt;br /&gt;
  KBT=KB*par%t&lt;br /&gt;
  const=2.0_dp*((M0*KB*par%t)/(TWOPI_D*HBAR*HBAR))**1.5&lt;br /&gt;
  print *, &amp;quot;loading parameters to nodes&amp;quot;   &lt;br /&gt;
  do i = 1,me%nnode&lt;br /&gt;
      if( (me%x(i)&amp;gt;xl) .and. (me%x(i)&amp;lt;xr) .and. (me%y(i)&amp;gt;yb) .and. (me%y(i)&amp;lt;yt) ) then&lt;br /&gt;
                me%eg(i) = tempEg    ! bandgap  (eV)&lt;br /&gt;
                me%dope(i) = 1.0e18   ! doping  (1/cm^3)&lt;br /&gt;
                me%ea(i) = 0.025         ! activation energy (eV)&lt;br /&gt;
                me%ea(i) = 0.025         ! activation energy (eV)&lt;br /&gt;
                me%efmass(1,i) = tempM(1)   ! effective mass of electron&lt;br /&gt;
                me%efmass(2,i) = tempM(2)   ! effective mass of electron perp&lt;br /&gt;
                me%efmass(3,i) = tempM(3)   ! effective mass of HHnano&lt;br /&gt;
                me%efmass(4,i) = tempM(4)   ! effective mass of LF&lt;br /&gt;
                me%pe(1,i) =tempPE(1)           ! polarization of z&lt;br /&gt;
                me%pe(2,i) =0.0           ! polarization of x&lt;br /&gt;
                me%xnd(i)= 1.0e0         ! impurity doping of material&lt;br /&gt;
                me%taun(i) = 1.0e-8                     ! nonradiative lifetime electron&lt;br /&gt;
                me%taup(i) = 1.0e-8                     ! nonradiative lifetime hole&lt;br /&gt;
                me%mun(i) = 300.0  ! electron mobility&lt;br /&gt;
                me%mup(i) = 10.0    ! hole mobility&lt;br /&gt;
                me%Ecoff(i) = 0.5  ! band offset&lt;br /&gt;
                me%par(i) = 1  ! assign this region is equal to original input file&amp;#039;s region number (If you don&amp;#039;t know what it means, marked it  !me%par(i)&lt;br /&gt;
                me%xnc(i)= const*(me%efmass(1,i)*me%efmass(1,i)*me%efmass(2,i))**0.5  ! don&amp;#039;t modify this part&lt;br /&gt;
                me%generation(i)=real(i) ! generation rate here is simply a demo&lt;br /&gt;
                affinity(i)=4.0_dp  ! material affinity&lt;br /&gt;
                affinitypar(me%par(i))=29.0_dp&lt;br /&gt;
             end if&lt;br /&gt;
     end do&lt;br /&gt;
    ! Here is to assign element&amp;#039;s parameter&lt;br /&gt;
    do i = 1,me%nelement&lt;br /&gt;
       if( (me%xp(i) &amp;gt;= xl) .and. (me%xp(i) &amp;lt; xr) .and. &amp;amp;&lt;br /&gt;
           (me%yp(i)&amp;lt;= yt) .and. (me%yp(i)&amp;gt; yb) ) then&lt;br /&gt;
                me%diEL(1:2,i) = 12.90*8.85d-14  ! dielectri constant along x(1)  y(2)&lt;br /&gt;
                me%egEL(i) = 3.3    ! assign the element&amp;#039;s eg (eV)&lt;br /&gt;
                me%peEl(1,i) = 1.0e13   ! assign the element&amp;#039;s polarization field in z&lt;br /&gt;
                me%peEl(2,i) = 0.0   ! assign the element&amp;#039;s polarization field in x&lt;br /&gt;
                me%munEl(i) =300.0    ! electron mobility&lt;br /&gt;
                me%mupEl(i) =10.0    ! hole mobility&lt;br /&gt;
                me%parEl(i) = 1  ! assign this region is equal to original input file&amp;#039;s region number (If you don&amp;#039;t know what it means, marked it  !me%parEl(i)&lt;br /&gt;
                affinityEL(i) = 4.0_dp ! assign the affinity of element&lt;br /&gt;
        end if&lt;br /&gt;
      end do&lt;br /&gt;
      print*,&amp;quot;This is a demo of libmodpar.f90. You should not use this one without proper changes. The program will be stopped unless you unmark stop command&amp;quot;&lt;br /&gt;
      stop&lt;br /&gt;
end subroutine&lt;/div&gt;</summary>
		<author><name>Yrwu</name></author>
	</entry>
</feed>