ANSYS-apdl命令流笔记3------生死单元法

news/2025/3/4 17:46:34/

生死单元法

文章目录

  • 生死单元法
  • 前言
  • 一、单元杀死过程
  • 二、单元生成
  • 三、完整命令
  • 总结

前言

通过生成和杀死单元,可以模拟那些单元数随着载荷步的进行不断增加,对按照要求排序后生成和杀死的单元施加载荷和约束,进行循环求解,达到特殊求解要求。如焊接等。

一、单元杀死过程

有限元模型
在这里插入图片描述
单元杀死过程

......			!前面步骤参考前面笔记
*do,I,1,nse		!对中间区域单元进行循环ekill,neorder(i)	!杀死排序后的单元esel,s,live	!单元选择eplot		!单元显示
*enddo

在这里插入图片描述

二、单元生成

.........	!前面步骤参考前面笔记
allsel,all
/seg,multi,ealive,0.2	!将生成单元动画显示,间隔0.2秒
*do,I,1,nse		!对中间区域单元循环ealive,neorder(i)	!生成排序后的单元esel,s,live	!选择没有杀死的单元eplot		!单元显示esel,all*do,j,1,4d,nelem(neorder(i),j),temp,max_tem	!对单元节点约束*enddo
*enddo
/seg,off,ealive,0.2	!结束单元动画生成
anim,1,1

在这里插入图片描述

三、完整命令

finish
/clear,start
/filname,lell
/title,fff
/prep7
/unit,si
et,1,13,4
et,2,13,4
!====================
mptemp,1,20,500,800,1200,1500
mpdata,ex,1,1,2.09e11,1.72e11,1.33e11,0.84e11,0.45e11
mpdata,ex,2,1,2.16e11,1.78e11,1.42e11,1.04e11,0.68e11
mpdata,ex,3,1,2.12e11,1.75e11,1.39e11,1.07e11,0.83e11
tb,bkin,1,5
tbtemp,20,1
tbdata,1,315e6,2.09e10
tbtemp,500,2
tbdata,1,212e6,1.72e10
tbtemp,800,3
tbdata,1,153e6,1.33e10
tbtemp,1200,4
tbdata,1,93e6,0.84e10
tbtemp,1500,5
tbdata,1,33e6,0.45e10		!材料1
!=======================
tb,bkin,2,5
tbtemp,20,1
tbdata,1,330e6,2.12e10
tbtemp,500,2
tbdata,1,213e6,1.75e10
tbtemp,800,3
tbdata,1,153e6,1.39e10
tbtemp,1200,4
tbdata,1,73e6,1.07e10
tbtemp,1500,5
tbdata,1,13e6,0.83e10		!材料2
!==========================
tb,bkin,3,5
tbtemp,20,1
tbdata,1,314e6,2.16e10
tbtemp,500,2
tbdata,1,203e6,1.78e10
tbtemp,800,3
tbdata,1,143e6,1.42e10
tbtemp,1200,4
tbdata,1,63e6,1.04e10
tbtemp,1500,5
tbdata,1,13e6,0.68e10!		!材料3
!=============================
mp,dens,1,7850
mp,dens,2,7770
mp,dens,3,7860			!密度
mp,alpx,1,1.23e-5
mp,alpx,2,1.38e-5
mp,alpx,3,1.48e-5		!线膨胀系数
mp,nuxy,1,0.3
mp,nuxy,2,0.29
mp,nuxy,3,0.29			!泊松比
mp,kxx,1,33
mp,kxx,2,32
mp,kxx,3,34				!导热系数
mp,c,1,561
mp,c,2,683
mp,c,3,983				!比热容
mp,murx,1,1
mp,murx.2.1
mp,murx,3,1				!相对磁导率
mp,reft,1,20
mp,reft,2,1500
mp,reft,3,20			!参考温度
!==================================
!==================================
*AFUN,DEG
csys,0
width=1
beight=0.3
ar=0.14*tan(30)
ex=0.01*tan(60)
df=ar+ex
cf=df/cos(60)
!============================
k,1,0,0,0
k,2,width/2-0.01-ar,0,0
k,3,width/2+0.01+ar,0,0
k,4,width,0,0
k,5,width/2-0.01,beight/2-0.01,0 
k,6,width/2+0.01,beight/2-0.01,0
k,7,width/2-0.01,beight/2+0.01,0
k,8,width/2+0.01,beight/2+0.01,0
k,9,0,beight,0
k,10,width/2-0.01-ar,beight,0
k,11,width/2+0.01+ar,beight,0
k,12,width,beight,0
!=============================
n,1,width/2+0.01+ar,beight,0				!模型中的A点
n,2,width,beight,0						!B点
n,3,width/2+0.01+ar,0,0					!C点
larc,10,11,7,cf
larc,2,3,5,cf
a,1,2,5,7,10,9
a,10,7,5,2,3,6,8,11
a,3,4,12,11,8,6
/traid,off			!关掉坐标的三角符号显示
/plots,info,0			!关掉图形屏幕中信息的显示
/devices,vector,1		!采用向量标示
esize,0.03
type,2
mat,2
amesh,2
esize,0.03
type,1
mat,1
amesh,1
mat,3
amesh,3
nummrg,all
numcmp,all
/image,save,vmesh,bmp
/devices,vector,0			!采用光栅显示模式
finish
!===================================
/solu
*get,minx,node,,mnloc,x
nsel,s,loc,x,minx
d,all,ux,0
d,all,temp,20
*get,miny,node,,mnloc,y
nsel,s,loc,y,miny
d,all,uy,0
nsel,all
*get,maxx,node,,mxloc,x
nsel,s,loc,x,maxx
d,all,temp,20
!======================
*set,nna,2
esel,all
*get,emax,elem,,num,max
asel,s,area,,nna
esla
*get,nse,elem,,count
*dim,ne,,nse
*dim,n1,,nse
*dim,n2,,nse
*dim,nex,,nse
*dim,ney,,nse
*dim,neorder,,nse
ii=0
*do,I,1,emax*if,esel(i),eq,1,thenii=ii+1ne(ii)=i*endif
*enddo			!将焊缝处单元编号存于数组中
*do,I,1,nse*get,ney(i),elem,ne(i),cent,y*get,nex(i),elem,ne(i),cent,x
*enddo			!将焊缝区单元质心x,y坐标分别放入nex,ney数组中
d=0
*do,I,1,nse*if,ney(i),ge,beight/2,thend=d+1n2(d)=ne(i)*endif
*enddo
c=0
*do,I,1,nse*if,ney(i),lt,beight/2,thenc=c+1n1(c)=ne(i)*endif
*enddo		!将焊缝上面单元存于n2中,下面存于n1中
esel,none
*do,I,1,desel,a,elem,,n2(i)
*enddo		!选取焊缝上边单元
eplot
*create,shanghanf,mac
mine=0
*dim,ne2,,d
*dim,nex2,,d
*dim,ney2,,d
*do,i1,1,desel,u,elem,,mine*get,nse2,elem,,countii=0*do,I,1,emax*if,esel(i),eq,1,thenii=ii+1ne2(ii)=i*endif*enddo*do,I,1,nse2*get,ney2(i),elem,ne2(i),cent,y*get,nex2(i),elem,ne2(i),cent,x*enddominy=1e10minx=1e10*do,I,1,nse2*if,ney2(i),lt,miny,thenminy=ney2(i)minx=nex2(i)mine=ne2(i)*else*if,ney2(i),eq,miny,then*if,nex2(i),lt,minx,thenminy=ney2(i)minx=nex2(i)mine=ne2(i)*endif*endif*endif*enddoneorder(i1)=mine
*enddo			!对上半部分单元按y轴进行排序
*end
*create,xiahanf,mac
maxe=0
esel,none
*do,I,1,cesel,a,elem,,n1(i)
*enddo
*dim,ne1,,c
*dim,nex1,,c
*dim,ney1,,c
*do,i1,1,cesel,u,elem,,maxe*get,nse3,elem,,countii=0*do,I,1,emax*if,esel(i),eq,1,thenii=ii+1ne1(ii)=i*endif*enddo*do,I,1,nse3*get,ney1(i),elem,ne1(i),cent,y*get,nex1(i),elem,ne1(i),cent,x*enddomaxy=-1e10maxx=-1e10*do,I,1,nse3*if,ney1(i),gt,maxy,thenmaxy=ney1(i)maxx=nex1(i)maxe=ne1(i)*else*if,ney1(i),eq,maxy,then*if,nex1(i),lt,maxx,thenmaxy=ney1(i)maxx=nex1(i)maxe=ne1(i)*endif*endif*endif*enddoneorder(i1+d)=maxe
*enddo
*end
shanghanf
xiahanf
!===================
max_tem=1500
dt1=1e-3
dt=5
t=0
esel,all
eplot
/auto,1
/replot
*do,I,1,nseekill,neorder(i)esel,s,liveeplot
*enddo
eplot
allsel,all
/seg,multi,ealive,0.2
*do,I,1,nseealive,neorder(i)esel,s,liveeplotesel,all*do,j,1,4d,nelem(neorder(i),j),temp,max_tem*enddo
*enddo
/seg,off,ealive,0.2
anim,1,

总结

生死单元法可以对按照某种条件排序后的单元,进行生成和杀死,在这个过程中单元上的载荷及约束也会跟着生成和杀死,这可以很容易的对那些动态单元进行模拟。


http://www.ppmy.cn/news/771244.html

相关文章

二值神经网络(Binary Neural Network,BNN)

在我刚刚过去的研究生毕设中,我在ImageNet数据集上验证了图像特征二值化后仍然具有很强的表达能力,可以在检索中达到较好的效果。而Bengio大神的这篇文章,则不止于将特征二值化,而是要将权重和每层的激活值统统二值化。相比于非二…

NEORV32

NEORV32是一个高度可定制的RISC-V软核,由VHDL语言实现,后有人以Verilog实现。由于军工、航天部门较多选用VHDL,所以理论上NEORV32是非常稳定可靠的。NEORV32的资料非常详尽(英文),Github上的更新也非常及时…

【Python】Numpy多项式详解

文章目录 多项式简介构造函数与图像运算符重载常用方法 多项式简介 Numpy.polynomial中封装了六种多项式类,除了常规的多项式 a 0 a 1 x ⋯ a n x n a_0a_1x\cdotsa_nx^n a0​a1​x⋯an​xn之外,还有五种在数学、物理中常用的正交多项式,…

NES专题——NES的游戏硬件

目录 摘要 一、墨盒(Cartridges) 二、Famicom磁盘系统(Famicom Disk System ) 三、游戏精灵(Game Genie ) 四、控制手柄 五、Zapper(捕捉器) 六、参考资料 摘要 本文介绍了NES游戏机的相关游戏硬件…

第十四届蓝桥杯大赛软件赛省赛 C/C++ 大学 B 组

第十四届蓝桥杯大赛软件赛省赛 C/C 大学 B 组 注意!!!!!!!!!!这篇题解为赛时的个人做法,不代表是正确的,仅供参考。 更新&#xff1a…

Python学习笔记(十六)————异常相关

目录 (1)异常概念 (2)异常的捕获 ①异常捕获的原因 ②捕获常规异常 ③捕获指定异常 ④捕获多个异常 ⑤ 捕获异常并输出描述信息 ⑥捕获所有异常 ⑦异常else ⑧异常的finally (3)异常的传递 &#xff08…

【tomcat】应用服务

准备环境 三台虚拟机 192.168.1.120 192.168.1.122 192.168.1.131 三台虚拟机关闭防火墙 、查看光盘 、检测yun创库 查看JDK是否安装 [rootlocalhost ~]# java -version openjdk version "1.8.0_161" //这是系统自带的rpm方式安装 OpenJDK Runtime Environment…

.net Core Winform 增加NLog

nlog.config <?xml version"1.0" encoding"utf-8" ?> <nlog xmlns"http://www.nlog-project.org/schemas/NLog.xsd"xmlns:xsi"http://www.w3.org/2001/XMLSchema-instance" ><targets async"true" maxarch…