²é¿´: 477  |  »Ø¸´: 1
µ±Ç°Ö÷ÌâÒѾ­´æµµ¡£
¡¾Óн±½»Á÷¡¿»ý¼«»Ø¸´±¾Ìû×Ó£¬²ÎÓë½»Á÷£¬¾ÍÓлú»á·ÖµÃ×÷Õß futurehero µÄ 100 ¸ö½ð±Ò

futurehero

гæ (ÕýʽдÊÖ)

[½»Á÷] ¡¾ÇóÖú¡¿³ÏÇóÖú²¢ÐмÆËãÖеÄÒ»¸öÎÊÌ⣬лл´ó¼Ò£¡

Õâ¸ö³ÌÐò´óÖÂÈçÏ£¬ÎÒÏëÓò¢ÐмÆËã½â¾ö¡°doÑ­»·Öаüº¬»ý·Ö¡±µÄ¼ÆËãÎÊÌâ¡£Èç¹û½«²¢ÐеÄÏß³ÌÉèΪ1£¬ÔòºÍ´®ÐмÆËãµÄ½á¹ûÒ»Ö±£¬µ«ÊÇÏ̴߳óÓÚ1ʱ£¬¼ÆËãµÄ½á¹û¾Í²»ÕýÈ·ÁË¡£Ð¡µÜ¸Õ¸Õ½Ó´¥²¢ÐмÆËãÁ½Ì죬×öÁ˺ܶàÖÖ·½°¸¶¼·¢ÏÖÏ̴߳óÓÚ1ʱ¼ÆËãµÄ½á¹û¶¼²»¶Ô£¬ÇëÖîλ´óÏÀ°ïÖú£¬ÎÒÏëµÃµ½ÕùÈ¡µÄ²¢ÐмÆËã½á¹û¡£Èç¹û½«³ÌÐòÖеÄcall omp_set_num_threads(4 )Ï̸߳ÄΪcall omp_set_num_threads(1 )¾ÍºÍ´®Ðнá¹ûÊÇÒ»Öµġ£(¿ÉÄÜÄúÖ»ÐèÒª¿´Ò»Ï²¢ÐÐÇø¾Í¿ÉÒÔ·¢ÏÖÎÊÌâËùÔÚÁË)
³ÌÐòÈçÏ£º

program main  
implicit none
            
integer:: Num, i, p, j, k ,var, r ,Y
real(kind=8):: D, epsl21, epsl22, T, eta, Gama, GamaL, GamaR, epsl0, VL, VR

parameter(D=1.0_8, Num=10001, Gama=0.01_8, GamaL=0.005_8, GamaR=0.005_8, epsl0=-0.1_8, VL=0.0_8, VR= 0.0_8)

real(kind=8):: pi, Dc, Hc, fL(Num), fR(Num), f0(Num), epsl(Num), epsl11, epsl12, dIdV(Num)
complex(kind=8):: sigma0, FG11(Num), FG12(Num), FG21(Num), FG22(Num)

complex(kind=8):: G011(Num), G012(Num), G021(Num), G022(Num), G11(Num), G12(Num), G21(Num), G22(Num)
complex(kind=8):: DDOS(Num), DOS, D11, D12, D21, D22
complex(kind=8):: n11, n12, n21, n22

complex(kind=8):: delta1211(Num), delta2111(Num), delta2211(Num)
complex(kind=8):: delta1112(Num), delta2112(Num), delta2212(Num)

complex(kind=8):: delta1121(Num), delta1221(Num), delta2221(Num)
complex(kind=8):: delta1122(Num), delta1222(Num), delta2122(Num)

complex(kind=8)::   FZB11(Num),   FZB12(Num),   FZB21(Num),   FZB22(Num)

complex(kind=8)::   B1211(Num),   B2111(Num),   B2211(Num)  
complex(kind=8)::   FB1211(Num),  FB2111(Num),  FB2211(Num)

complex(kind=8)::   B1112(Num),   B2112(Num),   B2212(Num)  
complex(kind=8)::  FB1112(Num),  FB2112(Num),  FB2212(Num)  

complex(kind=8)::  B1121(Num),   B1221(Num),   B2221(Num)
complex(kind=8)::  FB1121(Num),  FB1221(Num),  FB2221(Num)

complex(kind=8)::   B1222(Num),   B2122(Num),   B1122(Num)
complex(kind=8)::  FB1222(Num),  FB2122(Num),  FB1122(Num)

real(kind=8)::    m, Field, SOC, Tk   

Dc=2*D / (Num-1)  
eta =2.0*Dc                       
pi=4.0_8*datan(1.0_8)  

m=0.00_8  
T=0.0_8   
SOC=0.00000_8   
Field=0.00000_8  
epsl11=epsl0 - SOC/2.0_8 - m*Field - Field
epsl12=epsl0 + SOC/2.0_8 + m*Field - Field  
epsl21=epsl0 + SOC/2.0_8 - m*Field + Field
epsl22=epsl0 - SOC/2.0_8 + m*Field + Field
do i=1, Num, 1
   epsl(i)=-D + (i-1)  *Dc                                                                           
end do
do i=1, Num, 1        
   if(  epsl(i)           <  VL       )  fL(i)=1.0_8         
   if(  epsl(i)           >  VL       )  fL(i)=0.0_8               
   if(  dabs(epsl(i)-VL)  <  0.01_8*Dc ) fL(i)=0.5_8   
   if(  epsl(i)           <  VR       )  fR(i)=1.0_8                     
   if(  epsl(i)           >  VR       )  fR(i)=0.0_8         
   if(  dabs(epsl(i)-VR)  <  0.01_8*Dc ) fR(i)=0.5_8            
end do                                                                                             
f0=(    fL*GamaL  +  fR*GamaR    ) /Gama         
delta1211=dcmplx(  epsl12 - epsl11,      eta  ) - epsl                 
delta2111=dcmplx(  epsl21 - epsl11,      eta  ) - epsl              
delta2211=dcmplx(  epsl22 - epsl11,      eta  ) - epsl                 
      
delta1112=dcmplx(  epsl11 - epsl12,      eta  ) - epsl         
delta2112=dcmplx(  epsl21 - epsl12,      eta  ) - epsl         
delta2212=dcmplx(  epsl22 - epsl12,      eta  ) - epsl  
delta1121=dcmplx(  epsl11 - epsl21,      eta  ) - epsl         
delta1221=dcmplx(  epsl12 - epsl21,      eta  ) - epsl      
delta2221=dcmplx(  epsl22 - epsl21,      eta  ) - epsl            
delta1122=dcmplx(  epsl11 - epsl22,      eta  ) - epsl                  
delta1222=dcmplx(  epsl12 - epsl22,      eta  ) - epsl         
delta2122=dcmplx(  epsl21 - epsl22,      eta  ) - epsl      
!================================
sigma0=dcmplx(0.0_8, -Gama)                                                                        
G011  =epsl-epsl11-sigma0                                                              
G012  =epsl-epsl12-sigma0                                                              
G021  =epsl-epsl21-sigma0                                                              
G022  =epsl-epsl22-sigma0                                                              
!********************************************
call omp_set_num_threads(4 )
!$OMP parallel                                                                        
!$OMP do private (Y)
do Y=1, Num, 1                                                                              
   FB1211=f0/( epsl(Y) + delta1211  )                                                                    
   FB2111=f0/( epsl(Y) + delta2111  )                                                                    
   FB2211=f0/( epsl(Y) + delta2211  )                                                                    
   FB1112=f0/( epsl(Y) + delta1112  )                                                                    
   FB2112=f0/( epsl(Y) + delta2112  )                                                                    
   FB2212=f0/( epsl(Y) + delta2212  )                                                                    
   FB1121=f0/( epsl(Y) + delta1121  )                                                                    
   FB1221=f0/( epsl(Y) + delta1221  )                                                                    
   FB2221=f0/( epsl(Y) + delta2221  )                                                                    
   FB1122=f0/( epsl(Y) + delta1122  )                                                                    
   FB1222=f0/( epsl(Y) + delta1222  )                                                                    
   FB2122=f0/( epsl(Y) + delta2122  )                                                                    
call INTEGRAL(Num, Dc,  FB1211, B1211(Y))
call INTEGRAL(Num, Dc,  FB2111, B2111(Y))   
call INTEGRAL(Num, Dc,  FB2211, B2211(Y))
call INTEGRAL(Num, Dc,  FB1112, B1112(Y))
call INTEGRAL(Num, Dc,  FB2112, B2112(Y))
call  INTEGRAL(Num, Dc,  FB2212, B2212(Y))
call  INTEGRAL(Num, Dc,  FB1121, B1121(Y))
call  INTEGRAL(Num, Dc,  FB1221, B1221(Y))
call  INTEGRAL(Num, Dc,  FB2221, B2221(Y))
call  INTEGRAL(Num, Dc,  FB1122, B1122(Y))      
call  INTEGRAL(Num, Dc,  FB1222, B1222(Y))   
call  INTEGRAL(Num, Dc,  FB2122, B2122(Y))
end do                                                                             
!$OMP end do
!$OMP end parallel  
!******************************************
B1211=B1211*Gama/pi
B2111=B2111*Gama/pi
B2211=B2211*Gama/pi   
                     
B1112=B1112*Gama/pi  
B2112=B2112*Gama/pi   
B2212=B2212*Gama/pi   
                     
B1121=B1121*Gama/pi   
B1221=B1221*Gama/pi   
B2221=B2221*Gama/pi   
                        
B1122=B1122*Gama/pi     
B1222=B1222*Gama/pi     
B2122=B2122*Gama/pi      
G11= (   1.0_8 - 3.0_8*0.245_8    )/(   G011 - B1211-B2111-B2211   )   
G12= (   1.0_8 - 3.0_8*0.245_8    )/(   G012 - B1112-B2112-B2212   )
G21= (   1.0_8 - 3.0_8*0.245_8    )/(   G021 - B1121-B1221-B2221   )
G22= (   1.0_8 - 3.0_8*0.245_8    )/(   G022 - B1122-B1222-B2122   )

FG11=-f0*G11/pi              
FG12=-f0*G12/pi   
FG21=-f0*G21/pi         
FG22=-f0*G22/pi                 
call INTEGRAL(Num, Dc, FG11, n11)  
call INTEGRAL(Num, Dc, FG12, n12)
call INTEGRAL(Num, Dc, FG21, n21)
call INTEGRAL(Num, Dc, FG22, n22)

write(*,*) "n11=", dimag(n11), "n12=", dimag(n12)
write(*,*) "n21=", dimag(n21), "n22=", dimag(n22)

stop
end program main

subroutine INTEGRAL(Num, Dc, Y, answer)                                                                  
implicit none                                                         
integer::  Num                                                               
real(kind=8):: Dc                                                         
complex(kind=8):: Y(Num), answer
integer:: i                                                                           
complex:: s1                                                                     
                                                                                               
s1=(Y(1)+ Y(Num))/2                                                                              
do i=2, Num-1, 1                                                                       
   s1=s1+ Y(i)                                                                                   
end do                                                                        
answer=s1*Dc                                                                       
                                                                    
return                                                                                       
end subroutine INTEGRAL  

stop
end program main

[ Last edited by futurehero on 2010-3-4 at 23:09 ]
»Ø¸´´ËÂ¥
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

futurehero

гæ (ÕýʽдÊÖ)

ÒѾ­½â¾öÁË!´íÎóÔ­ÒòÔÚÓÚ²»Í¬µÄÏ̻߳áͬʱ½«Öмä±äÁ¿Ð´µ½Í¬Ò»¸öÄÚ´æµ¥ÔªFB1211,Ôì³É½á¹û´íÎó.Ö»ÐèÓý«ÔÙΪÿ¸öÏ̶߳¨Ò岻ͬµÄ±äÁ¿¾Í½â¾öÎÊÌâÁË.
2Â¥2010-03-20 16:08:46
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ futurehero µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] ϵͳ²é²»µ½ +11 ¶­°Ëǧ 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[»ù½ðÉêÇë] ͶƱ:  ÓжàÉÙÈËÊǽñÌì²éϵͳ֪µÀ½á¹ûµÄ£¿ +16 °®¿´ÊéµÄ¿ÉÀÖ 2026-08-26 18/900 2026-08-28 17:09 by winsaint
[½Ìʦ֮¼Ò] µ¼Ê¦Í²ۣºÎÒÔõô̯ÉÏÁËÕâô¸ö¼«Æ·Ñо¿Éú£¡ +8 ËÕ¶«ÆÂ¶þÊÀ 2026-08-23 8/400 2026-08-28 14:41 by lkforward
[»ù½ðÉêÇë] Â鷳ר¼ÒÃÇ¿´¿´ÆÀίÃǵÄÒâ¼û£¨F¿ÚÃæÉÏ£© +4 gdd2018 2026-08-28 9/450 2026-08-28 14:22 by jklily
[»ù½ðÉêÇë] 2026ÄêÒ¶ÆóËï»ù½ð +3 bud_bud 2026-08-27 6/300 2026-08-28 11:53 by bud_bud
[»ù½ðÉêÇë] »ù½ðϵͳʲôÄÚÈÝҲûÓÐ 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[»ù½ðÉêÇë] ÃæÉϺÏ×÷µ¥Î»¸ÇÕ +5 ssyjh 2026-08-27 5/250 2026-08-27 20:50 by gdfollow
[»ù½ðÉêÇë] »ù½ðδÖУ¬ÕâÖÖ´ð¸´ÊÇÄ£°åÂ𣿠+5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[»ù½ðÉêÇë] Ôõô¿´Çà»ùÖÐÁËûÓа¡ +5 Ò¶¾Å΢ 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[ÎÄѧ·¼²ÝÔ°] ÃÎÏë +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[»ù½ðÉêÇë] Ϊʲô ¹ú¼Ê(µØÇø)ºÏ×÷Óë½»Á÷ÏîÄ¿ ûÓзŰñ£¿ 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by ±±¾©À³Òð±à¼­
[»ù½ðÉêÇë] ÎÒ²»Àí½â£¡ +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[»ù½ðÉêÇë] ·¶½øÖоÙÒ»ÎĵÄÖÐÐÄ˼Ïë +9 Ñ׻ƹóëÐ 2026-08-22 10/500 2026-08-26 15:40 by semaglutide
[»ù½ðÉêÇë] Ϊʲô¹ú×ÔÈ»²»ÄÜÖ±½Ó¹«²¼ +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[»ù½ðÉêÇë] ½ñÌìÎñί»á¿ªÍêÁË£¬Ã÷Ìì³ö½á¹ûÂð +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[Ö°³¡ÈËÉú] ѧÉúײ¼û¸¨µ¼Ô±ËÍÍâÂô£¬µÚ¶þÌìÈ«°à¶¼³ÁĬÁË +3 ¾¨ÓãÈÚ½ð_Õã½­_É 2026-08-22 3/150 2026-08-26 09:01 by zzuzxg
[»ù½ðÉêÇë] Å£À´£¡Ã×À´£¡ÃæÀ´£¡ +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[»ù½ðÉêÇë] Ã÷ÌìÓ¦¸Ã¿É²éÁË£¡£¿ +6 chengyan1220 2026-08-23 6/300 2026-08-25 19:45 by zfd97
[»ù½ðÉêÇë] ijЩ»ú¹¹£¬ÒÔЧÂʵÍΪÈÙ£¬ÒÔЧÂʵÍ×÷Ϊ´æÔڸР+9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[½Ìʦ֮¼Ò] Ìø²ÛºóÔÚÑÐÏîÄ¿Ôõô°ì£¿ +5 ¼òµ¥»¯xn 2026-08-22 10/500 2026-08-23 12:38 by ¼òµ¥»¯xn
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û