疑难问题大讨论:函数加载到表加载的转换问题:log里生成的数据是如何算出来的?函数加载到表加载如何对应!
问题如下:
函数加载到表加载的转换
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
这是一个函数加载,这些数据是根据什么算出来的,困扰很久了。好像与运算方法有关!
If you use table parameters to define boundary conditions, then Var1, Var2, and/or Var3 can either specify a primary variable (listed in *DIM - Primary Variables) or can be an independent parameter. If specifying an independent parameter, then you must define an additional table for the independent parameter. The additional table must have the same name as the independent parameter and may be a function of one or more primary variables(怎么实现这一功能,把一个表格用函数表示出来) or another independent parameter. All independent parameters must relate to a primary variable.