mysql workbench中文设置_使用Workbench完成流体压力渗透分析

       “之前的案例,APDL Showcase3里使用到了流体压力渗透载荷。有朋友读到以后,希望能在Workbench里实现这一功能。有需求就有动力,我们来试一试。 

01

结果展示先看计算结果:(为了截图方便将模型旋转了90度)

76ce29c524707a476da28fea4f0ae392.gif

该案例为轴对称模型,分为两个载荷步。第一步将橡胶环和密封盖压紧,第二步在接触单元上施加流体压力渗透载荷,研究接触对的分离情况。

9df8ab16e296c85b27129b6faf720889.png

(接触单元的压力。这个结果的数量级有问题,请忽略)

本文参考APDL Technology Showcase td-3 案例,在Workbench中实现施加流体压力渗透载荷的分析。

02

命令分析官方案例中,加载部分的命令为:c1c1ce3699b6b49475f9e28e5aa6335e.pngfb33cbdc7900bcf5e7676935cc542c6b.pngcf4d9a82cce81bfe1fe5b3f7ba2e8e4d.png70ebe5b0e6fe133bb8f9511cc3c425e4.png从官方给的dat文件中可以看到,第一步只是施加一个强制位移,并没有什么特殊。第二步才是重点。施加流体压力渗透载荷的命令如下,我们依次分析。
! Load Step 2 -  Apply fluid penetration pressureesel,s,real,,6                      ! select rigid-flexible contact pairesel,r,ename,,172                   ! reselect contact elements only esel,a,real,,8                     ! select flexible-flexible contact pairsfe,all,1,pres,,4.1           ! apply fluid pressure allsel! Remove overlaping fluid penetration pressure loadsesel,s,real,,8                      ! select flexible-flexible contact pairnsleesln,s,1esel,r,real,,6                      ! reselect rigid-flexible contact pairsfedele,all,all,all                 ! remove overlaping fluid pressure loadsallsel
上面这一段命令分两部分,第一部分选择接触单元,施加流体压力渗透载荷;第二部分是去除重复的载荷。

esel命令,第一个参数s代表新建选择,r代表在当前选择集内重新选择,a代表添加到选择。第二个参数real表示按实常数选择,ename顾名思义,是按单元类型进行选择。

d422d80e788cc0c9237a210f51bbfdc8.png因此,前三行命令中文注释为:
esel,s,real,,6       ! 按实常数选择,选实常数为6的单元。在案例模型中为刚-柔接触对esel,r,ename,,172    ! 在当前选择中重选,只留下CONTA172单元esel,a,real,,8      ! 添加到选择,增加选择柔-柔接触对单元
这里为什么要只留下接触单元呢?因为APDL中的案例,下压的压头是刚体,这个接触对是刚-柔接触。如果我们做柔-柔接触,则不需要这一行。第四行sfe命令,对当前选中的接触单元施加流体压力渗透载荷。
sfe,all,1,pres,,4.1    ! sfe施加表面压力在单元上; 1表示法向压力, 大小4.1(单位一致为MPa)

接下来是第二部分。这几行命令,用比较巧妙的方式,选中了重复的接触单元,将流体压力渗透载荷在重复的单元里去掉。

esel,s,real,,8        ! 选择实常数为8的柔-柔接触对nsle                  ! 选择接触对连接到的节点esln,s,1              ! 再选择节点对应的单元。1代表只有单元内所有节点都在当前选择中时才选择单元。这样避免了选中结构单元。esel,r,real,,6        ! 在当前选择集中,重选刚-柔接触对sfedele,all,all,all   ! 删除重复的流体压力渗透载荷。allsel
这个方法是:先选择实常数为8的柔-柔接触对;然后通过nsle命令选择这些单元对应的节点;再通过esln命令选择节点对应的单元。在这一过程中,和柔-柔接触对的节点重复的刚-柔接触对的接触单元也被选中了。最后通过esel, r命令,在当前选择集下重新选择实常数为6的刚-柔接触对,将其载荷删除。(NSLE命令的帮助文档页。请忽略那个错误的机器翻译……)

8b663aa6e87c0ecbd8e5493f9b8637f0.png

2133b788d75ed4285421a339e9e048a1.png

接下来这一段就相对简单一点。
! Define starting points   sfe,2529,2,pres,,-1      ! 屏蔽掉默认的流体压力渗透起始点suppress default starting point (one end point) for contact surfacesfe,2625,2,pres,,-1      ! suppress default starting point (one end point) for target sfe,3121,2,pres,,1       ! 在o形密封圈上自定义流体压力的起始点 define starting point for o-ringsfe,3308,2,pres,,1       ! define starting point for cap
大概意思是说,施加流体压力渗透载荷的时候,软件会默认给一个起始点。但是那个点往往不是你想要的,所以你需要关掉默认的起点,并自定义一个新的起点。在关掉默认起始点的时候,不用看官方给的,直接全选单元关掉即可。

03

Workbench实现在Workbench里,我做了一个类似的轴对称模型。据我考察在Workbench环境下轴对称模型中定义刚体好像不是很方便,我就索性都做成了变形体,然后把应该做成刚体的地方弹性模量设置大了几个数量级。

bda4886e7e58afc06dc9389a82d8953c.png

材料属性是从官方案例的APDL文件里导入的。但是导入时候单位好像出了点问题……总之O形密封圈是Ogden超弹性材料,塑料封盖是弹塑性材料。

在此也定义了两个接触,分别起名叫外部接触和内部接触:

3d12d3d941fe39d7338d10093fd768e8.png

85e766e95e079d183ee7e8d6037b28da.png

由于流体压力渗透载荷一般需要先做一个密封分析步,第二步再施加流体压力,所以我们需要在 求解 部分添加命令,将命令对象添加到第2分析步里。在此之前,我们需要确定这两个接触对在APDL中对应的实常数分别是多少。为了确认接触对的实常数编号,我们可以通过 求解方案-生成MAPDL输入文件 按钮,或直接在Workbench的文件管理窗口找到.dat文件来查看求解器输入。

6bd9f3d06df567a3f3dbea1d67f6a396.png

在生成的dat文件里搜索你在Workbench Mechanical环境下为接触对起的名字,就可以找到接触对的编号啦。在这里注意,Windows环境里,生成的dat输入文件中的中文字符编码格式为GB2312,如果使用VS Code默认的UTF-8字符编码打开,中文会出现乱码。右下角修改一下即可。

080e290a84fc993895f5829534672a5d.png

(搜索“外部”,找到外部接触,看到其cid为6. 注意右下角的字符编码为GB2312)同理,找到另一个接触对“内部接触”,确认cid为8.另外,需要注意,根据帮助文档,在施加流体压力渗透载荷的时候,柔-柔接触对的“行为”如果设置为对称,则只需要对接触单元施加流体压力渗透载荷。反之如果设置为不对称,则需要同时对接触面和目标面施加。(详见帮助文档页:3.14. Applying Fluid Pressure-Penetration Loads)ea78b7611baf81f016149def8befb848.png好的,现在可以开始在求解部分插入命令流。我同样设置了两个分析步,这些命令被插入在第2分析步处。

d3dcec6f3aba6aeb654bd5d56b70c285.png

全部命令如下(不要觉得看起来好像很多的样子,有套路的):

!   Commands inserted into this file will be executed just prior to the ANSYS SOLVE command.!   These commands may supersede command settings set by Workbench.!   Active UNIT system in Workbench when this object was created:  Metric (mm, kg, N, s, mV, mA)!   NOTE:  Any data that requires units (such as mass) is assumed to be in the consistent solver unit system.!                See Solving Units in the help system for more information.esel,s,real,,6        ! 按实常数选择,选实常数为6的单元。在案例模型中为“外部接触”esel,a,real,,8        ! 按实常数选择,选实常数为8的单元。在案例模型中为“内部接触”sfe,all,1,pres,,2000000 ! 这个压力数值,以及本案例中所有的材料参数都请勿参考ALLSELesel,s,real,,8        ! 选择实常数为8的接触对,本案例中为“内部接触”nsle                  ! 选择接触对连接到的节点esln,s,1              ! 再选择节点对应的单元。1代表只有单元内所有节点都在当前选择中时才选择单元。这样避免了选中结构单元。esel,r,real,,6        ! 在当前选择集中,重选"外部接触"对应的单元sfedele,all,all,all   ! 删除重复的流体压力渗透载荷。allselsfe,all,2,pres,,-1   ! 先删除默认的流体压力渗透起点nsel,s,node,,5        ! 选择编号为5的结点esln,s,0              ! 选择与节点连接的单元esel,r,real,,8        ! 选择“内部接触”接触单元sfe,all,2,pres,,1     ! 指定“内部接触” 接触面流体压力渗透开始位置ALLSELnsel,s,node,,5121     ! 选择编号为5121的结点esln,s,0              ! 选择与节点连接的单元esel,r,real,,8        ! 选择接触单元sfe,all,2,pres,,1     ! 指定“内部接触” 目标面流体压力渗透开始位置ALLSELnsel,s,node,,5137        ! 选择编号为5137的结点esln,s,0              ! 选择与节点连接的单元esel,r,real,,6        ! 选择接触单元sfe,all,2,pres,,1     ! 指定“外部接触”流体压力渗透开始位置ALLSELnsel,s,node,,169        ! 选择编号为169的结点esln,s,0              ! 选择与节点连接的单元esel,r,real,,6        ! 选择接触单元sfe,all,2,pres,,1     ! 指定“外部接触”流体压力渗透开始位置ALLSELnsel,s,node,,9184        ! 选择编号为9184的结点esln,s,0              ! 选择与节点连接的单元esel,r,real,,6        ! 选择接触单元sfe,all,2,pres,,1     ! 指定“外部接触”流体压力渗透开始位置ALLSEL
第一段选中接触单元,施加流体压力渗透载荷;第二段删除重复载荷,并删除所有的默认起始点。(看图可以发现,内部接触和外部接触的接触单元定义有重复)

cb95a5e456ff218046cfb224d2b1f108.png

73d37f8ebd144c0f0d80d97a9983b5a5.png

第3段开始直到最后,都是在定义流体压力的起始点。这个起始点的含义再解释一下8f977513be162aab47a93d04d41b5c99.png。流体压力渗透载荷主要施加在接触单元上,目的就是研究在流体的压力作用下,原先处于关闭状态的接触对是否会变为打开状态。因此如果压力错误的从原先就处于关闭状态的位置起始,计算结果就会出错。另外,APDL案例中,定义开始位置的方法是直接指定接触单元的编号。在Workbench中,不太容易确定某个位置对应的接触单元的编号,但确定一个节点的编号是很容易的事情。所以我们在这里首先选择节点,然后选择与它连接的接触单元。用这种方式定义起始点。

76fca9daa631fac1a0cacffc10509d97.png

另外,施加流体压力渗透载荷的分析过程中,一个不小心就会出现计算不收敛的情况。官方的案例在求解时添加了一个0.01的能量耗散率。经过试验,这个案例模型还需要更大的能量耗散率才可以达到收敛。工程应用中,这个数值应该取能够收敛的最小值,否则有点暴力 即使收敛了结果可能也不准确。

2096455adf8be3b016892b112a3e2a1e.png

最后,这个案例的官方模型(oring.cdb,oring.dat)和ANSYS 2020R2版本的Workbench模型 (td3.wbpz)文件已上传百度云。感兴趣的小伙伴可以下载学习c5f38b2b27b4cb065acf8723406a0ecd.png

链接:https://pan.baidu.com/s/1jV5n92aOfKYXveIEYl5L_A

提取码:f450

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/431021.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

ddns客户端_DDNS哪家最方便?试试看Mikrotik的ROS!

没有固定IP的情况下,想要提供外网访问,那么DDNS是必不可少的一个设置。DDNS(Dynamic Domain Name Server,动态域名服务)是将用户的动态IP地址映射到一个固定的域名解析服务。需要注意的是,不是域名是动态的…

python中级程序员是什么水准_程序员进阶:一篇搞懂Python中级应用

异常处理:try-except 异常即是一个事件,该事件会在程序执行过程中发生,影响了程序的正常执行。一般情况下,在Python无法正常处理程序时就会发生一个异常。 异常是Python对象,表示一个错误。当Python脚本发生异常时我们…

python做excel表格代码_[宜配屋]听图阁

安装两个库:pip install xlrd、pip install xlwt1.python读excel——xlrd2.python写excel——xlwt1.读excel数据,包括日期等数据#codingutf-8import xlrdimport datetimefrom datetime import datedef read_excel():#打开文件wb xlrd.open_workbook(rte…

python分布式框架_高性能分布式执行框架——Ray

Ray是UC Berkeley RISELab新推出的高性能分布式执行框架,它使用了和传统分布式计算系统不一样的架构和对分布式计算的抽象方式,具有比Spark更优异的计算性能。 Ray目前还处于实验室阶段,最新版本为0.2.2版本。虽然Ray自称是面向AI应用的分布式…

原 hibernate与mysql字段类型对应关系

原 hibernate与mysql字段类型对应关系 发表于8个月前(2015-04-17 08:56) 阅读(1102) | 评论(0) 2人收藏此文章, 我要收藏赞01月16日厦门 OSC 源创会火热报名中,奖品多多哦 摘要 hibernate与mysql字段类型对应关系 …

下拉选择框 其他_列表框 vs 下拉列表,哪个更好?

许多UI控件允许用户选择选项,它们包括复选框、单选按钮、切换开关、步进器、列表框和下拉列表。 在本文中,作者对列表框和下拉列表进行了定义,讨论何时使用各个元素,以及各个情况下使用哪一种更加合适。摘要列表框和下拉列表是紧凑…

springboot整合elasticsearch_Spring Boot学习10_整合Elasticsearch

一、Elasticsearch概念•以 员工文档 的形式存储为例:一个文档代表一个员工数据。存储数据到 ElasticSearch 的行为叫做 索引 ,但在索引一个文档之前,需要确定将文档存储在哪里。•一个 ElasticSearch 集群可以 包含多个 索引 ,相…

php制作图片轮播_图片轮播效果实现方法

图片轮播效果如何实现呢本文主要介绍了JQuery实现图片轮播效果的制作原理以及实现代码,文章末尾附上源码下载,具有很好的参考价值。下面跟着小编一起来看下吧,希望能帮助到大家。用JQuery操作DOM确实很方便,并且JQuery提供了非常人…

python有趣的面试题_一道3行代码的Python面试题,我懵逼了...|python基础教程|python入门|python教程...

https://www.xin3721.com/eschool/pythonxin3721/ 前言 本文的文字及图片来源于网络,仅供学习、交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理。 今天来说说交流群里一位群友问的Python题目。刚开始由于没有电脑,我也没有运行出来&…

个人应用开发详记. (三)

好久没来更新了... IM即时通讯已进入最后阶段. 各个功能模块 框架基本写好. 剩下的就是细节上的优化了 由于内容上并没有什么大幅度的变动 . 就不上图了 . 元旦回家 放假3天~ 争取年前搞定此APP 转载于:https://www.cnblogs.com/ImyFen/p/5089968.html

r语言清除变量_如何优雅地计算多变量 | R语言进阶

社会科学研究经常会遇到“超多变量”的情况——多量表、多维度、多题项,以及复杂的正反计分题……如何更高效地计算量表总分?如何更简洁地进行反向计分?传统的统计工具(Excel、SPSS等)虽然也能解决这些问题&#xff0c…

php模板初级教程,风格模板初级不完全修改教程

风格模板初级不完全修改教程更新时间:2006年10月09日 00:00:00 作者:就自己的一点点经验,希望能给初接触模版修改的朋友有个参考。关于模版修改, 引用星星签名里的一句话“学好HTML很重要” :)一个风格,…

语音对讲软件_微信语音转播软件是哪个?怎样一键转发?

文末送社群运营资料有一句话说得好,好马配好鞍,如果经验丰富的社群工作人员想要看到良好的社群运营效果,那单单凭借个人的力量是远远不够的,建议将希望寄托在第三方工具的身上,比如微信语音转播软件就是绝佳选择。按照…

php if require,关于php:required_if Laravel 5验证

我有一个表格,用户可以填写出售房屋的信息。 对于其中一项投入,用户必须选择"待售"或"待租"天气。 如果是For Sale,则会出现两个价格输入字段,如果是For Rent,则会基于jQuery显示一些其他价格输入…

asp.net 安装element ui_不用上官网,自己部署一套Element官方最新文档

ElementUI官方的访问速度一直很慢,公司内网也无法进行外网访问。故研究了下最新的ElementUI API(2.13.2)部署教程。先上效果图ElementUI文档部署过程到github下载最新的elementui源码,这里我使用git下载到本地git clone https://github.com/ElemeFE/elem…

如何写一个计算器?

考虑这样一个问题,给定一个字符串,“11(34)-2*38/2”,如何将它转化为如下形式: “112” “347” “279” “2*36” “9-63” “8/24” “347” 换句话说,就是如何将字符串按照四则运算计算出来,如何写一个计…

由于在客户端检测到一个协议错误_HTTP协议,你了解多少?

HTTP简介HTTP协议是Hyper Text Transfer Protocol(超文本传输协议)的缩写,是用于从万维网(WWW:World Wide Web )服务器传输超文本到本地浏览器的传送协议。HTTP是一个基于TCP/IP通信协议来传递数据(HTML 文件, 图片文件, 查询结果等)。HTTP是一个属于应用层的面向对象的协议&am…

idea中没有j2ee_idea神器功能大全

IDEA 全称 IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能代码助手、代码自动提示、重构、J2EE支持、各类版本工具(git、svn、github等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面…

linux 固定ip_linux固定IP

在新安装的Linux系统命令行下,敲入:ifconfig,显示如下界面。上面这张图显示网卡没有启动,那么我们敲入代码:ifup eth0启动网卡。网卡启动后,我们可以看出,IP地址和网关等其他信息都已经出现。但是我们需要的…

php编译称opcode文件,PHP源码保护和性能加速

什么是Opcache?每一次执行 PHP 脚本的时候,该脚本都需要被编译成字节码,而 Opcache 可以对该字节码进行缓存,这样,下次请求同一个脚本的时候,该脚本就不需要重新编译,这极大节省了脚本的执行时间&#xff…