ANSYS apdl命令流瞬态动力学分析案例5--------凸轮从动件运动分析

问题描述

图1所示为一对心直动尖底从动件盘形凸轮机构,从动件位移s随时间的变化情况如图2所示。 由于我们已经知道了从动件的变化规律(凸轮就是这个作用 ),所以只需将描述的位移变化加载到从动件上即可,而不用考虑凸轮的转动,只需对从动件建模分析就可以了。

图1凸轮机构

图2从动件位移变化

一、命令分解

1.选择单元和材料属性

/clear,start	!清除内容并从新开始
/prep7		!进入前处理
!=====单元&材料======
et,1,plane42	!平面单元42
et,2,solid95		!实体单元95
mp,ex,1,2e11	!材料1的弹性模量
mp,prxy,1,0.3	!材料1的泊松比
mp,dens,1,7800		!材料1的密度

选择这两个单元的原因:
1.我们重点分析的是从动件的位移变化,理论上只要单元包含位移自由度的单元都可以,比如solid95的退化单元solid45。
2.选择plane42,是为了更好的控制网格划分,实体网格划分后会将其删除。当然也可以直接建立实体模型,然后直接划分实体网格。

2.建立模型和划分网格

(1)建立模型、划分面网格

k,1,0,0,0
k,2,0.015,0.01,0
k,3,0.015,0.1,0
k,4,0,0.1,0		!建立四个关键点
lstr,1,2
lstr,2,3
lstr,3,4
lstr,4,1				!将关键点连成线
al,all					!根据线生成面
lesize,1,,,6		
lesize,3,,,6
lesize,2,,,20		!设置线的节点个数,通过这些调整网格粗细
aatt,1,1,1			!给所选择的面设置单元属性
mshape,0		!划分单元形状为四边形
mshkey,1			!采用映射网格划分
amesh,all			!划分面网格

在这里插入图片描述
(2)划分体网格

type,2			!选择单元类型编号为2的单元进行划分,即solid95		
extopt,esize,6	!由面单元生成体单元,体生成或扫掠方向上单元单元分割数量
extopt,aclear,1	!由面单元生成体单元后,删除面单元
vrotat,1,,,,,,1,4,360		!将面绕关键点1、4的连线旋转
wprota,0,-90		!将工作平面旋转
cswpla,11,1			!在工作平面原点处定义一个编号11的局部坐标系
asel,s,,,3,15,4		!选择面3、7、11、15
nsla,s,1				!选择面中的节点
nrotat,all				!旋转节点坐标系与激活坐标系平行
finish					!退出前处理

在这里插入图片描述

1.划分面网格时,单元属性设置用的是aatt,实体网格单元属性用的是type。我想说这两种都可以。具体可见 单元属性的设置
2.网格划分没问题的话,就略过。如果不理解网格划分步骤,就戳一下网格划分

3.施加载荷

/solu			!进入求解器		
d,all,ux			!将x方向位移约束为0
allsel,all		!选择所有单元节点
antype,trans	!选择瞬态分析
outres,all,all		!输出结果控制
fk,4,fy,-1000	!在关键点4处施加y负向力1000N
time,10		!第一个载荷步,结束时间10s
autots,on		!打开自动时间步
deltim,0.5	!子步的开始时间为0.5s
kbc,0			!载荷步为递增方式
dk,1,uy,0.02		!关键点1此时的位移为0.02m
lswrite,1		!将载荷和载荷步信息写到编号为1的载荷步文件中
time,20		!第二个载荷步,结束时间20s
lswrite,2
time,35		!第三个载荷步,结束时间30s
dk,1,uy,0		!此时关键点1的位移为0
lswrite,3
time,45		!第四个载荷步,结束时间为45s
lswrite,4
lssolve,1,4,1	!将1~4的载荷步文件读入并求解
finish			!退出求解器

1.对于载荷步设置,及递增方式有疑问的可以参考这篇文章戳一下
2.在施加载荷时弹出的提示:
(Both solid model and finite element model boundary conditions have been applied to thismodel.As solid loads are transferred to thenodes or elements,they can overwrite directlyapplied loads.)
(该模型采用了实体模型和有限元模型边界条件。当固体载荷转移到节点或单元时,它们可以覆盖直接施加的载荷。)
意思是施加在几何模型上的载荷,会覆盖对应节点上的载荷,这也是我们所需要的。因为,我们施加的载荷在关键点上,而求解读取的是节点上的载荷,所以需要它覆盖到对应的节点上。

4.后处理

/post26		!进入时间历程后处理
nsol,2,1,u,y,uy	 !节点1在y方向上的位移变量参考号为2
deriv,3,2,1		 !编号2的变量对编号1的变量求微分,并把结果命名为3
deriv,4,3,1		 !编号3的变量对编号1的变量求微分,并把结果命名为4
plvar,2,3,4		 !用图表显示编号2、3、4的变量

在这里插入图片描述

deriv命令的含义
使用功能:对变量进行微分运算。
使用格式:DERIV,IR,IY,Ix,–,Nane , --,–,FACTA
其中,IR:赋给结果变量的任意编号。如果这个编号与已指定的变量相同,以前定义的变量将会被覆盖。
IY ,IX:参与运算的变量参考编号,即IY对IX求导。

5.完整命令

/clear,start
/prep7
!=====单元&材料======
et,1,plane42
et,2,solid95	
mp,ex,1,2e11
mp,prxy,1,0.3
mp,dens,1,7800
!======建模和网格======
k,1,0,0,0
k,2,0.015,0.01,0
k,3,0.015,0.1,0
k,4,0,0.1,0	
lstr,1,2
lstr,2,3
lstr,3,4
lstr,4,1
al,all
lesize,1,,,6
lesize,3,,,6
lesize,2,,,20
aatt,1,1,1
mshape,0
mshkey,1
amesh,all
type,2
extopt,esize,6
extopt,aclear,1
vrotat,1,,,,,,1,4,360
wprot,0,-90
cswpla,11,1
asel,s,,,3,15,4
nsla,s,1
nrotat,all	!旋转节点坐标系与激活坐标系平行
finish
!======求解======
/solu
d,all,ux
allsel,all
antype,trans
outres,all,all
fk,4,fy,-1000
time,10	!第一个载荷步
autots,on
deltim,0.5
kbc,0
dk,1,uy,0.02
lswrite,1
time,20	!第二个载荷步
lswrite,2
time,35	!第三个载荷步
dk,1,uy,0
lswrite,3
time,45	!第四个载荷步
lswrite,4
lssolve,1,4,1
save
finish
!====时间历程后处理====
/post26
nsol,2,1,u,y,uy	!节点1在y方向上的位移变量参考号为2
deriv,3,2,1	!编号2的变量对编号1的变量求微分,并把结果命名为3
deriv,4,3,1	!编号3的变量对编号1的变量求微分,并把结果命名为4
plvar,2,3,4	!显示编号为2、3、4的变量

总结

这个案例与平常的瞬态分析不同的是,它使用的是载荷步文件法求解,优势是它可以清楚的描绘载荷的变化过程。可以作为其它载荷变化的参考。

### Ansys 命令流使用案例 #### 静态结构分析命令流示例 对于静态结构分析,在 ANSYS 中可以通过命令流来设置新的分析类型。具体操作如下: 通过 `*SET,ANALYSIS,STATIC` 设置静力分析模式[^1]。 ```python /PREP7 ! 进入前处理模块 *SET, ANALYSIS, STATIC ! 设定为静态分析 ``` #### 结果输出至文本文 为了获取特定条下的计算结果并保存到 `.txt` 文中,可以利用 ANSYS 的宏功能实现自动化批处理。此过程会生成多个文本文,每个文记录不同工况下螺栓的应力应变情况等重要参数[^2]。 ```python /POST1 ! 切换到后处理器状态 ETABLE,'S',LS,0,SMISC,1 ! 定义要提取的数据表项 *VWRITE 'Result.txt' (A) ! 创建用于写入结果的文名字符串变量 (FORMAT,TITLE,'Results of Bolt Analysis') *DO,I,1,NBOLT,1 ! 循环遍历所有螺栓编号 *GET,BoltForce(I),NODE,,U,X ! 获取当前循环索引对应的节点位移值 *CFOPEN,FilePrefix||I,'.txt' *PUT,BoltForce(I) *CFCLOS *ENDDO ! 结束 DO 循环语句 ``` #### 单元属性定义与应用 当涉及到复杂几何体建模时,比如带有弹簧支撑结构的情况,则需先创建合适的实体模型再分配相应的物理特性。这里展示了一个简单的例子——向线单元赋予材料属性、实常数值以及指定单元类型号[^3]。 ```python LATT,1,1,3 ! 给线单元赋材质ID=1、实参集ID=1 和 类型号=3 MAT,1 ! 材料库中选择第1种材料 MPTEMP,,,,,,,,, MPDATA,DENS,1,,,DENSITY_VALUE ! 密度设定 MPDATA,EX,1,,,YOUNG_MODULUS ! 弹性模量输入 TYPE,3 ! 应用第三类单元形式于选定对象上 REAL,1 ! 关联第一个实常数组合给所选部 ESYS,0 ! 返回默认坐标系环境 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值