65 lines
1.4 KiB
Fortran
65 lines
1.4 KiB
Fortran
!==============================================================================
|
||
! TLUSTY208 主程序
|
||
!
|
||
! Non-LTE model stellar atmospheres computer program
|
||
! Universal code for stellar atmospheres and accretion disks
|
||
!
|
||
! 版本:TLUSTY208
|
||
!==============================================================================
|
||
|
||
PROGRAM TLUSTY
|
||
USE impli_module
|
||
USE basics_module
|
||
USE iterat_module
|
||
USE alipar_module
|
||
|
||
IMPLICIT NONE
|
||
|
||
INTEGER :: INIT, ITER
|
||
LOGICAL :: LFIN
|
||
|
||
! 打开临时文件
|
||
OPEN(UNIT=91, STATUS='SCRATCH', FORM='UNFORMATTED')
|
||
OPEN(UNIT=92, STATUS='SCRATCH', FORM='UNFORMATTED')
|
||
OPEN(UNIT=93, STATUS='SCRATCH', FORM='UNFORMATTED')
|
||
|
||
! 初始化
|
||
INIT = 1
|
||
ITER = 0
|
||
CALL START
|
||
LFIN = .FALSE.
|
||
IF (NITER .EQ. 0) LFIN = .TRUE.
|
||
|
||
! 混合 CL/ALI 方法的基本迭代循环
|
||
10 CONTINUE
|
||
ITER = ITER + 1
|
||
|
||
! 1. 形式解步骤
|
||
CALL RESOLV
|
||
! CALL TIMING(1,ITER)
|
||
INIT = 0
|
||
IF (LFIN) GO TO 20
|
||
|
||
! 1b. 收敛加速
|
||
IF (IACC .GT. 0) CALL ACCEL2
|
||
! IF (LAC2) GO TO 10
|
||
|
||
! 2. 线性方程组的解
|
||
IF (IFRYB .EQ. 0) THEN
|
||
IF (NN .GT. MSMX) THEN
|
||
CALL SOLVE
|
||
ELSE
|
||
CALL SOLVES
|
||
END IF
|
||
ELSE
|
||
CALL RYBSOL
|
||
END IF
|
||
|
||
CALL TIMING(2, ITER)
|
||
GO TO 10
|
||
|
||
20 CONTINUE
|
||
|
||
STOP
|
||
END PROGRAM TLUSTY
|