24小时热门版块排行榜    

查看: 2395  |  回复: 10

小卒wwt

银虫 (小有名气)

[求助] ansys实现循环迭代已有2人参与

我想编程实现的是,如果两次的结果之差小于某个值,则输出,反之继续循环。请问这个该怎么实现?看到网上有人讲用dowhile命令,可以给个具体点的命令流学习下吗?
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mxwq

新虫 (正式写手)

【答案】应助回帖

感谢参与,应助指数 +1
你可以看看网上简单的运用生死单元的例子,这个类似…当然,如果你是新手,那就费劲了…其中读取结果,获取你指定变量的值对你就是个问题…不是新手,那你就一通百通了……

发自小木虫Android客户端
2楼2015-11-24 14:21:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小卒wwt

银虫 (小有名气)

引用回帖:
2楼: Originally posted by mxwq at 2015-11-24 14:21:53
你可以看看网上简单的运用生死单元的例子,这个类似…当然,如果你是新手,那就费劲了…其中读取结果,获取你指定变量的值对你就是个问题…不是新手,那你就一通百通了……
...

额,能给个例子学习下吗?生死单元法我看过,但是不知道能用到这里面,我可能没讲明白,这个循环是在某一时刻进行的,满足条件进入下一时刻,进入判断是否满足条件、。。
3楼2015-11-24 15:13:20
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mxwq

新虫 (正式写手)

【答案】应助回帖

你以为我没明白而已…我当然明白你意思了…先试算一遍,读取结果,判断是否达到条件,达到了就结束,没达到继续计算…就是这么个意思吧?…

发自小木虫Android客户端
4楼2015-11-25 00:18:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

mxwq

新虫 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
小卒wwt: 金币+25, 有帮助 2015-11-26 15:31:18
引用回帖:
3楼: Originally posted by 小卒wwt at 2015-11-24 15:13:20
额,能给个例子学习下吗?生死单元法我看过,但是不知道能用到这里面,我可能没讲明白,这个循环是在某一时刻进行的,满足条件进入下一时刻,进入判断是否满足条件、。。...

既然你说你看过生死单元,那我就假设你没看懂原理,那我就说起来费劲了,即使给你找个例子,你一样看不懂…那我假设你是想让我给你找个跟你水平相当,你能理解的例子!你觉得可能嘛,你觉得我对你的个人水平很了解?…q631718082(为防被骚扰,每位数要+1,昵称:扪心*)—有问题q聊,能教点儿算点儿

发自小木虫Android客户端
5楼2015-11-25 00:22:46
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

【答案】应助回帖

★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
感谢参与,应助指数 +1
小卒wwt: 金币+25, 有帮助 2015-11-26 15:31:00
*dowhile 命令的格式是:
    *DOWHILE, Par
当标量参数 par 大于 0 时,继续执行循环体的内容。
对你的情况,可以设置 par 为:
    par = abs(本次结果 - 上次结果) - 指定的误差值
基本循环语句可以写成:
  par=1            !  保证至少执行一次循环体
  *dowhile, par
      循环体       !  循环体内容根据你的具体情况确定
       par = abs(本次结果 - 上次结果) - 指定的误差值
  *enddo
对这一部分操作来说,好像无需使用生死单元。
6楼2015-11-25 08:14:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小卒wwt

银虫 (小有名气)

引用回帖:
6楼: Originally posted by shgao20 at 2015-11-25 08:14:26
*dowhile 命令的格式是:
    *DOWHILE, Par
当标量参数 par 大于 0 时,继续执行循环体的内容。
对你的情况,可以设置 par 为:
    par = abs(本次结果 - 上次结果) - 指定的误差值
基本循环语句可以写成:
...

你好,谢谢能给我讲解dowhile语句,我还有个疑问:以弹簧质量单元过简支梁桥为例,假定步长为△t,子步为△△t,在时刻t迭代收敛,那么进入下一步继续循环迭代,此时时刻(t+△△t)为下一步的第一次迭代,t+2△△t时刻为第二次迭代,那么不就会造成作用在结构上同一位置处施加两次力吗(虽然这两次力会有所区别),那么如果迭代N次就会施加N次的力,这么不就与实际(该位置应该只在t+△t时刻施加一次力)不符合了吗?(这个也可以参考王新敏《ansys结构动力分析与应用》中讲到的移动力或质量过桥时子步应为1.)
7楼2015-11-25 17:23:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

在每一步施加载荷前,先删除以前施加的同类载荷,就可以避免这个问题。
  一般情况,ANSYS 的每一种施加载荷的目录,都会有相应的删除该类载荷的目录,比如:
    D - 施加位移载荷,对应的删除命令 DDele
    F - 施加集中力载荷,对应的删除命令 FDele
    SF - 施加表面载荷,对应的删除命令 SFDele
  等。
8楼2015-11-27 08:35:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小卒wwt

银虫 (小有名气)

引用回帖:
8楼: Originally posted by shgao20 at 2015-11-27 08:35:01
在每一步施加载荷前,先删除以前施加的同类载荷,就可以避免这个问题。
  一般情况,ANSYS 的每一种施加载荷的目录,都会有相应的删除该类载荷的目录,比如:
    D - 施加位移载荷,对应的删除命令 DDele
    F ...

不行吧,我都是先删除上一时刻施加的荷载再重新加载的,如果你试过可以的话,可以给个命令流吗
9楼2015-11-27 09:34:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

shgao20

专家顾问 (职业作家)

我没有可以提供的现成的命令流,你可以把你的模型贴上来帮你分析。
10楼2015-11-29 10:15:51
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 小卒wwt 的主题更新
信息提示
请填处理意见