Fortran Coder

查看: 26151|回复: 10
打印 上一主题 下一主题

[求助] abaqus调用fortran子程序读写txt时出现steptime重复,为什么?

[复制链接]

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
跳转到指定楼层
楼主
发表于 2019-1-1 21:26:59 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
红线是时间增量steptime,为什么都是2次重复,然后接着算? steptime这个为什么又都是3次重复再往下进行?
abaqus用fortran子程序读写时出现这种问题?有知道的吗?谢谢!

分享到:  微信微信
收藏收藏 点赞点赞 点踩点踩

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
沙发
 楼主| 发表于 2019-1-1 21:32:14 | 只看该作者
C:\Users\xinyi\Desktop\23.jpg

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1643 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

板凳
发表于 2019-1-2 09:17:45 | 只看该作者
这与你的代码逻辑有关。
对你来说,这样不对。但对机器来说,是正确的“执行了你的意图”

逻辑不符合你的期望,这问题别人不容易帮助你。
至少你得给出你的代码。

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
地板
 楼主| 发表于 2019-1-2 15:10:43 | 只看该作者
[Fortran] 纯文本查看 复制代码
C
C User subroutine VDLOAD
            subroutine vdload (
C Read only -
     *     nblock, ndim, stepTime, totalTime, amplitude,
     *     curCoords, velocity, dircos, jltyp, sname,
C Write only -
     *     value )
C
      include 'vaba_param.inc'
      parameter ( const = 1.d5 ) 
C
      dimension curCoords(nblock,ndim), velocity(nblock,ndim),
     *     dircos(nblock,ndim,ndim), value(nblock)
*
      character*80 sname
*
      integer ::i
c      character(len=20)::filename="duxie.txt"
      REAL::ta
      real ::ta1
      real::tz

      open(93,FILE="D:\abaqus2016\SIMULIA\duxie.txt",status="old")      
      do
      read(93,*,iostat = ios) ta,ta1
      if ( ios == -1 ) exit 
       end do
       backspace(93)
       backspace(93)

              ta=ta+2*stepTime
              ta1=ta1+5*stepTime
              tz=0.5*ta
              tx=0.5*ta1
      write(93,*) ta,ta1
      close(93) 
      open(89,FILE="D:\abaqus2016\SIMULIA\duxiet.txt",position="append")
      write(89,*) ta,ta1,stepTime, tz
      close(89) 
      
      if( jltyp .eq. 2 ) then
        do k = 1, nblock        
        value(k) =tz
        end do
      end if
        if( jltyp .eq. 1 ) then
        do k = 1, nblock        
        value(k) =tx
        end do
        end if
    
      return
      end

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
5#
 楼主| 发表于 2019-1-2 21:32:34 | 只看该作者
fcode 发表于 2019-1-2 09:17
这与你的代码逻辑有关。
对你来说,这样不对。但对机器来说,是正确的“执行了你的意图”

下面是我的代码,还望有时间再帮我看看,非常感谢

2033

帖子

12

主题

5

精华

论坛跑堂

臭石头雪球

F 币
1643 元
贡献
709 点

美女勋章热心勋章星光勋章新人勋章贡献勋章管理勋章帅哥勋章爱心勋章规矩勋章元老勋章水王勋章

6#
发表于 2019-1-3 09:33:43 | 只看该作者
stepTime 来源于调用者,我并不知道调用者是怎样的。(可能是另一个fortran函数,或者 abaqus?)

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
7#
 楼主| 发表于 2019-1-3 16:17:35 | 只看该作者
[Fortran] 纯文本查看 复制代码
            subroutine vdload (
C Read only -
     *     nblock, ndim, stepTime, totalTime, amplitude,
     *     curCoords, velocity, dircos, jltyp, sname,
C Write only -
     *     value )
C
      include 'vaba_param.inc'
      parameter ( const = 1.d5 ) 
C
      dimension curCoords(nblock,ndim), velocity(nblock,ndim),
     *     dircos(nblock,ndim,ndim), value(nblock)
*
      character*80 sname
*
      REAL::ta
      open(93,FILE="D:\abaqus2016\SIMULIA\duxie.txt",status="old")      
       read(93,*) ta
       rewind(93)
       
       ta=ta+4*stepTime
       
      write(93,*) ta
      close(93) 
      open(89,FILE="D:\abaqus2016\SIMULIA\duxiet.txt",position="append")
      write(89,*) ta,stepTime
      close(89) 
      
      if( jltyp .eq. 2 ) then
        do k = 1, nblock        
        value(k) =-ta/4    !体积是4, value(k)表示体力,体力X体积等于施加的反力( value(k)是给到abaqus里的体力,abaqus能识别,cae里面后处理得到的反力等于 value(k)X4)
        end do
      end if    
      return
      end

31.jpg (10.02 KB, 下载次数: 492)

31.jpg

32.jpg (5.43 KB, 下载次数: 474)

32.jpg

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
8#
 楼主| 发表于 2019-1-3 16:19:09 | 只看该作者
fcode 发表于 2019-1-3 09:33
stepTime 来源于调用者,我并不知道调用者是怎样的。(可能是另一个fortran函数,或者 abaqus?) ...

意思是和abaqus有关?

490

帖子

4

主题

0

精华

大宗师

F 币
3298 元
贡献
1948 点

水王勋章元老勋章热心勋章

9#
发表于 2019-1-3 22:20:31 | 只看该作者
碰撞或者冲击计算?
或许前一步迭代不收敛,自动缩小步长重来呗

7

帖子

1

主题

0

精华

入门

F 币
38 元
贡献
21 点
10#
 楼主| 发表于 2019-1-5 22:18:44 | 只看该作者
pasuka 发表于 2019-1-3 22:20
碰撞或者冲击计算?
或许前一步迭代不收敛,自动缩小步长重来呗

就一个简单的算例,固定,加了一个体力
那这种还能控制吗?
您需要登录后才可以回帖 登录 | 极速注册

本版积分规则

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

GMT+8, 2024-12-28 01:56

Powered by Tencent X3.4

© 2013-2024 Tencent

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