热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

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

凸轮从动件分析问题描述一、命令分解1.选择单元和材料属性2.建立模型和划分网格3.施加载荷4.后处理5.完整命令总结问题描述图1所示为一对心直动尖底从动件盘形凸轮机构,从动件位移

凸轮从动件分析

  • 问题描述
  • 一、命令分解
    • 1.选择单元和材料属性
    • 2.建立模型和划分网格
    • 3.施加载荷
    • 4.后处理
    • 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的变量

总结

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


推荐阅读
  • 本文介绍如何通过Java代码调用阿里云短信服务API来实现短信验证码的发送功能,包括必要的依赖添加和关键代码示例。 ... [详细]
  • 本文介绍了如何通过安装和配置php_uploadprogress扩展来实现文件上传时的进度条显示功能。通过一个简单的示例,详细解释了从安装扩展到编写具体代码的全过程。 ... [详细]
  • Gradle 是 Android Studio 中默认的构建工具,了解其基本配置对于开发效率的提升至关重要。本文将详细介绍如何在 Gradle 中定义和使用共享变量,以确保项目的一致性和可维护性。 ... [详细]
  • 本文介绍了如何在Android应用中通过Intent调用其他应用的Activity,并提供了详细的代码示例和注意事项。 ... [详细]
  • Hadoop集群搭建:实现SSH无密码登录
    本文介绍了如何在CentOS 7 64位操作系统环境下配置Hadoop集群中的SSH无密码登录,包括环境准备、用户创建、密钥生成及配置等步骤。 ... [详细]
  • 本文详细介绍了PHP中的几种超全局变量,包括$GLOBAL、$_SERVER、$_POST、$_GET等,并探讨了AJAX的工作原理及其优缺点。通过具体示例,帮助读者更好地理解和应用这些技术。 ... [详细]
  • Unity技巧:实现背景音乐的开关功能
    本文详细介绍了如何在Unity中通过脚本控制背景音乐的开启与关闭,适合初学者参考。 ... [详细]
  • 本文详细介绍了在PHP中如何获取和处理HTTP头部信息,包括通过cURL获取请求头信息、使用header函数发送响应头以及获取客户端HTTP头部的方法。同时,还探讨了PHP中$_SERVER变量的使用,以获取客户端和服务器的相关信息。 ... [详细]
  • 使用Python构建网页版图像编辑器
    本文详细介绍了一款基于Python开发的网页版图像编辑工具,具备多种图像处理功能,如黑白转换、铅笔素描效果等。 ... [详细]
  • 【MySQL】frm文件解析
    官网说明:http:dev.mysql.comdocinternalsenfrm-file-format.htmlfrm是MySQL表结构定义文件,通常frm文件是不会损坏的,但是如果 ... [详细]
  • 本文探讨了互联网服务提供商(ISP)如何可能篡改或插入用户请求的数据流,并提供了有效的技术手段来防止此类劫持行为,确保网络环境的安全与纯净。 ... [详细]
  • 本文详细介绍了如何在 Ubuntu 16.04 系统上配置 Qt 5.5 的交叉编译环境,特别针对 i.MX6 平台进行了优化设置。内容涵盖从基本的软件安装到高级配置的全过程。 ... [详细]
  • 从理想主义者的内心深处萌发的技术信仰,推动了云原生技术在全球范围内的快速发展。本文将带你深入了解阿里巴巴在开源领域的贡献与成就。 ... [详细]
  • Flutter 核心技术与混合开发模式深入解析
    本文深入探讨了 Flutter 的核心技术,特别是其混合开发模式,包括统一管理模式和三端分离模式,以及混合栈原理。通过对比不同模式的优缺点,帮助开发者选择最适合项目的混合开发策略。 ... [详细]
  • Android Studio: 修改应用包名的详细步骤
    本文详细介绍了在Android Studio中如何修改应用的包名,包括具体的操作步骤和注意事项。这对于需要更改包名以适应不同需求的开发者非常有用。 ... [详细]
author-avatar
unforgettable602
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有