关键词不能为空

当前您在: 主页 > 英语 >

ANSYS模型导入ABAQUS

作者:高考题库网
来源:https://www.bjmy2z.cn/gaokao
2021-02-28 05:40
tags:

-

2021年2月28日发(作者:lotus)


ANSYS


模型导入


ABAQUS

< p>
SYS


软件的参数化建模(


APDL


)极其方便,而


ABAQUS


卓越的非线性计算功能 使其成为有限


元软件中的贵族,如果能整合两者的优势,有限元模拟计算就会相当高效。


下面就将


ANSYS



型如何导入


ABAQUS


简单交流一下。(其中部分内 容参考了


SIMWE


上的精华贴)





首先在


ANSYS


编写


APDL


语言 输出模型的节点和单元数据文件。


如果直接用


ANSYS


中的


WRITE NODE FILE



WRITE ELEM FILE

< br>得到的节点和单元数据文件,


数据之间只有空格,



有逗号,不符合


ABAQUS


< p>
INPUT


文件格式要求。输出节点信息的


APD L


如下:



Allsel,all


!


选中所有



!


输出节点



*GET,NNode,NODE,,COUNT, , , ,


!


得到当前模型中的总节点数



*CFOPEN,ansystoabaqus,inp


*DO,I,0,NNode


*VWRITE,Chrval (i),',',NX(I),',',NY(I),',',NZ(I)


(A8,A1,F10.5,A1,F10.5,A1,F10.5)


*ENDDO


Allsel,all




输出单元信息时要弄清楚单元类型,编写


APDL


对每种类型的每个单元输出单元编号,各

< br>节点的编号。常见的


SOLID65


< br>SOLID45



SOLID95


单元的


APDL


输出命令如下:



*GET,NumberofNode,NODE,,COUNT, , , ,


ESEL,S,ENAME,,65


*GET,NElem,ELEM,,COUNT, , , ,


!


得到当前模型中的总单元数



!


对单元集进行循环



*GET,nd,ELEM,,NUM,MIN, , , ,


*DO,I,1,NElem


!


得到当前单元的类型



*GET,ENAME,ELEM,nd,ATTR,ENAM

!


如果是


65


< br>(65


号单元


)


*IF,ENAME,EQ,65,THEN


!


得到该单元的节点编号



*GET,EN1,ELEM,nd,NODE,1


*GET,EN2,ELEM,nd,NODE,2


*GET,EN3,ELEM,nd,NODE,3


*GET,EN4,ELEM,nd,NODE,4


*GET,EN5,ELEM,nd,NODE,5


*GET,EN6,ELEM,nd,NODE,6


*GET,EN7,ELEM,nd,NODE,7


*GET,EN8,ELEM,nd,NODE,8


*VW RITE,Chrval(nd),',',Chrval(EN1),',',Chrval(EN2),', ',Chrval(EN3),',',Chrval(EN4),',',Chrval(EN5),',


',Chrval(EN6),',',Chrval(EN7),',',Chrval( EN8)


(A8,8(A1,A8))


nd = ELnext(nd)


*END IF


*ENDDO


Allsel,all



*GET,NumberofNode,NODE,,COUNT, , , ,


ESEL,S,ENAME,,45


!solid45


单元



8


节点六面体



*GET,NElem,ELEM,,COUNT, , , ,


!


得到当前模型中的总单元数



!


对单元集进行循环



*GET,nd,ELEM,,NUM,MIN, , , ,


*DO,I,1,NElem


*GET,ENAME,ELEM,nd,ATTR,ENAM


!


得到当前单元的类型



*IF,ENAME,EQ,45,THEN


!


如果是


45



(45


号单元


)


!


得到该单元的节点编号



*GET,EN1,ELEM,nd,NODE,1


*GET,EN2,ELEM,nd,NODE,2


*GET,EN3,ELEM,nd,NODE,3


*GET,EN4,ELEM,nd,NODE,4


*GET,EN5,ELEM,nd,NODE,5


*GET,EN6,ELEM,nd,NODE,6


*GET,EN7,ELEM,nd,NODE,7


*GET,EN8,ELEM,nd,NODE,8


*VWR ITE,Chrval(nd),',',Chrval(EN1),',',Chrval(EN2),',' ,Chrval(EN3),',',Chrval(EN4),',',Chrval(EN5),',


',Chrval(EN6),',',Chrval(EN7),',',Chrval(E N8)


(A8,8(A1,A8))


nd = ELnext(nd)


*END IF


*ENDDO


*VWRITE


('*ELEMENT,TYPE=C3D15 ,ELSET=Esolid2')


Allsel,all



*GET,NumberofNode,NODE,,COUNT, , , ,


ESEL,S,ENAME,,95


!solid95


单元



20


节点六面体



*GET,NElem,ELEM,,COUNT, , , ,


!


得到当前模型中的总单元数



!


对单元集进行循环



*GET,nd,ELEM,,NUM,MIN, , , ,


!


得到当前模型中的最小单元号



*DO,I,1,NElem


*GET,ENAME,ELEM,nd,ATTR,ENAM


!


得到当前单元的类型



*IF,ENAME,EQ,95,THEN


!


如果是


95



(95


号单元


)


!


得到该单元的节点编号



*GET,EN1,ELEM,nd,NODE,1


*GET,EN2,ELEM,nd,NODE,2


*GET,EN3,ELEM,nd,NODE,3


*GET,EN4,ELEM,nd,NODE,4


*GET,EN5,ELEM,nd,NODE,5


*GET,EN6,ELEM,nd,NODE,6


*GET,EN7,ELEM,nd,NODE,7


*GET,EN8,ELEM,nd,NODE,8


*GET,EN9,ELEM,nd,NODE,9


*GET,EN10,ELEM,nd,NODE,10


*GET,EN11,ELEM,nd,NODE,11


*GET,EN12,ELEM,nd,NODE,12


*GET,EN13,ELEM,nd,NODE,13


*GET,EN14,ELEM,nd,NODE,14


*GET,EN15,ELEM,nd,NODE,15


*GET,EN16,ELEM,nd,NODE,16


*GET,EN17,ELEM,nd,NODE,17


*GET,EN18,ELEM,nd,NODE,18


*GET,EN19,ELEM,nd,NODE,19


*GET,EN20,ELEM,nd,NODE,20


ENN1=EN1


ENN2=EN2


ENN3=EN3


ENN4=EN5


ENN5=EN6


ENN6=EN7


x1=Nx(EN1)


y1=Ny(EN1)


Z1=Nz(EN1)


x2=Nx(EN2)


y2=Ny(EN2)


Z2=Nz(EN2)


ENN7=NumberofNode+(I-1)*5+1


ENN8=EN10


ENN9=EN12


x5=Nx(EN5)


y5=Ny(EN5)


Z5=Nz(EN5)


x6=Nx(EN6)


y6=Ny(EN6)


Z6=Nz(EN6)


ENN10=NumberofNode+(I-1)*5+2


ENN11=EN14


ENN12=EN16


ENN13=NumberofNode+(I-1)*5+3


ENN14=NumberofNode+(I-1)*5+4


ENN15=NumberofNode+(I-1)*5+5


x3=Nx(EN3)


y3=Ny(EN3)


Z3=Nz(EN3)


x7=Nx(EN7)


y7=Ny(EN7)


Z7=Nz(EN7)

< p>
*VWRITE,Chrval(ENN7),',',(X1+X2)/2,',',(y1+y 2)/2,',',(z1+z2)/2


(A8,3(A1,F10.5))


*VWRITE,Chrval(ENN10),',',(X5+X6)/2,',',(y 5+y6)/2,',',(z5+z6)/2


(A8,3(A1,F10.5))


*VWRITE,Chrval(ENN13),',',(X5+X1)/2,',' ,(y5+y1)/2,',',(z5+z1)/2


(A8,3(A1,F10.5))


*VWRITE,Chr val(ENN14),',',(X6+X2)/2,',',(y6+y2)/2,',',(z6+z2) /2


(A8,3(A1,F10.5))


*VWRITE, Chrval(ENN15),',',(X3+X7)/2,',',(y3+y7)/2,',',(z3+ z7)/2


(A8,3(A1,F10.5))


nd =ELnext(nd)


*END IF


*ENDDO


!


输出实体单元



*VWRITE


('*ELEMENT,TYPE=C3D8,ELSET=Esolid1')


Allsel,all




运行以上命令后会在


ANSYS


的工作 目录下得到名为



的文件,


里面包含了< /p>


模型的节点和单元信息。接下来就是编写


ABAQUS

< p>


inp


文件了。格式如下



*Heading


** Job name: imput


Model name: ^^^^


** Generated by: Abaqus/CAE 6.9-1


*Preprint, echo=NO, model=NO, history=NO, contact=NO


**


** PARTS


**


*Part, name=^^^^^^^


*End Part


**


**


** ASSEMBLY


**


*Assembly, name=Assembly


**


*Instance, name=^^^^^, part=^^^^^^


*Node



!!!!!!!!!!! !!!!!!!!!!!!!!


中的节点文件


!!!!!!!! !!!!!!!!!!!!!!!!!!!!!!



*Element,type=^^^^^


< br>!!!!!!!!!!!!!!!!!!!!!!!!!


中的单元文件

< p>
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!




最后在


ABAQU S


中点主菜单


FILEIMPORTMODEL


,选择要导入的


INP


文件,在窗口顶


部环境栏的


MODEL


下拉列表中,就会出现与此


INP


文件同名的模型。






ANS YS


模型转到


ABAQUS


模型


APDL


!ANSYS


命令流



!



ANSYS


模型文件转到


ABAQUS


模型文件



!


选中所有单元



Allsel,all



!


输出节点



*GET,NNode,NODE,,COUNT, , , ,


!


得到当前模型中的总节点数



*CFOPEN,Toabaqus,inp


*VWRITE


('*HEADING')


*VWRITE


('Fracture Mechanical Analysis of metal crack with FRP')


*VWRITE


('*NODE,SYSTEM=R')


*DO,I,1,NNode


*VWRITE,Chrval (i),',',NX(I),',',NY(I),',',NZ(I)


(A8,A1,F10.5,A1,F10.5,A1,F10.5)


*ENDDO


Allsel,all


*GET,NumberofNode,NODE,,COUNT, , , ,


ESEL,S,ENAME,,95



*GET,NElem,ELEM,,COUNT, , , ,


!


得到当前模型中的总单元数



!


对单元集进行循环



*GET,nd,ELEM,,NUM,MIN, , , ,


!


得到当前模型中的最小单元号



*DO,I,1,NElem


!


得到当前单元的类型



*GET,ENAME,ELEM,nd,ATTR,ENAM



!


如果是


9 5



(95


号单元

)


*IF,ENAME,EQ,95,THEN


!


得到该单元的节点编号



*GET,EN1,ELEM,nd,NODE,1



*GET,EN2,ELEM,nd,NODE,2



*GET,EN3,ELEM,nd,NODE,3



*GET,EN4,ELEM,nd,NODE,4



*GET,EN5,ELEM,nd,NODE,5



*GET,EN6,ELEM,nd,NODE,6



*GET,EN7,ELEM,nd,NODE,7



*GET,EN8,ELEM,nd,NODE,8



*GET,EN9,ELEM,nd,NODE,9



*GET,EN10,ELEM,nd,NODE,10


*GET,EN11,ELEM,nd,NODE,11



*GET,EN12,ELEM,nd,NODE,12



*GET,EN13,ELEM,nd,NODE,13



*GET,EN14,ELEM,nd,NODE,14


*GET,EN15,ELEM,nd,NODE,15



*GET,EN16,ELEM,nd,NODE,16


*GET,EN17,ELEM,nd,NODE,17



*GET,EN18,ELEM,nd,NODE,18



*GET,EN19,ELEM,nd,NODE,19



*GET,EN20,ELEM,nd,NODE,20



ENN1=EN1


ENN2=EN2


ENN3=EN3


ENN4=EN5


ENN5=EN6


ENN6=EN7


x1=Nx(EN1)



y1=Ny(EN1)



Z1=Nz(EN1)


x2=Nx(EN2)



y2=Ny(EN2)



Z2=Nz(EN2)


ENN7=NumberofNode+(I-1)*5+1


ENN8=EN10


ENN9=EN12


x5=Nx(EN5)



y5=Ny(EN5)



Z5=Nz(EN5)


x6=Nx(EN6)



y6=Ny(EN6)



Z6=Nz(EN6)


ENN10=NumberofNode+(I-1)*5+2


ENN11=EN14


ENN12=EN16


ENN13=NumberofNode+(I-1)*5+3


ENN14=NumberofNode+(I-1)*5+4


ENN15=NumberofNode+(I-1)*5+5


x3=Nx(EN3)



y3=Ny(EN3)



Z3=Nz(EN3)


x7=Nx(EN7)



y7=Ny(EN7)



Z7=Nz(EN7)


*VWRITE,Chrval(EN N7),',',(X1+X2)/2,',',(y1+y2)/2,',',(z1+z2)/2


(A8,3(A1,F10.5))


*VWRITE,Chr val(ENN10),',',(X5+X6)/2,',',(y5+y6)/2,',',(z5+z6) /2


(A8,3(A1,F10.5))


*VWRITE, Chrval(ENN13),',',(X5+X1)/2,',',(y5+y1)/2,',',(z5+ z1)/2


(A8,3(A1,F10.5))


*VWRI TE,Chrval(ENN14),',',(X6+X2)/2,',',(y6+y2)/2,',',( z6+z2)/2


(A8,3(A1,F10.5))


*V WRITE,Chrval(ENN15),',',(X3+X7)/2,',',(y3+y7)/2,', ',(z3+z7)/2


(A8,3(A1,F10.5))


nd =ELnext(nd)



*END IF


*ENDDO



!


输出实体单元



*VWRITE


('*ELEMENT,TYPE=C3D8,ELSET=Esolid1')


Allsel,all


ESEL,S,ENAME,,45



*GET,NElem,ELEM,,COUNT, , , ,


!


得到当前模型中的总单元数



!


对单元集进行循环



*GET,nd,ELEM,,NUM,MIN, , , ,


*DO,I,1,NElem


!


得到当前单元的类型



*GET,ENAME,ELEM,nd,ATTR,ENAM



!


如果是


4 5



(45


号单元

)


*IF,ENAME,EQ,45,THEN


!


得到该单元的节点编号



*GET,EN1,ELEM,nd,NODE,1


-


-


-


-


-


-


-


-



本文更新与2021-02-28 05:40,由作者提供,不代表本网站立场,转载请注明出处:https://www.bjmy2z.cn/gaokao/679007.html

ANSYS模型导入ABAQUS的相关文章