Fortran Coder

查看: 163|回复: 0

[求助] 求助:读取位置 0x0000000000000000 时发生访问冲突

[复制链接]

1

帖子

1

主题

0

精华

新人

F 币
11 元
贡献
3 点
发表于 2024-6-26 17:22:09 | 显示全部楼层 |阅读模式
这种情况该如何解决,在第一个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

您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

捐赠本站|Archiver|关于我们 About Us|小黑屋|Fcode ( 京ICP备18005632-2号 )

GMT+8, 2024-7-23 20:17

Powered by Tencent X3.4

© 2013-2024 Tencent

快速回复 返回顶部 返回列表