24小时热门版块排行榜    

CyRhmU.jpeg
查看: 2143  |  回复: 3

hegongda123

铜虫 (小有名气)

[求助] ANSYS中加载温度约束

在热瞬态分析中,本人是以热流为边界条件求解的,分为100个载荷子步加载(分析时间也为100s),如果想在它加载10个子步后再在某个点上加上一个恒定的温度约束....就每隔10个载荷子步加一个温度约束,请问怎么设置啊,最好用APDL也好啊,感谢了
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖


感谢参与,应助指数 +1
1592203609: 金币+1, 谢谢参与交流 2013-05-15 18:26:12
把整个分析过程分为 10 个载荷步,第一个载荷步只有热流边界,分为 10 个子步,终止时间 10;第二个载荷步增加相应点的温度约束,终止时间 20,仍是 10 个载荷步;其余载荷步与此相同。
注意:在分析完 10 个载荷步之前,不要离开 /solution 模块。
2楼2013-05-15 16:17:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hegongda123

铜虫 (小有名气)

引用回帖:
2楼: Originally posted by htbbzzg at 2013-05-15 16:17:53
把整个分析过程分为 10 个载荷步,第一个载荷步只有热流边界,分为 10 个子步,终止时间 10;第二个载荷步增加相应点的温度约束,终止时间 20,仍是 10 个载荷步;其余载荷步与此相同。
注意:在分析完 10 个载荷步 ...

这思路我懂啊,但做起来难啊,我都是把数据先放在TXT中,再读取进TABLE中从而加载,就想找个APDL参考下,要分为10步加载,这编程量大啊,想问下在DO循环加载时不用计数器,怎么以时间为基准加载啊
3楼2013-05-15 16:40:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

htbbzzg

铁杆木虫 (著名写手)

【答案】应助回帖

★ ★ ★
xiegangmai: 金币+3, 谢谢参与! 2013-05-17 20:40:40
由于你的 10 个载荷步有一点规律,在完成头两个载荷步以后,其余都可以拷贝后略作修改就完成了,因此编程量不会很大的,耐心一点,估计 1~2 个小时足够了。

    如果写成循环语句也可以,只是不明白你说 在DO循环加载时不用计数器 是什么意思,是想用:
        *dowhile ...... *enddo 吗?
    可能不如使用计数器的循环好,计数器用来代表载荷步。

    不了解你的具体情况,给你一个编程的简单思路,你自己完善一下吧:
    1  如果后续载荷步定义温度约束的节点数不多,且节点号一致,可以预先把所有的数据读到一个二维数组中;如果后续载荷步的温度约束节点数很多,且节点号不同,可以把各载荷步的数据放在不同的文件中,比如:  wendu_1.txt ~ wendu_9.txt 分别存放载荷步 2~10 的数据,每个文件的行数 (该载荷步中有温度约束的节点数) 假设为  n_load 行,每行两个数,分别是节点号和温度值。如果每个载荷步有温度约束的节点数相同,可以直接给 n_load 赋值;否则,可以另外定义一个数组 n_load_i (9),分别存放载荷步 2~10 的约束点个数。
    下面的内容以第二种方式为准。
    参考思路如下:

    *dim, n_load_i,ARRAY,9
    给 n_load_i 数组赋值 - 载荷步 2~10 的温度约束节点数

    *do, i, 1, 10             !  对 10 个载荷步循环
      time, 10*i              !  载荷步终止时间
      subst, 10, 10, 10       !  10 个子步,这一句可以放到循环之前
      *if, i, eq, 1, then    !  如果热流载荷不变,只需对第一个载荷步定义;否则需要每一步都定义。
        定义热流载荷
      *endif
      *if, i, gt, 1, then          !   从第二个载荷步开始,施加节点温度约束载荷
        定义载荷步 i 的温度约束
        ddele, all                 !   删除前面定义的温度约束
        j = i-1                    !   j 为温度约束文件的计数
        data_name = 'wndu_'%j%     !   载荷步 i 的温度约束文件的文件名
        n_load = n_load_i(j)           !   载荷步 i 有温度约束的节点数
        *del, , PRM_               !   删除以前定义的有关数组
        *dim, temp_, ARRAY, 2, n_load, !   定义存放载荷步 i 的温度约束数据的数组
        *vread,temp_, %data_name%, txt, , , 2, n_load     !  将数据读入数组 temp_ 中
        *do, k, 1, n_load              !   施加节点温度约束
           nk = temp_(1,k)
           d, nk, temp, temp_(2,k)
        *enddo
      *endif
      设置其它条件      !  相同的条件可以放到循环之前
      求解设置          !  相同的设置可以放到循环之前
      求解
  *enddo
  
    大概的思路就是这样,匆忙写就,肯定会有问题,给你做个参考吧。
4楼2013-05-16 08:33:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 hegongda123 的主题更新
信息提示
请填处理意见