你已经派生过 tem3dfdtd-open
镜像自地址
https://gitee.com/sunhf/tem3dfdtd-open.git
已同步 2025-08-06 04:36:52 +08:00
initial
这个提交包含在:
@@ -0,0 +1,55 @@
|
||||
!Copyright (c) 2013 by tdem.org under guide of Xiu Li(lixiu@chd.edu.cn)
|
||||
!written by Huaifeng Sun(sunhuaifeng@gmail.com) and Xushan Lu(luxushan@gmail.com)
|
||||
!Code distribution @ tdem.org or sunhuaifeng.com
|
||||
|
||||
!<21><><EFBFBD>β<EFBFBD><CEB2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ҿ<EFBFBD><D2BF>غ<EFBFBD><D8BA><EFBFBD><EFBFBD>ͽ<EFBFBD><CDBD><EFBFBD><EFBFBD>ҿ<EFBFBD><D2BF>غ<EFBFBD><D8BA><EFBFBD>
|
||||
SUBROUTINE TIXING_SOURCE_UPCOS
|
||||
USE CONSTANTPARAMETERS
|
||||
USE ELECTROMAGNETIC_VARIABLES
|
||||
USE RES_MODEL_PARAMETER
|
||||
USE TIME_PARAMETER
|
||||
USE OMP_LIB
|
||||
IMPLICIT NONE
|
||||
REAL(KIND=8)T0
|
||||
integer i,j,k
|
||||
WAVESTEP=TIME_MAX !Time_max is given in Time_series subroutine: TIME_MAX=GridSize*SQRT(EPS0*MU0/3.0)
|
||||
T0=1.13*MU0*SIGMA_MIN*GridSize*GridSize
|
||||
CTIME(1)=0.0D0 !RAISESTEP !RAISETIME/STEP !1.13*MU0*DELX*DELX/RES(1,1,1)
|
||||
DELT(1)=RAISESTEP !RAISETIME/STEP
|
||||
DELT(0)=DELT(1)
|
||||
SOURCE(1)=AMP*0.5*(1-COS(PI*CTIME(1)/RAISETIME)) !AMP*CTIME(1)/RAISETIME
|
||||
DO I=2,NSTOP
|
||||
CTIME(I)=CTIME(I-1)+DELT(I-1)
|
||||
IF(CTIME(I) .LT. RAISETIME)THEN
|
||||
DELT(I)=RAISESTEP
|
||||
SOURCE(I)=AMP*0.5*(1-COS(PI*CTIME(I)/RAISETIME)) !AMP*CTIME(I)/RAISETIME
|
||||
ELSEIF(CTIME(I) .GE. RAISETIME .AND. CTIME(I) .LT. RAISETIME+WAVE-TIME_RAMP2WAVE_SUM)THEN
|
||||
DELT(I)=DELT(I-1)*1.0005
|
||||
IF(DELT(I) .GE. WAVESTEP)THEN
|
||||
DELT(I)=WAVESTEP
|
||||
ENDIF
|
||||
SOURCE(I)=AMP !1.0D0
|
||||
ELSEIF(CTIME(I) .GE. RAISETIME+WAVE-TIME_RAMP2WAVE_SUM .AND. CTIME(I) .LT. RAISETIME+WAVE)THEN
|
||||
DELT(I)=DELT(I-1)*0.9995
|
||||
IF(DELT(I) .LE. RAMPSTEP)THEN
|
||||
DELT(I)=RAMPSTEP
|
||||
ENDIF
|
||||
SOURCE(I)=AMP
|
||||
ELSEIF(CTIME(I) .GE. RAISETIME+WAVE .AND. CTIME(I) .LT. RAISETIME+WAVE+RAMP)THEN
|
||||
DELT(I)=RAMPSTEP
|
||||
SOURCE(I)=AMP-AMP*0.5*(1-COS(PI*(CTIME(I)-RAISETIME-WAVE)/RAMP)) !+AMP*(+RAMP)/RAMP !-AMP*CTIME(I)/RAMP+AMP*(RAISETIME+WAVE+RAMP)/RAMP
|
||||
ELSEIF(CTIME(I) .LT. RAISETIME+WAVE+RAMP+T0)THEN
|
||||
DELT(I)=RAMPSTEP
|
||||
SOURCE(I)=0.0D0
|
||||
ELSE
|
||||
DELT(I)=0.1*GridSize*SQRT(MU0*SIGMA_MIN*(CTIME(I)-RAISETIME-WAVE-RAMP)/6.0D0) !This can be changed if the value of GridSize is less than 1m.
|
||||
SOURCE(I)=0.0D0
|
||||
IF(DELT(I) .GT. 2.0D-7)THEN
|
||||
DELT(I)=2.0D-7 !1.0D-9 !
|
||||
ELSEIF(DELT(I) .LT. RAMPSTEP)THEN
|
||||
DELT(I)=RAMPSTEP
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDDO
|
||||
RETURN
|
||||
ENDSUBROUTINE TIXING_SOURCE_UPCOS
|
在新工单中引用
屏蔽一个用户