[Fortran] 纯文本查看 复制代码
PROGRAM PROGRESS
!
USE WINTERACTER
USE RESID
use One_D_Argumnet
IMPLICIT NONE
! Number of iterations parameter
TYPE(WIN_MESSAGE) :: MESSAGE
INTEGER ::ITER1,ITER2,ITER3,CALCU_1D,CALCU_2D,CALCU
CHARACTER(LEN=2) :: CRESULT
LOGIcal :: QUIT=.FALSE.,login=.false.
INTEGER ::ITYPE
CALL WInitialise()
!主程序窗口
CALL WindowOpen(FLAGS =1+2+4+8,MENUID=IDM_MENU1,DIALOGID=IDD_DIALOG1,TITLE="HELLOThe Laser Heating Calculation System V1.0.0")
CALL IGrSelect(DrawField,IDF_PICTURE2)
CALL WDialogColour(IDF_LASER_POW,RGB_RED)
!****************************************************
100 DO WHILE(.NOT.QUIT)
CALL calc_itme !加载计算序列号
CASE (PushButton)
SELECT CASE (MESSAGE%VALUE1)
CASE (IDRUN)
IF (ISTATE==2) THEN
CALL WMessageBox(OKONLY,InformationIcon,CommonOK,'Wrong','CAUTION')
QUIT = .FALSE.
ELSE IF(ISTATE==1) THEN
!$OMP WORKSHAR
Call calc_itme_modify !这部分是程序的求解部分,我加了 !$OMP WORKSHAR 和 !$OMP end WORKSHAR
!这个语句对是在第二个线程运行吗? 因为有矩阵的运算所以是用的这个语句对
CALL get_property
CALL slov_pro
QUIT = .FALSE.
!$OMP end WORKSHAR
END IF
CASE (IDCANCEL)
QUIT = .TRUE.
END SELECT
END SELECT
END DO
CALL WindowClose()
STOP
END PROGRAM PROGRESS
加了这个线程后 好像并没与什么改善,是不是我的循环量太大呀,5万多个循环的(20,20)二维数据的AX=B线性方程的求解
|