找回密码
 注册
Simdroid-非首页
查看: 334|回复: 26

[边界条件施加] 求助:轴对称模型施加非轴对称载荷分析的一些问题

[复制链接]
发表于 2014-5-14 10:38:54 | 显示全部楼层 |阅读模式 来自 福建福州
悬赏2仿真币已解决
各位前辈,本人接触ansys不久,最近在学习用ansys分析:轴对称模型施加非轴对称载荷的问题
我做了一个例题,加载范围在-6°之间
遇到了许多问题,希望前辈给我一些指导。

1将载荷用傅里叶级数展开后,每一项作为一个载荷步,如何使用命令流来加载函数,如何定义加载范围
  (因傅里叶展开后有n项,其中每一项为:(2e7)/(n*{PI})*sin(n*6)*cos(n*{Y}),其中{Y}用来表示θ。)
  (附上的命令流只加了六项,这不是好办法,所以希望用到循环语句,希望前辈给予指导。)
2、傅里叶级数展开第一项为常数项,加载范围是不是0360°
3、傅里叶级数其他关于θ的项加载范围是不是-6

望前辈不吝赐教。

下面附上命令流



/prep7                     !创建点
et,1,plane25               
                  
mp,ex,1,2.1e11            
mp,nuxy,1,0.3
k,1,100                    !关键点
k,2,420,
k,3,420,100
k,4,400,100
k,5,400,15
k,6,120,15
k,7,120,100
k,8,100,100


a,1,2,3,4,5,6,7,8          !创建面


wpoffs,,15                  !偏移工作平面 Y轴方向
wprota,,90                  !旋转工作平面 绕Y轴90
asbw,1                      !用工作平面 分割1面


wpoffs,120
wprota,,,90
asbw,4
wpoffs,,,280
asbw,5


LESIZE,7,,,4       !布点网格尺寸大小分布  7号线分成四段
LESIZE,11,,,4
LESIZE,2,,,4
LESIZE,3,,,4
LESIZE,10,,,4
LESIZE,17,,,4


LESIZE,4,,,17
LESIZE,9,,,17
LESIZE,6,,,17
LESIZE,12,,,17


LESIZE,13,,,3
LESIZE,8,,,3
LESIZE,1,,,3
LESIZE,14,,,3


LESIZE,5,,,56
LESIZE,16,,,56


ASEL,ALL       !全选
AATT,1,,1      !给所选的面设置划分网格单元属性。材料号,实常数值,单元号


MSHAPE,0,2D    !分割单元 四边形 2D
AMESH,ALL      !根据面上指定的网格生成一个二维映射网格


/SOL


DL,12,,ALL               !模型内径全约束
DL,13,,ALL


wpoffs,,,-280           !调整工作平面与坐标面重合
wprota,,,-90
wpoffs,-120
wprota,,-90
wpoffs,,-15   


EPLOTE                     !显示所有选择的单元网格
CSYS,5                     !激活一个预先已定义的坐标系统 Y轴为轴的柱坐标系


allsel,all


MODE,0,1
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNCCSYS   
*SET,_FNCNAME,'f0'  
*SET,_FNCCSYS,5
! /INPUT,f0.func,,,1
*DIM,%_FNCNAME%,TABLE,6,4,1,,,,%_FNCCSYS%   
!   
! Begin of equation: (1e7)/30   
*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, 1e7, 0, 0, 0
*SET,%_FNCNAME%(0,2,1), 0.0, -2, 0, 30, 0, 0, -1
*SET,%_FNCNAME%(0,3,1),   1, -3, 0, 1, -1, 4, -2
*SET,%_FNCNAME%(0,4,1), 0.0, 99, 0, 1, -3, 0, 0
! End of equation: (1e7)/30
!-->
FLST,2,2,4,ORDE,2   
FITEM,2,9   
FITEM,2,14  
/GO
!*  
!*  
SFL,9,PRES, %F0%
SFL,14,PRES, %F0%


LSWRITE,1,  


allsel,all


MODE,1,1
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNCCSYS   
*SET,_FNCNAME,'f1'  
*SET,_FNCCSYS,5
! /INPUT,f1.func,,,1
*DIM,%_FNCNAME%,TABLE,6,8,2,,,,%_FNCCSYS%   
!   
! Begin of equation: {Y}
*SET,%_FNCNAME%(0,0,1), -6, -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, 99, 0, 1, 3, 0, 0  
*SET,%_FNCNAME%(0,2,1),   0
*SET,%_FNCNAME%(0,3,1),   1
*SET,%_FNCNAME%(0,4,1),   0
*SET,%_FNCNAME%(0,5,1),   0
*SET,%_FNCNAME%(0,6,1),   0
*SET,%_FNCNAME%(0,7,1),   0
*SET,%_FNCNAME%(0,8,1),   0
! End of equation: {Y}  
!   
! Begin of equation: (2e7)/{PI}*sin(6)*cos({Y})
*SET,%_FNCNAME%(0,0,2), 6, -999
*SET,%_FNCNAME%(2,0,2), 0.0
*SET,%_FNCNAME%(3,0,2), 0.0
*SET,%_FNCNAME%(4,0,2), 0.0
*SET,%_FNCNAME%(5,0,2), 0.0
*SET,%_FNCNAME%(6,0,2), 0.0
*SET,%_FNCNAME%(0,1,2), 1.0, -1, 0, 2e7, 0, 0, 0
*SET,%_FNCNAME%(0,2,2), 0.0, -2, 0, 3.14159265358979310, 0, 0, -1   
*SET,%_FNCNAME%(0,3,2),   1, -3, 0, 1, -1, 4, -2
*SET,%_FNCNAME%(0,4,2), 0.0, -1, 9, 6, 0, 0, 0  
*SET,%_FNCNAME%(0,5,2), 0.0, -2, 0, 1, -3, 3, -1
*SET,%_FNCNAME%(0,6,2), 0.0, -1, 10, 1, 3, 0, 0
*SET,%_FNCNAME%(0,7,2), 0.0, -3, 0, 1, -2, 3, -1
*SET,%_FNCNAME%(0,8,2), 0.0, 99, 0, 1, -3, 0, 0
! End of equation: (2e7)/{PI}*sin(6)*cos({Y})   
!-->
FLST,2,2,4,ORDE,2   
FITEM,2,9   
FITEM,2,14  
/GO
!*  
!*  
SFL,9,PRES, %F1%
SFL,14,PRES, %F1%


LSWRITE,2,  

allsel,all


MODE,2,1
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNCCSYS   
*SET,_FNCNAME,'f2'  
*SET,_FNCCSYS,5
! /INPUT,f2.func,,,1
*DIM,%_FNCNAME%,TABLE,6,15,2,,,,%_FNCCSYS%  
!   
! Begin of equation: {Y}
*SET,%_FNCNAME%(0,0,1), -6, -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, 99, 0, 1, 3, 0, 0  
*SET,%_FNCNAME%(0,2,1),   0
*SET,%_FNCNAME%(0,3,1),   1
*SET,%_FNCNAME%(0,4,1),   0
*SET,%_FNCNAME%(0,5,1),   0
*SET,%_FNCNAME%(0,6,1),   0
*SET,%_FNCNAME%(0,7,1),   0
*SET,%_FNCNAME%(0,8,1),   0
*SET,%_FNCNAME%(0,9,1),   0
*SET,%_FNCNAME%(0,10,1),   0
*SET,%_FNCNAME%(0,11,1),   0
*SET,%_FNCNAME%(0,12,1),   0
*SET,%_FNCNAME%(0,13,1),   0
*SET,%_FNCNAME%(0,14,1),   0
*SET,%_FNCNAME%(0,15,1),   0
! End of equation: {Y}  
!   
! Begin of equation: (2e7)/(2*{PI})*sin(2*6)*cos(2*{Y})
*SET,%_FNCNAME%(0,0,2), 6, -999
*SET,%_FNCNAME%(2,0,2), 0.0
*SET,%_FNCNAME%(3,0,2), 0.0
*SET,%_FNCNAME%(4,0,2), 0.0
*SET,%_FNCNAME%(5,0,2), 0.0
*SET,%_FNCNAME%(6,0,2), 0.0
*SET,%_FNCNAME%(0,1,2), 1.0, -1, 0, 2, 0, 0, 0  
*SET,%_FNCNAME%(0,2,2), 0.0, -2, 0, 3.14159265358979310, 0, 0, -1   
*SET,%_FNCNAME%(0,3,2),   1, -3, 0, 1, -1, 3, -2
*SET,%_FNCNAME%(0,4,2), 0.0, -1, 0, 2e7, 0, 0, -3   
*SET,%_FNCNAME%(0,5,2), 0.0, -2, 0, 1, -1, 4, -3
*SET,%_FNCNAME%(0,6,2), 0.0, -1, 0, 2, 0, 0, 0  
*SET,%_FNCNAME%(0,7,2), 0.0, -3, 0, 6, 0, 0, -1
*SET,%_FNCNAME%(0,8,2), 0.0, -4, 0, 1, -1, 3, -3
*SET,%_FNCNAME%(0,9,2), 0.0, -1, 9, 1, -4, 0, 0
*SET,%_FNCNAME%(0,10,2), 0.0, -3, 0, 1, -2, 3, -1   
*SET,%_FNCNAME%(0,11,2), 0.0, -1, 0, 2, 0, 0, 3
*SET,%_FNCNAME%(0,12,2), 0.0, -2, 0, 1, -1, 3, 3
*SET,%_FNCNAME%(0,13,2), 0.0, -1, 10, 1, -2, 0, 0   
*SET,%_FNCNAME%(0,14,2), 0.0, -2, 0, 1, -3, 3, -1   
*SET,%_FNCNAME%(0,15,2), 0.0, 99, 0, 1, -2, 0, 0
! End of equation: (2e7)/(2*{PI})*sin(2*6)*cos(2*{Y})   
!-->
FLST,2,2,4,ORDE,2   
FITEM,2,9   
FITEM,2,14  
/GO
!*  
!*
SFL,9,PRES, %F2%
SFL,14,PRES, %F2%

LSWRITE,3,  
allsel,all               
outpr,all,all             !控制结果的输出

lssolve,1,3,1              !读入并求解多个载荷步

最佳答案

查看完整内容

你对谐波单元的使用方法不对: 与轴对称单元一样,谐波单元仅仅是旋转体的一个截面;因此,在使用谐波单元对某个谐波载荷进行分析时,不存在角度从 -180 到 180 的问题,可以认为该截面所在的角度 (Thata) 为零。 你对三维载荷进行傅立叶变换后,对每个谐波,只要施加相应的幅值作为该谐波的载荷即可,对你的情况,应该是: Fy=((2*1e7)/(n*PI))*sin(n*6) 另外,你的命令流中,既使用了 lswrtite 命令,又在每个 ...
发表于 2014-5-14 10:38:55 | 显示全部楼层 来自 上海黄浦区
Simdroid开发平台
你对谐波单元的使用方法不对:
    与轴对称单元一样,谐波单元仅仅是旋转体的一个截面;因此,在使用谐波单元对某个谐波载荷进行分析时,不存在角度从 -180 到 180 的问题,可以认为该截面所在的角度 (Thata) 为零。
    你对三维载荷进行傅立叶变换后,对每个谐波,只要施加相应的幅值作为该谐波的载荷即可,对你的情况,应该是:
         Fy=((2*1e7)/(n*PI))*sin(n*6)
另外,你的命令流中,既使用了 lswrtite 命令,又在每个 lswrite 之前使用了 solve 命令,这也是不对的。可以去掉二者中的一个。
    如果保留所有的 solve,在循环结束后,可以直接到后处理看结果,点击 Result Summary 查看结果综合情况,应该有 31 个结果组;如果删除所有 solve,则应该在循环之后,使用 lssolve 命令进行求解。

评分

1

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-5-16 15:41:46 | 显示全部楼层 来自 福建福州
怎么没有人呢
回复

使用道具 举报

发表于 2014-5-18 17:00:35 | 显示全部楼层 来自 上海黄浦区
如果你的傅立叶展开没有问题,假设共有 n 项 (实际会有很多项,从中选择主要的 n 项)
1  所有各项的载荷都是 0 到 360° ,而不是 -6 到 6°。它们叠加到一起,才是  -6 到 6° 的载荷。
2  在 /solution 中,可以使用循环语句逐个计算各个谐波项,大致步骤是:
    *do, i, 1, n
       删除所有边界条件体 (约束和载荷)
       定义本次计算的谐波数
       定义本谐波数对应的边界条件
       求解
    *enddo
全部求解完成后再到后处理查看结果。
回复

使用道具 举报

 楼主| 发表于 2014-5-22 11:42:53 | 显示全部楼层 来自 福建福州
htbbzzg 发表于 2014-5-18 17:00
如果你的傅立叶展开没有问题,假设共有 n 项 (实际会有很多项,从中选择主要的 n 项)
1  所有各项的载荷都 ...

前辈您好,傅里叶展开我已经验证过,正如您所说的加载应该是在0到360度范围内。
有一个问题我不理解,就是您说的“删除所有边界条件体(约束和载荷)。”,为什么每定义一次谐波数和边界条件之前都要删除所有边界条件?
我给您附上最近编写的命令流,这与三维模型得到的结果相差甚远,还望您多多给我指导一下。

/prep7                     !创建点

et,1,plane25               
PI=ACOS(-1)                 !计算π的值
                 
mp,ex,1,2.1e11            
mp,prxy,1,0.3

k,1,100                    !关键点
k,2,420,
k,3,420,100
k,4,400,100
k,5,400,15
k,6,120,15
k,7,120,100
k,8,100,100

a,1,2,3,4,5,6,7,8          !创建面

wpoffs,,15                  !偏移工作平面 Y轴方向
wprota,,90                  !旋转工作平面 绕Y轴90
asbw,1                      !用工作平面 分割1面
wpoffs,120
wprota,,,90
asbw,4
wpoffs,,,280
asbw,5

LESIZE,7,,,4      !布点网格尺寸大小分布  7号线分成四段
LESIZE,11,,,4
LESIZE,2,,,4
LESIZE,3,,,4
LESIZE,10,,,4
LESIZE,17,,,4
LESIZE,4,,,17
LESIZE,9,,,17
LESIZE,6,,,17
LESIZE,12,,,17
LESIZE,13,,,3
LESIZE,8,,,3
LESIZE,1,,,3
LESIZE,14,,,3
LESIZE,5,,,56
LESIZE,16,,,56

ASEL,ALL       !全选
AATT,1,,1      !给所选的面设置划分网格单元属性。材料号,实常数值,单元号
MSHAPE,0,2D    !分割单元 四边形 2D
AMESH,ALL      !根据面上指定的网格生成一个二维映射网格


/SOL

DL,12,,ALL               !模型内径全约束
DL,13,,ALL

wpoffs,,,-280           !调整工作平面与坐标面重合
wprota,,,-90
wpoffs,-120
wprota,,-90
wpoffs,,-15   

EPLOTE                     !显示所有选择的单元网格
CSYS,5                     !激活一个预先已定义的坐标系统 Y轴为轴的柱坐标系

allsel,all


MODE,0,1
SFL,9,PRES, (1e7)/30
SFL,14,PRES, (1e7)/30
LSWRITE,1,  

allsel,all


*AFUN,DEG                                     !在参数表达式中,为角度函数指定单位
theta=RAND(-180,180)                              !a的范围在-6到6
*DO,n,1,20                         !(非常数项步数)
MODE,n,1                                      !模数
y=((2*1e7)/(n*PI))*sin(n*6)*cos(n*theta)
SFL,9,PRES,y
SFL,14,PRES,y
lswrite,n+1
*enddo

ASEL,ALL                                       !全选
lssolve,1,21,1              !(解载荷步总步数)


/post1

lczero

*DO,n,1,21,1                !(读取载荷步总步数)
SET,n,,,,,0,              !从结果文件中读出所指定的数据集(读角度θ)              
lcwrite,n                                   !将结果写入到一个载荷工况文件来生成一个载荷工况
*ENDDO

lczero

lcase,1                                     !将载荷工况读入到ansys系统
sumtype,prin                                !为随后的载荷工况操作设置求和类型

*DO,n,2,21                   !(所有载荷工况的叠加)
lcoper,add,n                                !完成载荷工况运算 加法
*ENDDO

lcoper,lprin                              !计算线性主应力

lcwrite,98                                 !通过将结果写入到一个载荷工况文件来生成一个载荷工况
lcase,98                                   !将载荷工况读入到ansys系统

/EFACET,1   
PLNSOL, S,EQV, 0,1.0




下面是三维建模得到的结果

/prep7                     !创建点

ET,1,MESH200              !此单元可模拟大多数二维或三维实体单元
ET,2,SOLID45
KEYOPT,1,1,6              !
KEYOPT,1,2,0              !选择单元形状为四节点四边形单元



mp,ex,1,2.1e11
mp,prxy,1,0.3
k,1,100
k,2,420,
k,3,420,100
k,4,400,100
k,5,400,15
k,6,120,15
k,7,120,100
k,8,100,100

a,1,2,3,4,5,6,7,8          !创建面

wpoffs,,15                  !偏移工作平面 Y轴方向
wprota,,90                  !旋转工作平面 绕Y轴90
asbw,1                      !用工作平面 分割1面

wpoffs,120
wprota,,,90
asbw,4
wpoffs,,,280
asbw,5




LESIZE,7,,,4    !布点网格尺寸大小分布
LESIZE,11,,,4
LESIZE,2,,,4
LESIZE,3,,,4
LESIZE,10,,,4
LESIZE,17,,,4

LESIZE,4,,,17
LESIZE,9,,,17
LESIZE,6,,,17
LESIZE,12,,,17

LESIZE,13,,,3
LESIZE,8,,,3
LESIZE,1,,,3
LESIZE,14,,,3


LESIZE,5,,,56
LESIZE,16,,,56

ASEL,ALL   
AATT,1,,1   !赋予材料属性 材料号 单元号

MSHAPE,0,2D !分割单元 四边形 2D
AMESH,ALL

wpoffs,,,-280
wprota,,,-90
wpoffs,-120
wprota,,-90
wpoffs,,-15  

k,10000,,,                      !建立轴线
k,20000,,100



TYPE,   2                     
EXTOPT,ESIZE,30,0,            !由面单元生成体单元的相关控制
EXTOPT,ACLEAR,1               !面单元网格是否清除

EXTOPT,ATTR,0,0,0             !设置将面单元上的特殊属性传给生成的体单元
MAT,1                         !设置单元材料属性指示器
REAL,_Z4                      !单元实常数属性指示
ESYS,0                        !设置单元坐标系统属性指示

VROTAT,3,1,4,2,6, ,10000,20000,360,4,    !由面绕轴线旋转生成圆柱体


kDELE,10000,,,     !删除点
kDELE,20000

ALLSEL,ALL  
EPLOT              !画出实体模型


/SOLU

CSYS,5



DA,8,ALL      !约束内径面所有自由度
DA,13,ALL
DA,29,ALL
DA,34,ALL
DA,50,ALL
DA,55,ALL
DA,71,ALL
DA,75,ALL



ALLSEL,ALL  
*DEL,_FNCNAME   
*DEL,_FNCMTID   
*DEL,_FNCCSYS   
*SET,_FNCNAME,'ff'  
*SET,_FNCCSYS,5
! /INPUT,ff.func,,,1
*DIM,%_FNCNAME%,TABLE,6,3,3,,,,%_FNCCSYS%   
!   
! Begin of equation: {Y}
*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, 99, 0, 1, 3, 0, 0  
*SET,%_FNCNAME%(0,2,1),   0
*SET,%_FNCNAME%(0,3,1),   1
! End of equation: {Y}  
!   
! Begin of equation: 1e7
*SET,%_FNCNAME%(0,0,2), 12, -999
*SET,%_FNCNAME%(2,0,2), 0.0
*SET,%_FNCNAME%(3,0,2), 0.0
*SET,%_FNCNAME%(4,0,2), 0.0
*SET,%_FNCNAME%(5,0,2), 0.0
*SET,%_FNCNAME%(6,0,2), 0.0
*SET,%_FNCNAME%(0,1,2), 1.0, 99, 0, 1e7, 0, 0, 0
*SET,%_FNCNAME%(0,2,2),   0
*SET,%_FNCNAME%(0,3,2),   1
! End of equation: 1e7  
!   
! Begin of equation: 0  
*SET,%_FNCNAME%(0,0,3), 360, -999   
*SET,%_FNCNAME%(2,0,3), 0.0
*SET,%_FNCNAME%(3,0,3), 0.0
*SET,%_FNCNAME%(4,0,3), 0.0
*SET,%_FNCNAME%(5,0,3), 0.0
*SET,%_FNCNAME%(6,0,3), 0.0
*SET,%_FNCNAME%(0,1,3), 1.0, 99, 0, 0, 0, 0, 0  
*SET,%_FNCNAME%(0,2,3),   0
*SET,%_FNCNAME%(0,3,3),   1
! End of equation: 0
!-->
FLST,2,8,5,ORDE,8   
FITEM,2,19  
FITEM,2,25  
FITEM,2,40  
FITEM,2,46  
FITEM,2,61  
FITEM,2,67  
FITEM,2,79  
FITEM,2,84  
/GO

SFA,19,1,PRES, %FF%   
SFA,25,1,PRES, %FF%
SFA,40,1,PRES, %FF%
SFA,46,1,PRES, %FF%
SFA,61,1,PRES, %FF%
SFA,67,1,PRES, %FF%
SFA,79,1,PRES, %FF%
SFA,84,1,PRES, %FF%



ALLSEL,ALL  

SOLVE   
  


/post1
/EFACET,1   
PLNSOL, S,EQV, 0,1.0
回复

使用道具 举报

 楼主| 发表于 2014-5-24 14:48:27 | 显示全部楼层 来自 福建福州
希望得到帮助
回复

使用道具 举报

 楼主| 发表于 2014-5-24 17:25:15 | 显示全部楼层 来自 福建福州
htbbzzg 发表于 2014-5-18 17:00
如果你的傅立叶展开没有问题,假设共有 n 项 (实际会有很多项,从中选择主要的 n 项)
1  所有各项的载荷都 ...

前辈您好,请问傅里叶级数中每一项都包含θ,θ的范围应该如何定义?

theta=RAND(-180,180)  
y=((2*1e7)/(n*PI))*sin(n*6)*cos(n*theta)
这样子是对的吗  ?
回复

使用道具 举报

发表于 2014-5-25 18:11:07 | 显示全部楼层 来自 上海黄浦区
你给的是准备作为载荷输入的表达式吗?
使用谐波单元求解轴对称结构的非轴对称问题时,施加的载荷好像应该只是幅值部份,与角度无关的。
回复

使用道具 举报

 楼主| 发表于 2014-5-26 09:03:54 | 显示全部楼层 来自 福建福州
本帖最后由 双层鸡腿堡 于 2014-5-26 14:57 编辑
htbbzzg 发表于 2014-5-25 18:11
你给的是准备作为载荷输入的表达式吗?
使用谐波单元求解轴对称结构的非轴对称问题时,施加的载荷好像应该 ...

您好,是准备作为载荷输入的表达式,但是其中包含变量threta(θ),不知道怎么定义。同时我也感觉这样写加载方式不对,因为最后叠加的结果与三位验证模型相差好多。
我想拿三围模型作为标准,验证二维模型的正确性。您看我建立的三维模型是对的吗?
回复

使用道具 举报

发表于 2014-5-26 16:40:12 | 显示全部楼层 来自 上海黄浦区
模型是否正确我无法判断。
如果包含 threta(θ) 的表达式是用于三维情况,那是可以的,但是该函数使用的 threta(θ)是随机产生的,无法确定对应的二维谐波。
回复

使用道具 举报

 楼主| 发表于 2014-5-26 16:52:43 | 显示全部楼层 来自 福建福州
htbbzzg 发表于 2014-5-26 16:40
模型是否正确我无法判断。
如果包含 threta(θ) 的表达式是用于三维情况,那是可以的,但是该函数使用的  ...

您好,如果为θ设置范围呢,用于二维模型?
但是结果与三位模型得出的结果相差较大。

范围如下:
theta=RAND(-180,180)  

是不是我在设置叠加的时候有问题?我是按照ansys help文件里边的提示做的。其中有一个lcoper的命令,为载荷工况进行叠加。
回复

使用道具 举报

发表于 2014-5-26 17:09:37 | 显示全部楼层 来自 上海黄浦区
RAND() 是个随机函数,不管怎样,你还是需要对函数
    theta=RAND(-180,180)  
    y=((2*1e7)/(n*PI))*sin(n*6)*cos(n*theta)
做傅立叶变换,然后对各个谐波分别分析,再使用 icoper 进行叠加。如果没有对傅立叶变换得到的全部谐波载荷进行求解,那么结果必然会相差很大。
轴对称结构,非轴对称载荷的分析,一般只能用于少量谐波的情况,谐波太多是不适用的。
回复

使用道具 举报

 楼主| 发表于 2014-5-26 17:59:38 | 显示全部楼层 来自 福建福州
本帖最后由 双层鸡腿堡 于 2014-5-26 18:15 编辑
htbbzzg 发表于 2014-5-26 17:09
RAND() 是个随机函数,不管怎样,你还是需要对函数
    theta=RAND(-180,180)  
    y=((2*1e7)/(n*PI))*si ...

您好,例题中加载的压力是在-6到6度的范围之内,压力为常数1e7pa。
经过傅里叶变换之后生成的傅里叶级数就是(常数项除外)
  y=((2*1e7)/(n*PI))*sin(n*6)*cos(n*theta)

您看一看我新编写的命令流(我将θ分解成-180到180,叠加到模型上,这样得到的结果也不对)

/prep7                     !创建点

et,1,plane25               
PI=ACOS(-1)                 !计算π的值

mp,ex,1,2.1e11            
mp,prxy,1,0.3

k,1,100                    !关键点
k,2,420,
k,3,420,100
k,4,400,100
k,5,400,15
k,6,120,15
k,7,120,100
k,8,100,100

a,1,2,3,4,5,6,7,8          !创建面

wpoffs,,15                  !偏移工作平面 Y轴方向
wprota,,90                  !旋转工作平面 绕Y轴90
asbw,1                      !用工作平面 分割1面
wpoffs,120
wprota,,,90
asbw,4
wpoffs,,,280
asbw,5

LESIZE,7,,,4      !布点网格尺寸大小分布  7号线分成四段
LESIZE,11,,,4
LESIZE,2,,,4
LESIZE,3,,,4
LESIZE,10,,,4
LESIZE,17,,,4
LESIZE,4,,,17
LESIZE,9,,,17
LESIZE,6,,,17
LESIZE,12,,,17
LESIZE,13,,,3
LESIZE,8,,,3
LESIZE,1,,,3
LESIZE,14,,,3
LESIZE,5,,,56
LESIZE,16,,,56

ASEL,ALL       !全选
AATT,1,,1      !给所选的面设置划分网格单元属性。材料号,实常数值,单元号
MSHAPE,0,2D    !分割单元 四边形 2D
AMESH,ALL      !根据面上指定的网格生成一个二维映射网格


/SOL


wpoffs,,,-280           !调整工作平面与坐标面重合
wprota,,,-90
wpoffs,-120
wprota,,-90
wpoffs,,-15   


EPLOTE                     !显示所有选择的单元网格
CSYS,5                     !激活一个预先已定义的坐标系统 Y轴为轴的柱坐标系

allsel,all

DL,12,,ALL               !模型内径全约束
DL,13,,ALL

MODE,0,1
SFL,9,PRES, (1e7)/30
SFL,14,PRES, (1e7)/30
allsel,all
solve
lswrite,1


*AFUN,DEG                                                          !在参数表达式中,为角度函数指定单位SFCUM,PRES,ADD,
*DO,n,1,30,1                         !(非常数项步数)
SFLDELE,ALL,PRES                                             !从所选择的线上删除表面载荷
MODE,n,1                                                             !模数

   *DO,A,-180,180,1
   F=(2e7/(n*PI))*sin(n*6)*cos(n*A)
   SFL,9,PRES,F
   SFL,14,PRES,F
   *enddo

ASEL,ALL                                                             !全选
solve
lswrite,n+1
*enddo


/post1
lczero
*DO,n,1,31,1                !(读取载荷步总步数)
SET,n,,,,,0,                  !从结果文件中读出所指定的数据集(读角度θ)              
lcwrite,n                                                                !将结果写入到一个载荷工况文件来生成一个载荷工况
*ENDDO


sumtype,prin                                                       !为随后的载荷工况操作设置求和类型
lcase,1                                                                !将载荷工况读入到ansys系统



lcoper,add,all                                                       !完成载荷工况运算 加法


lcoper,lprin                                                         !重新计算线性主应力

lcwrite,98                                                             !通过将结果写入到一个载荷工况文件来生成一个载荷工况
lcase,98                                                               !将载荷工况读入到ansys系统

/EFACET,1   
PLNSOL, S,EQV, 0,1.0

回复

使用道具 举报

 楼主| 发表于 2014-5-29 11:39:14 | 显示全部楼层 来自 福建福州
本帖最后由 双层鸡腿堡 于 2014-5-29 11:47 编辑
htbbzzg 发表于 2014-5-27 18:59
你对谐波单元的使用方法不对:
    与轴对称单元一样,谐波单元仅仅是旋转体的一个截面;因此,在使用谐波 ...

感谢您的指点,恍然大悟,谐波单元的加载不需要θ这一项,他已经表现在傅里叶级数和mode的设置里面了。

但是分析出来的结果与三位模型得到的结果差距很大,这会是什么原因呢?
谐波单元得到的结果为:DMX=2.258     SMN=19026     SMX=0.218E+09
三维模型得到的结果为:  DMX=2.764     SMN=8382       SMX=0.250E+09


谐波单元的命令流修改后如下:

/prep7                     !创建点

et,1,plane25               
PI=ACOS(-1)                 !计算π的值

mp,ex,1,2.1e11            
mp,prxy,1,0.3

k,1,100                    !关键点
k,2,420,
k,3,420,100
k,4,400,100
k,5,400,15
k,6,120,15
k,7,120,100
k,8,100,100

a,1,2,3,4,5,6,7,8          !创建面

wpoffs,,15                  !偏移工作平面 Y轴方向
wprota,,90                  !旋转工作平面 绕Y轴90
asbw,1                      !用工作平面 分割1面
wpoffs,120
wprota,,,90
asbw,4
wpoffs,,,280
asbw,5

LESIZE,7,,,4      !布点网格尺寸大小分布  7号线分成四段
LESIZE,11,,,4
LESIZE,2,,,4
LESIZE,3,,,4
LESIZE,10,,,4
LESIZE,17,,,4
LESIZE,4,,,17
LESIZE,9,,,17
LESIZE,6,,,17
LESIZE,12,,,17
LESIZE,13,,,3
LESIZE,8,,,3
LESIZE,1,,,3
LESIZE,14,,,3
LESIZE,5,,,56
LESIZE,16,,,56

ASEL,ALL       !全选
AATT,1,,1      !给所选的面设置划分网格单元属性。材料号,实常数值,单元号
MSHAPE,0,2D    !分割单元 四边形 2D
AMESH,ALL      !根据面上指定的网格生成一个二维映射网格


/SOL


wpoffs,,,-280           !调整工作平面与坐标面重合
wprota,,,-90
wpoffs,-120
wprota,,-90
wpoffs,,-15   


EPLOTE                     !显示所有选择的单元网格
CSYS,5                     !激活一个预先已定义的坐标系统 Y轴为轴的柱坐标系

allsel,all

DL,12,,ALL               !模型内径全约束
DL,13,,ALL

MODE,0,1
SFL,9,PRES, (1e7)/30
SFL,14,PRES, (1e7)/30
LSWRITE,1,  

allsel,all


*AFUN,DEG                                                                  !在参数表达式中,为角度函数指定单位

*DO,n,1,90                         !(非常数项步数)
SFLDELE,ALL,PRES                                                    !从所选择的线上删除表面载荷
MODE,n,1                                                                     !模数
Fy=((2*1e7)/(n*PI))*sin(n*6)
SFL,9,PRES,Fy
SFL,14,PRES,Fy
lswrite,n+1
*enddo

ASEL,ALL                                                                     !全选
lssolve,1,91,1              !(解载荷步总步数)


/post1

lczero

*DO,n,1,91,1            !(读取载荷步总步数)
SET,n,,,,,0,              !从结果文件中读出所指定的数据集(读角度θ)  
lcwrite,n                                                                     !将结果写入到一个载荷工况文件来生成一个载荷工况
*ENDDO


!lczero

lcase,1                                                                         !将载荷工况读入到ansys系统
!sumtype,prin                                                                !为随后的载荷工况操作设置求和类型


*DO,n,2,91                 !(所有载荷工况的叠加)
lcoper,add,n                                                                 !完成载荷工况运算 加法
*ENDDO

!lcoper,lprin                                                                      !重新计算线性主应力

lcwrite,98                                                                            !通过将结果写入到一个载荷工况文件来生成一个载荷工况
lcase,98                                                                             !将载荷工况读入到ansys系统

/EFACET,1   
PLNSOL, S,EQV, 0,1.0

回复

使用道具 举报

发表于 2014-5-29 16:03:11 | 显示全部楼层 来自 上海黄浦区
问题在于,对你的情况,将三维载荷通过傅立叶变换后,得到的谐波项可能有无穷多项。虽然你计算时取了 91 项,但是仍然不一定够。
还是以前所说,谐波单元只适用于少量谐波的情况,对你的情况可能不太适用。
回复

使用道具 举报

 楼主| 发表于 2014-5-30 12:40:24 | 显示全部楼层 来自 福建福州
htbbzzg 发表于 2014-5-29 16:03
问题在于,对你的情况,将三维载荷通过傅立叶变换后,得到的谐波项可能有无穷多项。虽然你计算时取了 91 项 ...

您好,我取31步和91步得到的数据十分接近。所以应该不是项数的问题。
对于谐波单元,我做的这个例题,已经得到的结论是与三维分析得到的结果相近,但是我做出来的结果不一样,所以目前我还找不到问题的原因。
不知道是不是在载荷的叠加中缺少设置的问题:
我发现其中有一个命令是求和类型的设置,改变它结果就不一样,默认是应力分量的叠加,改变成主应力叠加就是: sumtype,print。
回复

使用道具 举报

发表于 2014-5-30 16:13:59 | 显示全部楼层 来自 上海黄浦区
应该是应力分量的叠加,然后求主应力;直接叠加主应力是不对的。因为主应力需要对应力分量的平方按一定方式求和再开方 (以及其它运算)。
简单的讲,几个数,平方和开方和直接求和,结果是不一样的。
回复

使用道具 举报

 楼主| 发表于 2014-6-2 00:13:01 | 显示全部楼层 来自 福建福州
htbbzzg 发表于 2014-5-30 16:13
应该是应力分量的叠加,然后求主应力;直接叠加主应力是不对的。因为主应力需要对应力分量的平方按一定方式 ...

前辈您好,经过您的指导,我对命令流的编写加深了理解,但是得到的结果与三维模型存在一定的差别,目前还是找不到哪里出问题。
谐波单元得到的结果为:DMX=2.258     SMN=19026     SMX=0.218E+09
三维模型得到的结果为:  DMX=2.764     SMN=8382       SMX=0.250E+09
希望前辈继续给我一些指点。





回复

使用道具 举报

发表于 2014-6-2 08:29:46 | 显示全部楼层 来自 上海黄浦区
抱歉,无能为力了。

点评

非常感谢您  发表于 2014-6-2 11:48
回复

使用道具 举报

 楼主| 发表于 2014-6-4 10:00:48 | 显示全部楼层 来自 福建福州
htbbzzg 发表于 2014-5-29 16:03
问题在于,对你的情况,将三维载荷通过傅立叶变换后,得到的谐波项可能有无穷多项。虽然你计算时取了 91 项 ...

您好,请问“谐波单元只适用于少量谐波的情况”,具体可以用在什么情况下呢?
比如用在什么样的模型比较合适;
谐波单元应该怎么使用?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-3-29 18:40 , Processed in 0.055535 second(s), 15 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表