注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

htbbzzg的博客

与朋友们分享 CAE 资料和经验

 
 
 

日志

 
 

ANSYS 中使用函数加载的一个简单例子 (续 7)  

2013-11-22 16:47:08|  分类: ANSYS 实例 - GUI |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

9.  进一步的探讨

前面的计算结果表明:使用函数加载有可能使载荷步、子步以及斜坡还是跃变加载方式的设置失效。下面试图解决这个问题。

(1)  使用命令流计算每个节点上的压力值

我们看到,如果采用常数方式加载,几种设置都是有效的。因此,解决问题的第一个办法就是将函数方式加载转换为常数方式。为此,需要根据有载荷节点的坐标计算出每个节点上的压力,再对该节点施加常数形式的压力。这可以使用如下命令流来实现:

!*********************** 

CSYS, 1                 !  转换到总体圆柱坐标系,y 值为角度

!*

*del,all        删除所有定义的参数

*afun,deg               !  设置角度单位为 "度"

ASEL, S, , , 3          !  压力载荷作用在 Area 3

NSLA, S, 1              !  选择附着在面上的所有节点

cm,  sf_node, NODE

!* 

*get, nnum, NODE, 0, Count     ! 当前选择集中的节点总数

*get, nmin, NODE, 0, NUM, Min  ! 当前选择集中的最小节点编号

*get, nmax, NODE, 0, NUM, Max  ! 当前选择集中的最大节点编号

!* 

*DIM,yy,ARRAY,nnum,1,1, , ,

!*

im=1                        !  计算有多少个不同的 y

yy(1)=0                     !  本例中,第一个 y 值可以设为 0. 

*do, i, nmin, nmax

  *if, nsel(i), eq, 1, then       !  如果节点 i 在当前选择集中

    y0=NY(i)

    pp=1

!*

    *do, k, 1, im

      *if, abs(y0-yy(k)),le,abs(y0*1e-5), then

        pp=-1     

        *exit

      *endif

    *enddo

!*

    *if, pp, gt, 0, then

      im=im+1

      yy(im)=y0

    *endif

  *endif

*enddo

!*

*do, i, 1, im-1

  y0=yy(i)

  *do, j, i+1, im

    y1=yy(j) 

    *if, y1, lt, y0, then

      yy(i) = y1

      yy(j) = y0

      y0=y1

    *endif

  *enddo         

*enddo         

!*

SFADELE, all, ,all           !  清除原来定义的表面载荷

*do, i, 1, im-1              !  需要选择两排节点,才能生成面元以施加压力

  CMSEL,S,SF_NODE

  y0=yy(i)

  y1=yy(i+1)

  NSEL,R,LOC,Y,y0-0.01,y1+0.01  

  y2 = (y0+y1)/2 

  p = 8 + 7*cos(y2)              !  1

注意这里在 * 号前后不能有空格否则后面的内容会被当作注解处理

      !  cos(y0/42*90)      如果当前坐标系是总体直角坐标系 (csys, 0)

!* 

  SF, all,PRES,p  

*enddo

!*

allsel,all

csys, 0               

save     

!*********************** 

节点压力值如下图所示 [ 2]

                                    ANSYS 中使用函数加载的一个简单例子 (续 6) - htbbzzg - htbbzzg的博客
  61  使用命令流施加的压力载荷

1: 如果采用最初的压力函数:P = 8E7 + 7E7 * cos(Y),求解时立即出现有单元高度扭曲的错误信息,求解无法完成。故参考前面的内容,将压力函数设置为: P = 8 + 7 * cos(Y),计算可以完成。

2  由图 61 可见,虽然是使用 SF 命令施加节点压力,但是实际上 ANSYS 是根据所选择的节点,考虑到所划分的网格,由这些节点生成了若干表面单元,并在这些表面单元上施加载荷。


最后一步的计算结果如下,结果显示在以总体 z 轴为轴线的圆柱坐标系中 (RSYS, 1)

                                      ANSYS 中使用函数加载的一个简单例子 (续 6) - htbbzzg - htbbzzg的博客
                                               ANSYS 中使用函数加载的一个简单例子 (续 6) - htbbzzg - htbbzzg的博客                                              ANSYS 中使用函数加载的一个简单例子 (续 6) - htbbzzg - htbbzzg的博客
                                             ANSYS 中使用函数加载的一个简单例子 (续 6) - htbbzzg - htbbzzg的博客
     虽然算出了结果,但是从几个图来看,结果似乎不太理想。
   后面将继续探讨使用函数加载。 
 
  评论这张
 
阅读(1257)| 评论(4)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017