ANSYS 热力耦合计算

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
相关推荐
西岸行者2 天前
学习笔记:SKILLS 能帮助更好的vibe coding
笔记·学习
悠哉悠哉愿意2 天前
【单片机学习笔记】串口、超声波、NE555的同时使用
笔记·单片机·学习
别催小唐敲代码3 天前
嵌入式学习路线
学习
毛小茛3 天前
计算机系统概论——校验码
学习
babe小鑫3 天前
大专经济信息管理专业学习数据分析的必要性
学习·数据挖掘·数据分析
winfreedoms3 天前
ROS2知识大白话
笔记·学习·ros2
在这habit之下3 天前
Linux Virtual Server(LVS)学习总结
linux·学习·lvs
我想我不够好。3 天前
2026.2.25监控学习
学习
im_AMBER3 天前
Leetcode 127 删除有序数组中的重复项 | 删除有序数组中的重复项 II
数据结构·学习·算法·leetcode
CodeJourney_J3 天前
从“Hello World“ 开始 C++
c语言·c++·学习