1.记录
内压圆管:外径16英寸,内径12英寸,长度取外径的四倍64英寸。内压为恒定内压:1.3ksi。温度循环为:i) 整体温度1075℉。ii) 内壁1235℉,外壁1075℉。
材料316H,本构取理想弹塑性本构。
热力耦合时,载荷步一一对应,才能正确导入。用静态分析实现了随时间变化的温度载荷。
命令流如下:
vbnet
/CLEAR,NOSTART
/FILNAME,yuanguan3000,0
save
!白色
/RGB,INDEX,100,100,100, 0
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/REPLOT
/NOPR
KEYW,PR_SET,1
KEYW,PR_STRUC,0
KEYW,PR_THERM,1
/AUX15
IGESIN,'yuanguan033','IGS',' '
allsel,all
APLOT
/prep7
! ------------------ 材料定义(316H 示例) ------------------
MPDE,ALL,1 ! 删除所有
TBDE,ALL,1 ! 删除所有
MPTEMP,,,,,,,
! ------------------ 密度 ------------------
MPTEMP,,,,,,,, ! 开始温度表定义
MPTEMP,1,0 ! 温度点 1,对应 0°C
MPDATA,DENS,1,,8030E-12 ! 材料1,密度 = 8030E-12 ton/mm^3 (~8030 kg/m^3)
! ------------------ 杨氏模量 E(T) ------------------
MPTEMP,,,,,,,, ! 清空温度表设置
MPTEMP,1,550 ! 温度点1 = 550°C
MPTEMP,2,600 ! 温度点2 = 600°C
MPTEMP,3,650 ! 温度点3 = 650°C
MPTEMP,4,700 ! 温度点4 = 700°C
MPDATA,EX,1,,156000 ! 材料1,E @ 550°C = 1560000 MPa?(注意单位,可能需要除以10)
MPDATA,EX,1,,151000 ! E @ 600°C
MPDATA,EX,1,,146000 ! E @ 650°C
MPDATA,EX,1,,140000 ! E @ 700°C
MPDATA,PRXY,1,,0.31 ! 泊松比 ν @ 550°C
MPDATA,PRXY,1,,0.31 ! ν @ 600°C
MPDATA,PRXY,1,,0.31 ! ν @ 650°C
MPDATA,PRXY,1,,0.31 ! ν @ 700°C
! ------------------ 导热系数 k(T) ------------------
MPTEMP,,,,,,,, ! 清空温度表设置
MPTEMP,1,550 ! 温度点1
MPTEMP,2,575 ! 温度点2
MPTEMP,3,600 ! 温度点3
MPDATA,KXX,1,,0.0219 ! k @ 550°C = 0.0219 W/mm·K (16 W/m·K -> 除以1000)
MPDATA,KXX,1,,0.0222 ! k @ 575°C
MPDATA,KXX,1,,0.0226 ! k @ 600°C
! ------------------ 比热 cp(T) ------------------
MPTEMP,,,,,,,,
MPTEMP,1,550 ! 温度点1
MPTEMP,2,575 ! 温度点2
MPTEMP,3,600 ! 温度点3
MPDATA,C,1,,570559.148 ! cp @ 550°C J/(ton·K) (若用 kg,则应除1000)
MPDATA,C,1,,571205.0884
MPDATA,C,1,,574376.6996
! ------------------ 热膨胀系数 α(T) ------------------
MPTEMP,,,,,,,,
MPTEMP,1,525 ! 温度点1 = 525°C
MPTEMP,2,550 ! 温度点2 = 550°C
MPTEMP,3,600 ! 温度点3 = 600°C
UIMP,1,REFT,,, ! 定义参考温度 REFT (用于热应力计算)
MPDATA,ALPX,1,,0.00002 ! α @ 525°C = 2.0e-5 1/K
MPDATA,ALPX,1,,0.0000202
MPDATA,ALPX,1,,0.0000204
! ------------------ 保存材料 ------------------
SAVE
/prep7
!网格
!*
ET,1,PLANE77 ! 定义单元类型 1,为 PLANE77 (2D 热分析单元)
!*
KEYOPT,1,1,0 ! 设置单元类型 1 的 KEYOPT(1)=0 → 平面单元(Plane stress/strain 选项)
KEYOPT,1,3,1 ! 设置单元类型 1 的 KEYOPT(3)=1 → 使用轴对称选项
ACLEAR,ALL ! 清空所有数据
ESIZE,10,0, ! 设置网格尺寸为10
ALLSEL,ALL ! 选择所有几何体
AMESH,ALL ! 自动生成网格
/solu
! *dim,p17,table,801
! p17(1,0) = 0
! p17(1)=0
! *do,i,2,801
! p17(i,0) = i-1
! p17(i)= ((-1)**i+1)/2*579
! *enddo
*dim,p18,table,801
p18(1,0) = 0
p18(1)=0
*do,i,1,800
p18(i+1,0) = i
p18(i+1)= -(-1)**i*44.5+623.5
*enddo
/solu
LSCLEAR,ALL
ANTYPE,static
kbc,1 !阶跃载荷步
time,1
eresx,no
NSUBST,10 !载荷子步
AUTOTS,1 !自动载荷步
OUTRES,ALL,ALL
allsel, all
*do,i,1,11
*IF, MOD(i,2), EQ, 0, THEN
allsel, all
DDELE,all,ALL !删除温度载荷
DLDELE,all,TEMP !删除温度载荷
D,all, ,%P18(i)% , , , ,TEMP, , , , ,
allsel, all
SOLVE
BFDELE,all,TEMP !删除温度载荷
*CYCLE ! 偶数跳过,直接进入下一个 i
*ENDIF
a = i
DDELE,all,ALL !删除温度载荷
DLDELE,all,TEMP !删除温度载荷
LSEL,S,LOC,X,152.4 ! 选择x=152的线段
DL,all,,TEMP, %P18(i)%
allsel, all
LSEL,S,LOC,X,203.2 ! 选择203.2的线段
DL,all,,TEMP, %P18(i+1)%
allsel, all
SOLVE
*enddo
SAVE
finish
! *do,i,1,11
! allsel, all
! BF, ALL, TEMP, 579 ! 给整体设初始温度
! LSEL,S,LOC,X,152.4
! BF, ALL, TEMP, %P18(i)% ! 给 x=152.4 的面温度
! ALLSEL,ALL
! SOLVE
! *enddo
! SAVE
! finish
!结构应力计算
/NOPR
KEYW,PR_SET,1 ! 打开工程设置
KEYW,PR_STRUC,1 ! 打开结构分析
KEYW,PR_THERM,0 ! 关闭热分析
/prep7 ! 进入前处理器,准备建模
!316H---伪屈服应力3000hr
TBDE,ALL,1 ! 删除所有
TB,BKIN,1,1,2,1
TBTEMP,550
TBDATA,,116,0,,,,
ETCHG,TTS ! 打开或切换单元类型属性编辑器(ETCHG),TTS模式(可忽略)
KEYOPT,1,1,0 ! 设置单元类型1的KEYOPT(1)=0(平面单元或默认选项)
KEYOPT,1,3,1 ! 设置单元类型1的KEYOPT(3)=1(轴对称分析开启)
KEYOPT,1,6,0 ! 设置单元类型1的KEYOPT(6)=0(一般用于厚度或其他选项)
/solu ! 进入求解模块
LSCLEAR,ALL ! 清除所有载荷步
ANTYPE,static ! 设置为静态分析
time,1 ! 分析总时间/载荷比例
DELTIM,0.1,0,0
AUTOTS,1
eresx,no ! 关闭应变残差输出
NSUBST,10 ! 总载荷分10个子步
OUTRES,ALL,ALL ! 输出所有结果
allsel,all ! 选择所有实体
LSEL,S,LOC,X,152.4 ! 选择 X=152 的线段
sfL,all,pres,8.9635 ! 对选中线段施加压力
allsel,all
LSEL,S,LOC,Y,0 ! 选择 Y=0 的线段
DL,all,,uy,0 ! 对选中线段 Y 方向位移固定为 0
allsel,all ! 重新选择所有实体
LSEL,S,LOC,Y,1625.6 ! 选择 Y=1625.6 的线段
SFL,all,pres,-11.5245 ! 对选中线段施加压力
allsel,all ! 恢复选择所有实体
*do,i,1,11
LDREAD,TEMP,,,i, ,'yuanguan3000','rth',' ' ! 读取温度载荷文件
time,i
solve ! 求解
*enddo
save
FINISH
/post1 ! 结束上一个求解/前处理环境
set,last
allsel
NSORT,S,eqv,0,1,ALL
*GET,node_MAX_seqv,SORT,0,IMAX
allsel
NSORT,eppl,int,0,1,ALL
*GET,noed_MAX_eppl,SORT,0,IMAX
*GET,MAXeppl,NODE,noed_MAX_eppl,eppl,int
*IF,MAXeppl,EQ,0,then
node_MAX_eqv_eppl = node_MAX_seqv
*else
node_MAX_eqv_eppl = noed_MAX_eppl
*ENDIF
*GET,MAXseqv,NODE,node_MAX_eqv_eppl,S,eqv
*GET,MAXeppl,NODE,node_MAX_eqv_eppl,eppl,int
/post26
save
NUMVAR,200 !指定变量数目
SOLU,191,NCMIT !定义变量
STORE,MERGE !合并时间点数据
*GET,timevar,VARI,1, nsets
allsel
anSOL,2,node_MAX_eqv_eppl,S,EQV
anSOL,3,node_MAX_eqv_eppl,EPPL,EQV
anSOL,4,node_MAX_eqv_eppl,NL,EPEQ
anSOL,6,node_MAX_seqv,S,EQV
anSOL,7,node_MAX_seqv,EPPL,EQV
anSOL,8,node_MAX_seqv,NL,EPEQ
! anSOL,9,519,EPPL,EQV
! anSOL,10,172,EPPL,EQV
!白色
/RGB,INDEX,100,100,100, 0
/RGB,INDEX, 80, 80, 80,13
/RGB,INDEX, 60, 60, 60,14
/RGB,INDEX, 0, 0, 0,15
/REPLOT
save