ANSYS函数加载到表加载的转换

2017-03-02  by:CAE仿真在线  来源:互联网

函数加载到表加载的转换,ansys是怎么处理的 ,函数加载 ansys都自动转换成表加载来处理的表加载中数组中的各个值是怎么得来的呢?如何计算的!

比如一个悬臂梁:
在梁的顶端加函数载荷,p=0.1*x,
函数加载后
转换成表加载如下图所示:

可以参考一下命令流:

MINLOAD=0 !minimum load
MAXLOAD=1 !maximum load
L=10
Thick=1
E1=30e6
/PREP7
!*
ET,1,PLANE183
KEYOPT,1,3,3
KEYOPT,1,6,0
KEYOPT,1,10,0
!*
!*
R,1,Thick,
!*
!*
MPTEMP,,,,,,,,
MPTEMP,1,0
MPDATA,EX,1,,E1
MPDATA,PRXY,1,,.27
MPDATA,DENS,1,,1
RECTNG,0,L,0,Thick
ames,all
!下面是函数加载,请在gui操作中进行

!在ansys ---parameters---functions---define/edit中定一个函数p=0.1*x
!然后保存,再从read from files 。。。。把那个文件读进来!

SFL,3,PRES, %函数名% !通过函数加载

DL,4,,ALL,0
FINISH
/SOL
/STATUS,SOLU
SOLVE
FINISH
/POST1
PLDISP,0

在log中可得到函数加载那部分的命令流如下


*DEL,_FNCNAME
*DEL,_FNCMTID
*DEL,_FNCCSYS
*SET,_FNCNAME,'as'
*SET,_FNCCSYS,0
! /INPUT,as.func,,,1
*DIM,%_FNCNAME%,TABLE,6,3,1,,,,%_FNCCSYS%
!
! Begin of equation: 0.1*{X}
*SET,%_FNCNAME%(0,0,1), 0.0, -999
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), 0.0
*SET,%_FNCNAME%(4,0,1), 0.0
*SET,%_FNCNAME%(5,0,1), 0.0
*SET,%_FNCNAME%(6,0,1), 0.0
*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, 0.1, 0, 0, 2
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, -1, 3, 2
*SET,%_FNCNAME%(0,3,1), 0, 99, 0, 1, -2, 0, 0
! End of equation: 0.1*{X}

我现在想弄清楚 函数和表中数据的对应关系,
函数加载本身很简单 但ansys会自动将函数转化成表,

数组中的那些值肯定不是杂乱无章的
肯定满足什么规律

这个题中的表加载也可以定义成这样的
Begin of equation: {X}
*SET,%_FNCNAME%(0,0,1), 0.0, -999
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), 0.0
*SET,%_FNCNAME%(4,0,1), 0.0
*SET,%_FNCNAME%(5,0,1), 0.0
*SET,%_FNCNAME%(6,0,1), 0.0
*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, (MAXLOAD-MINLOAD)/L, 0, 0, 2
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, -1, 3, 2
*SET,%_FNCNAME%(0,3,1), 0, -1, 0, MINLOAD, 0, 0, -2
*SET,%_FNCNAME%(0,4,1), 0.0, -3, 0, 1, -2, 1, -1
*SET,%_FNCNAME%(0,5,1), 0.0, 99, 0, 1, -3, 0, 0
! End of equation: {X}
MAXLOAD-MINLOAD)/L MINLOAD
这几个量又是怎样对应的呢 ?

困扰许久 不得其法
下面是另一个会员问的,都是同样的问题,各大论坛也有人问,但一直没有令人满意的答案!

! Begin of equation: 123+222*{TIME}-0.006*{X}**2
*SET,%_FNCNAME%(0,0,1), 0.0, -999
*SET,%_FNCNAME%(2,0,1), 0.0
*SET,%_FNCNAME%(3,0,1), 0.0
*SET,%_FNCNAME%(4,0,1), 0.0
*SET,%_FNCNAME%(5,0,1), 0.0
*SET,%_FNCNAME%(6,0,1), 0.0
*SET,%_FNCNAME%(0,1,1), 1.0, -1, 0, 222, 0, 0, 1
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 1, -1, 3, 1
*SET,%_FNCNAME%(0,3,1), 0, -1, 0, 123, 0, 0, -2
*SET,%_FNCNAME%(0,4,1), 0.0, -3, 0, 1, -1, 1, -2
*SET,%_FNCNAME%(0,5,1), 0.0, -1, 0, 2, 0, 0, 2
*SET,%_FNCNAME%(0,6,1), 0.0, -2, 0, 1, 2, 17, -1
*SET,%_FNCNAME%(0,7,1), 0.0, -1, 0, 0.006, 0, 0, -2
*SET,%_FNCNAME%(0,8,1), 0.0, -4, 0, 1, -1, 3, -2
*SET,%_FNCNAME%(0,9,1), 0.0, -1, 0, 1, -3, 2, -4
*SET,%_FNCNAME%(0,10,1), 0.0, 99, 0, 1, -1, 0, 0
! End of equation: 123+222*{TIME}-0.006*{X}**2

这是一个函数加载,这些数据是根据什么算出来的,困扰很久了。好像与运算方法有关!


讨论总结的结果:

1.ansys函数加载在内部都是转换成表加载的,只不过这时候与其说它是表加载,不如说它是函数加载,因为这个表是函数的变种,只是借用表来描述函数。而不是我们通常意义上的表,我们自己建立的表 自己肯定能理解
但函数转化成的表,我们就不知道具体怎么运算的,只有ansys开发程序员清楚了,觉得应该把这个在帮助了体现出来
可惜没有 。有网友认为这是ansys防止抄袭。

2.下面是simwe一个版主的摸索过程:(她把收获贴到了她的博客)

这个问题我也很好奇,于是查了帮助,很奇怪的,(我不会用这个blog,似乎上载了图片似乎只有我自己能看和下载),我尽量描述详细。


创建一个函数(比如5cos(x))以后,保存成.func文件,然后导入成矩阵之后,就是这个形式:


1 0 0 0


-999 -1 -2 -3 99


0 10 0 0 0


0 1 5 1 1


0 2 0 -2 -3


0 0 0 3 0


0 0 -1 -1 0




创建一个函数(比如5sin(x))以后,保存成.func文件,然后导入成矩阵之后,是这个形式:


1 0 0 0


-999 -1 -2 -3 99


0 9 0 0 0


0 1 5 1 1


0 2 0 -2 -3


0 0 0 3 0


0 0 -1 -1 0




所以,经过研究发现,sin和cos的区别在于9和10


也就是说ansys这个函数转换表的功能其实不是我们想象的那样和几何对应的表


而是一种类似“电报码”的表


只是翻译的功能,无他


网友需要瞬态计算中修改函数,那么他就可以每次换矩阵了,呵呵


如果函数不超过50个,还是可以承受的:)


开放分享:优质有限元技术文章,助你自学成才

相关标签搜索:ANSYS函数加载到表加载的转换 Ansys有限元培训 Ansys workbench培训 ansys视频教程 ansys workbench教程 ansys APDL经典教程 ansys资料下载 ansys技术咨询 ansys基础知识 ansys代做 Fluent、CFX流体分析 HFSS电磁分析 Abaqus培训 

编辑
在线报名:
  • 客服在线请直接联系我们的客服,您也可以通过下面的方式进行在线报名,我们会及时给您回复电话,谢谢!
验证码

全国服务热线

1358-032-9919

广州公司:
广州市环市中路306号金鹰大厦3800
电话:13580329919
          135-8032-9919
培训QQ咨询:点击咨询 点击咨询
项目QQ咨询:点击咨询
email:kf@1cae.com