|  | 
 
| 这种情况该如何解决,在第一个end if处出现:0x00007FF7914E1983 处(位于 intelcal64.exe 中)引发的异常: 0xC0000005: 读取位置 0x0000000000000000 时发生访问冲突。 以下是原代码:
 SUBROUTINE GET_NodeLoad(NUM_ELEMENT1,SumNodeLoad)
 use all_control, only: iflag_dimension
 use ALL_CONTROL, only: ESP, N_MAXSIDE,NG
 use ALL_CONTROL, only: IFLAG_ElementLoad,IFLAG_Weight,IFLAG_Thermal,IFLAG_Creep,IFLAG_Viscous,IFLAG_InPresure
 USE ELEMENT, only: N_SIDE, N_S_IN
 use io_control, only: IFLAG_OUTPUT
 use element
 implicit none
 integer*4,intent(in) :: NUM_ELEMENT1
 real*8,intent(out)   :: SumNodeLoad(N_MAXSIDE*iflag_dimension)
 real*8 :: NodeLoad(N_side(NUM_ELEMENT1)*iflag_dimension)
 real*8  thermal_force(MAXVAL(N_side)*iflag_dimension)
 
 integer*4 :: FD
 integer*4 J,L
 if(.not.IFLAG_ElementLoad) return
 SumNodeLoad = 0.D0
 FD = N_side(NUM_ELEMENT1)*iflag_dimension
 
 call GET_NodeLoad_from_in(NUM_ELEMENT1,NodeLoad)!,PASCAL)
 SumNodeLoad(1:FD) = SumNodeLoad(1:FD) - NodeLoad(1:FD)
 
 IF(IFLAG_Thermal)THEN
 CALL GET_NodeLoad_thermal(NUM_ELEMENT1,NodeLoad)
 SumNodeLoad(1:FD) = SumNodeLoad(1:FD) + NodeLoad(1:FD)
 end if
 IF(IFLAG_Creep) THEN
 CALL GET_NodeLoad_creep(NUM_ELEMENT1,NodeLoad)
 SumNodeLoad(1:FD) = SumNodeLoad(1:FD) + NodeLoad(1:FD)
 END IF
 RETURN
 END
 
 
 | 
 |