通用操作
循环控制语句
*IF,mm,gt,1,then !gt大于 lt小于 eq等于
P=P+500
*ENDIF
!循环
*do,控制变量,起始值,终止值,步长
~
*enddo
NSEL,S, , ,NODE(x,y,z) !选择位于x,y,z坐标最近的NODE
数值运算
c=a+b !加
c=a-b !减
c=a*b !乘
c=a/b !除
c=(a+b)/d !括号
c=a**b !次幂 c等于a的b次幂
变量定义与调用
a=1 !标量赋值
*DIM,var_name,ARRAY,m !定义一个m个元素的向量
a=var_name(1) !调用向量中的第一个元素
*DIM,var_name,ARRAY,m,n !定义一个m行n列的矩阵
a=var_name(1,1) !调用矩阵中第一行第一列的元素
回位设置
allsel,all !选择所有实体
csys,0 !当前坐标系回到总体笛卡尔坐标系
wpcsys,-1,0 !工作平面坐标系回到总体笛卡尔坐标系
模块操作
前处理
建模
VPTN,ALL !partition volume
网格划分
!!!-----------------------------控制竖直线
csys,0
LSEL,R,LOC,Z,1e-3,h-0.5-1e-3
lsel,R,tan1,z,-1
lreverse,all !调转线的方向
LESIZE,all, , ,50 ,5, , , ,1
allsel,all
VSEL,R,LOC,Z,h-h_1,h
TYPE, 1
MAT, 1
REAL,
ESYS, 0
SECNUM,
VSWEEP,all
allsel,all
VSEL,R,LOC,Z,0,h-h_1
TYPE, 1
MAT, 2
REAL,
ESYS, 0
SECNUM,
VSWEEP,all
allsel,all
ANSYS查看单元属性
1、list>properties>all material
2、pltctrl>numbering>elem/attrib numbering>material numbers
/PNUM,MAT,1 !显示单元材料编号
单元划分
ESIZE,0,20, !控制单元划分20份
ASEL,S, , , 1
TYPE, 1
MAT, 1
MSHAPE,0,2D
MSHKEY,1
AMESH,ALL
ALLSEL
ASEL,S, , , 3
TYPE, 1
MAT, 2
MSHAPE,0,2D
MSHKEY,1
AMESH,ALL
ALLSEL
边界条件
约束
!D,all, , , , , ,UX,UY,UZ, , ,
D,all, , , , , ,ALL, , , , ,
施加径向约束-节点坐标系的旋转
!将当前节点的节点坐标系旋转到总体柱坐标系--当前坐标系的z轴应该为模型的旋转轴
!界面操作
WorkPlane>Change Active CS to>Global Cylindrical
Main Menu>Preprocessor>Modeling>Create>Nodes>Rotate Node CS>To Active CS
!命令流
csys,1
NROTAT,all
后处理
操作
!柱坐标下显示径向位移-变形前+变形后
/POST1
RSYS,1 !结果显示为柱坐标系
PLNSOL, U,X, 1,1.0
!柱坐标下显示径向应变-变形前+变形后
/POST1
RSYS,1
PLNSOL, EPTO,X, 1,1.0
FILE,'select','rst','.' !指定要读入的结果数据文件select.rst
/PNUM,MAT,1 !显示结果编号
/PSF,PRES,NORM,2,0,1
!载荷步中下一个载荷步对上一个载荷步是取代还是叠加,只对节点加载有效
!FCUM,REPL
FCUM,ADD ! 只能用于有限元模型加载的情形,而不能用于实体加载的叠加。
!实体默认是replace,如果想对实体模型叠加的话,需要手动设置。例:step1是10N,step2你想加10N,
那你就在step2输入20N.
数据输出
数据获取和输出
*DIM,box,ARRAY,15,15 ! 定义一个15*15的矩阵
/post1 !要在通用后处理中进行以下操作--一定要注意
csys,0 !将总体笛卡尔坐标设置为当前坐标系--一定要注意
*get,box(1,1),node,,num,min !获取当前节点中的最小编号,如果只有一个节点,就是该节点的编号
box(1,2)=NX(box(1,1)) ! 提取当前坐标系下的坐标
box(1,3)=NY(box(1,1))
box(1,4)=NZ(box(1,1))
!*get,box(1,2),node,box(1,1),LOC,x ! 提取当前坐标系下的坐标
!*get,box(1,3),node,box(1,1),LOC,y
!*get,box(1,4),node,box(1,1),LOC,z
*get,box(mm,5),node,box(mm,1),U,x !获取该节点x方向位移
!************************************文本输出*****************************************!
*CFOPEN,RESULT_OUT,TXT !将结果保存在RESULT_OUT_P_U.txt文件中
*VWRITE,
('*****results out******') ! 写出这个 *****SDU OUT******
*VWRITE,box(1,1) ,box(1,2) ,box(1,3) ,box(1,4) ! Vector(1)表示列出整个数组,下一行必须跟一个括号写出对应数据的格式。
(1X,F20.0, 3E20.10) !1X为一个空格,9X为9个空格,F10.2为保留两位有效数字,3E20.10表示接下来的3个数据都是E20.10的格式
*CFCLOS
实例
实例-获取并输出数据
!***********************************程序开始******************************************!
FINISH ! Make sure we are at BEGIN level 退出四大模块,回到BEGIN层
/CLEAR,NOSTART ! Clear model since no SAVE found 清空内存,开始新的计算
/RGB,INDEX,100,100,100, 0 ! 设置显示颜色底色为白色
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/VIEW, 1, 0.25 , 0.95 , 0.2
/ANG, 1, -130
!*************************************参数化设置****************************************!
*DIM,box,ARRAY,15,15
!*************************************前处理器****************************************!
/PREP7
ET,1,SOLID185
!
MP,EX, 1, 2e11
MP,PRXY,1, 0.3
! ---------Modeling----------
BLC5,0,0,0.1,0.1,0.5
wpro,,90.000000,
vsbw,all
wpro,,,90.000000
vsbw,all
allsel,all
csys,0
wpcsys,-1,0
!!!
*do,i1,0.05,0.45,0.05
wpoff,0,0,i1
vsbw,all
wpcsys,-1,0
*enddo
VPTN,ALL
ESIZE,0,6,
TYPE, 1
MAT, 1
MSHAPE,0,3D
MSHKEY,1
VMESH,ALL
ALLSEL
NSEL,R,LOC,Z,0
D,all, , , , , ,ALL, , , , ,
allsel,all
/SOL
ANTYPE,0
!NLGEOM,ON
KBC,1
!!!
TIME,1
DELTIM,1,1,1
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
F,ALL,FX,-10
allsel,all
!*
LSWRITE,1
LSSOLVE,1,1,1
/POST1
mm=1
*do,i2,0.05,0.45,0.05
NSEL,S, , ,NODE(0.05,0,i2)
*get,box(mm,1),node,,num,min !获取节点编号
box(mm,2)=NX(box(mm,1)) !提取当前坐标系下的坐标
box(mm,3)=NY(box(mm,1))
box(mm,4)=NZ(box(mm,1))
*get,box(mm,5),node,box(mm,1),U,x
allsel,all
mm=mm+1
*enddo
!************************************文本输出*****************************************!
*CFOPEN,RESULT_OUT,TXT
*VWRITE,
('*****node_number x y z W ******')
*VWRITE,box(1,1) ,box(1,2) ,box(1,3) ,box(1,4) ,box(1,5)
(1X,F15.1, 3E20.10, 1X,E20.10)
*CFCLOS
实例-粘弹性-应力控制-蠕变
!***********************************程序开始******************************************!
FINISH ! Make sure we are at BEGIN level 退出四大模块,回到BEGIN层
/CLEAR,NOSTART ! Clear model since no SAVE found 清空内存,开始新的计算
/RGB,INDEX,100,100,100, 0 ! 设置显示颜色底色为白色
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/VIEW, 1, 0.25 , 0.95 , 0.2
/ANG, 1, -130
!*************************************参数化设置****************************************!
*DIM,box,ARRAY,15,15
!*************************************前处理器****************************************!
/PREP7
ET,1,SOLID185
!
MP,EX, 1, 2e11
MP,PRXY,1, 0.3
TB,PRONY,1, ,2,SHEAR
TBDATA,,1, 2.5
! ---------Modeling----------
BLC5,0,0,0.1,0.1,0.5
wpro,,90.000000,
vsbw,all
wpro,,,90.000000
vsbw,all
allsel,all
csys,0
wpcsys,-1,0
!!!
*do,i1,0.05,0.45,0.05
wpoff,0,0,i1
vsbw,all
wpcsys,-1,0
*enddo
VPTN,ALL
ESIZE,0,6,
TYPE, 1
MAT, 1
MSHAPE,0,3D
MSHKEY,1
VMESH,ALL
ALLSEL
NSEL,R,LOC,Z,0
D,all, , , , , ,ALL, , , , ,
allsel,all
/SOL !进入求解器
ANTYPE,0
!NLGEOM,OFF !非线性开关
KBC,1 !0表示坡道变化,1表示阶跃变化
!--------------------------
TIME,1
DELTIM,0.2,0.2,0.2
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
F,ALL,FX,-10
allsel,all
!*
LSWRITE,1
!--------------------------
TIME,60
DELTIM,5,5,5
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
F,ALL,FX,-10
allsel,all
!*
LSWRITE,2
!--------------------------
TIME,61
DELTIM,0.2,0.2,0.2
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
F,ALL,FX,0
allsel,all
!*
LSWRITE,3
!--------------------------
TIME,90
DELTIM,5,5,5
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
F,ALL,FX,0
allsel,all
!*
LSWRITE,4
LSSOLVE,1,4,1
/POST26
FILE,'file','rst','.'
/UI,COLL,1
NUMVAR,200
SOLU,191,NCMIT
STORE,MERGE
FILLDATA,191,,,,1,1
REALVAR,191,191
!*
NSOL,2,1902,U,X, UX_2,
STORE,MERGE
XVAR,1
PLVAR,2,
实例-粘弹性-位移控制-应力松弛
!***********************************程序开始******************************************!
FINISH ! Make sure we are at BEGIN level 退出四大模块,回到BEGIN层
/CLEAR,NOSTART ! Clear model since no SAVE found 清空内存,开始新的计算
/RGB,INDEX,100,100,100, 0 ! 设置显示颜色底色为白色
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/VIEW, 1, 0.25 , 0.95 , 0.2
/ANG, 1, -130
!*************************************参数化设置****************************************!
*DIM,box,ARRAY,15,15
!*************************************前处理器****************************************!
/PREP7
ET,1,SOLID185
!
MP,EX, 1, 2e11
MP,PRXY,1, 0.3
TB,PRONY,1, ,2,SHEAR
TBDATA,,1, 2.5
! ---------Modeling----------
BLC5,0,0,0.1,0.1,0.5
wpro,,90.000000,
vsbw,all
wpro,,,90.000000
vsbw,all
allsel,all
csys,0
wpcsys,-1,0
!!!
*do,i1,0.05,0.45,0.05
wpoff,0,0,i1
vsbw,all
wpcsys,-1,0
*enddo
VPTN,ALL
ESIZE,0,6,
TYPE, 1
MAT, 1
MSHAPE,0,3D
MSHKEY,1
VMESH,ALL
ALLSEL
NSEL,R,LOC,Z,0
D,all, , , , , ,ALL, , , , ,
allsel,all
/SOL !进入求解器
ANTYPE,0
!NLGEOM,OFF !非线性开关
KBC,1 !0表示坡道变化,1表示阶跃变化
!--------------------------
TIME,1
DELTIM,0.2,0.2,0.2
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
D,all, ,-0.01, , , ,UX, , , , ,
allsel,all
!*
LSWRITE,1
!--------------------------
TIME,60
DELTIM,5,5,5
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
D,all, ,-0.01, , , ,UX, , , , ,
allsel,all
!*
LSWRITE,2
!--------------------------
TIME,61
DELTIM,0.2,0.2,0.2
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
D,all, ,0, , , ,UX, , , , ,
allsel,all
!*
LSWRITE,3
!--------------------------
TIME,90
DELTIM,5,5,5
OUTRES,ALL,all
!*
NSEL,R,LOC,Z,0.5
NSEL,R,LOC,X,0.05
D,all, ,0, , , ,UX, , , , ,
allsel,all
!*
LSWRITE,4
LSSOLVE,1,4,1
/POST26
FILE,'file','rst','.'
/UI,COLL,1
NUMVAR,200
SOLU,191,NCMIT
STORE,MERGE
FILLDATA,191,,,,1,1
REALVAR,191,191
FORCE,TOTAL
!*
ANSOL,2,1863,S,EQV,SEQV_2
STORE,MERGE
XVAR,1
PLVAR,2,
粘弹性实例
!=================程序开始=================!
FINISH ! Make sure we are at BEGIN level 退出四大模块,回到BEGIN层
/CLEAR,NOSTART ! Clear model since no SAVE found 清空内存,开始新的计算
!*
/RGB,INDEX,100,100,100, 0 ! 设置显示颜色底色为白色
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
!=================参数化设置====================!
!-----------------------------------------------
/PREP7 ! 进入前处理器
ET,1,SOLID185
KEYOPT,1,6,1
!*
MP,EX,1, 2.903153e6
MP,PRXY,1, 0.495
TB,PRONY,1, ,2,SHEAR !粘弹性Prony级数
TBDATA,,0.0579, 30130.7, 0.0340, 3013.07, 0.6649, 301.307
! ---------------Modeling and Mesh and Bcs--------------
CYL4,0,0,10, ,100, ,5
wpro,,-90.000000,
VSBW,ALL
wpro,,,-90.000000
VSBW,ALL
VSWEEP,ALL
FLST,2,2,4,ORDE,2
FITEM,2,27
FITEM,2,31
DL,P51X, ,UX,
FLST,2,2,4,ORDE,2
FITEM,2,19
FITEM,2,-20
DL,P51X, ,UY,
FLST,2,4,4,ORDE,2
FITEM,2,5
FITEM,2,-8
DL,P51X, ,UZ,
/SOL !进入求解器
ANTYPE,0
NLGEOM,ON !非线性开关
KBC,1 !0表示坡道变化,1表示阶跃变化
DELTIM,1,1,1 !DELTIM,时间子步长,时间子步长变化下限,时间子步长变化上限
OUTRES,ALL,all !第二个all表示输出所有子步的结果,last表示输出最后一个子步的结果
TIME,1 !第一个子步为0-1s
!--------------------------
/PREP7
CSYS,1
NSEL,S,LOC,X,100
NROTAT,ALL
D,ALL, ,1, , , ,UX, , , , ,
ALLSEL
!--------------------------
/SOL
LSWRITE,1
DELTIM,100,100,100 !DELTIM,时间子步长,时间子步长变化下限,时间子步长变化上限(最好带着上x)
OUTRES,ALL,all !第二个all表示输出所有子步的结果,last表示输出最后一个子步的结果
TIME,5000 !第一个子步为1-5000s
!--------------------------
/PREP7
CSYS,1
NSEL,S,LOC,X,100
NROTAT,ALL
D,ALL, ,1, , , ,UX, , , , ,
ALLSEL
!--------------------------
/SOL
LSWRITE,2
LSSOLVE,1,2,1
!====================后处理器====================!
/POST1
RSYS,1
/POST26
FILE,'file','rst','.'
/UI,COLL,1
NUMVAR,200
SOLU,191,NCMIT
STORE,MERGE
FILLDATA,191,,,,1,1
REALVAR,191,191
FORCE,TOTAL
!*
ANSOL,2,782,S,X,SX_3
STORE,MERGE
XVAR,1
PLVAR,2,