ANSYS 拱坝 温度控制命令流
发布网友
发布时间:2022-04-21 20:36
我来回答
共2个回答
热心网友
时间:2023-05-21 01:29
楼主指的温度控制是什么意思呢?是不是就是热学分析中的求解过程的设置呢?还是其他的?
如果是求解过程的话,建议还是要统局来看,这样才可以看懂是怎么控制的,倒是有一些命令流文件,不过怎么传给你呢?
不知道楼主是不是要做成耦合的样子,所以顺便给你发了一些耦合例子,然后就是一些电子书,里面有讲热学的,再就是给你发了一些热学分析的命令流源文件,希望对你有帮助吧,已经发送到你的QQ邮箱!
热心网友
时间:2023-05-21 01:29
某砌石拱坝位于U型河谷中,坝高55.5m,为单曲等厚拱坝,顶宽5m,底宽16m,坝顶弧长115.65m,弧高比2.1。首先输入基本参数,自底向上生成坝体。
!坐标系原点位于拱坝轴线与拱坝参考面的交点在坝基的投影,X轴指向右岸,Y轴指向下游,Z轴铅直向上
!单位:长度-M,力-KN,加速度-M/S,密度-KN/M3
!
!
FINI
/CLEAR,START
/FILNAME,ARCHDAM,1
/PLOPTS,DATE,0
/TRIAD,LBOT
/VIEW,1,1,1,1
/VUP,1,Z
*AFUN,DEG
Z_UP=53 !上游水位
Z_DOWN=0 !下游水位
Z_SAND=38 !泥沙淤积水位
DENS_SAND=0.6 !淤积泥沙浮容重
ANG_FRI=16 !淤积泥沙内摩擦角
LAYER_NUM=8 ! 定义拱层数
*DIM,ELEVATION,ARRAY,LAYER_NUM !定义拱圈高程
*DIM,T_ARCH,ARRAY,LAYER_NUM !定义拱厚
*DIM,ARCH_RAD,ARRAY,LAYER_NUM,2 !定义圆弧半径,上下游
*DIM,RAD_CEN,ARRAY,LAYER_NUM !定义圆弧中心Y值
*DIM,ARCH_ANGLE,ARRAY,LAYER_NUM,2 !定义圆弧左右中心角
ELEVATION(1)=55.5,47,39,29,24,19,9,0 !拱圈高程
H_DAM=ELEVATION(1)-ELEVATION(LAYER_NUM) !坝高
T_ARCH(1)=5.00,6.68,8.27,10.25,11.24,12.23,14.22,16.00 !拱厚
ARCH_RAD(1,1)=68.00,68.00,68.00,68.00,68.00,68.00,68.00,68.00 !外半径
*VOPER,ARCH_RAD(1,2),ARCH_RAD(1,1),SUB,T_ARCH(1) !计算内半径
RAD_CEN(1)=68.00,68.00,68.00,68.00,68.00,68.00,68.00,68.00 !圆心位置,Y坐标
ARCH_ANGLE(1,1)=-47.72,-46.36,-45.06,-43.36,-41.88,-40.38,-37.32,-34.48 !左中心角
ARCH_ANGLE(1,2)=49.73,47.13,44.68,41.57,40.44,39.29,36.92,35.72 !右中心角
W_DAM1=-ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,1)) !坝顶左弦长
W_DAM2=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,2)) !坝顶右弦长
LOCAL,11,1,0,RAD_CEN(1),ELEVATION(1),-90 !局部柱面坐标,原点位于顶拱圆心,X轴为拱坝中心线,指向上游,Y轴为中心角
!为查值计算坝体温度,重新定义一套数组
*DIM,TEMPUP,TABLE,LAYER_NUM !上游面温度
*DIM,TEMPDOWN,TABLE,LAYER_NUM !下游面温度
*DIM,T2_ARCH,TABLE,LAYER_NUM !拱厚
*DIM,Y_RAD,TABLE,LAYER_NUM !圆心到坝轴线距离
*DIM,RADUP,TABLE,LAYER_NUM !外半径
TEMPUP(1)=-8.84,-7.30,-5.66,-4.94,-4.99,-5.17,-5.73,-6.25
TEMPUP(1,0)=0,6,14,24,29,34,44,53
TEMPDOWN(1)=-8.84,-8.21,-7.36,-6.32,-5.86,-5.45,-4.72,-6.71
TEMPDOWN(1,0)=0,6,14,24,29,34,44,53
T2_ARCH(1)=5.00,6.68,8.27,10.25,11.24,12.23,14.22,16.00
T2_ARCH(1,0)=0,6,14,24,29,34,44,53
Y_RAD(1)=68.00,68.00,68.00,68.00,68.00,68.00,68.00,68.00
Y_RAD(1,0)=0,6,14,24,29,34,44,53
RADUP(1)=68.00,68.00,68.00,68.00,68.00,68.00,68.00,68.00
RADUP(1,0)=0,6,14,24,29,34,44,53
CSYS,0
!/PNUM,KP,1
!/PNUM,LINE,1
/PREP7
KNN=0
*DO,II,1,LAYER_NUM !生成拱坝控制关键点,每层6个点,上下游个三个点
PX1=ARCH_RAD(II,1)*SIN(ARCH_ANGLE(II,1))
PY1=RAD_CEN(II)-ARCH_RAD(II,1)*COS(ARCH_ANGLE(II,1))
PX2=ARCH_RAD(II,1)*SIN(ARCH_ANGLE(II,2))
PY2=RAD_CEN(II)-ARCH_RAD(II,1)*COS(ARCH_ANGLE(II,2))
K,KNN+1,PX1, PY1,ELEVATION(II)
K,KNN+2,0,RAD_CEN(II)-ARCH_RAD(II,1),ELEVATION(II)
K,KNN+3,PX2, PY2,ELEVATION(II)
PX3=ARCH_RAD(II,2)*SIN(ARCH_ANGLE(II,1))
PY3=RAD_CEN(II)-ARCH_RAD(II,2)*COS(ARCH_ANGLE(II,1))
PX4=ARCH_RAD(II,2)*SIN(ARCH_ANGLE(II,2))
PY4=RAD_CEN(II)-ARCH_RAD(II,2)*COS(ARCH_ANGLE(II,2))
K,KNN+4,PX3, PY3,ELEVATION(II)
K,KNN+5,0,RAD_CEN(II)-ARCH_RAD(II,2),ELEVATION(II)
K,KNN+6,PX4, PY4,ELEVATION(II)
KNN=6*II
*ENDDO
LARC,1,3,2 !生成拱圈线
*REPEAT,LAYER_NUM*2,3,3,3
L,1,4
*REPEAT,LAYER_NUM,6,6
L,3,6
*REPEAT,LAYER_NUM,6,6
ASKIN,1,3,5,7,9,11,13,15 !生成上游面
ASKIN,2,4,6,8,10,12,14,16 !生成下游面
ASKIN,17,18,19,20,21,22,23,24 !生成侧面
ASKIN,25,26,27,28,29,30,31,32
AL,1,17,2,25
AL,15,24,16,32
VA,6,1,3,2,4,5
拉伸坝体侧面、底面,并进行切割,生成坝基
!拉伸生成坝基
ASEL,S,AREA,,4 !选择右侧面
VEXT,ALL,,,4*H_DAM !拉伸成基岩
ASEL,S,AREA,,3 !选择左侧面
VEXT,ALL,,,-4*H_DAM !拉伸成基岩
ALLSEL
ASEL,S,LOC,Z,ELEVATION(LAYER_NUM)-1,ELEVATION(LAYER_NUM)+1 !选择底面
VEXT,ALL,,,,,-NINT(H_DAM /10)*10
ASEL,S,AREA,,10,20,5
ASEL,A,AREA,,23,27,4
VEXT,ALL,,,,4*H_DAM
ASEL,S,AREA,,8,18,5
ASEL,A,AREA,,25,29,4
VEXT,ALL,,,,-4*H_DAM
ALLSEL,ALL
SAVE
WPROTA,,90
WPOFFS,,,NINT(H_DAM*1.5/10)*10
VSBW,ALL,,DELETE
VSEL,S,LOC,Y,-200,-H_DAM*1.4
VDEL,ALL,,,1
VSEL,ALL
WPOFFS,,,-NINT(H_DAM*3.5/10)*10
VSBW,ALL,,DELETE
VSEL,S,LOC,Y,NINT(H_DAM*2/10)*10,NINT(H_DAM*2/10)*100
VDEL,ALL,,,1
VSEL,ALL
WPCSYS,,0
WPROTA,,,90
WPOFFS,,,NINT((W_DAM2+H_DAM)/10)*10
VSBW,ALL,,DELETE
VSEL,S,LOC,X,NINT((W_DAM2+H_DAM)/10)*10,NINT((W_DAM2+H_DAM)/10)*50
VDEL,ALL,,,1
VSEL,ALL
WPOFFS,,,-NINT((W_DAM2+W_DAM1+2*H_DAM)/10)*10
VSBW,ALL,,DELETE
VSEL,S,LOC,X,-NINT((W_DAM1+H_DAM)/10)*50,-NINT((W_DAM1+H_DAM)/10)*10
VDEL,ALL,,,1
WPCSYS,,0
VSEL,ALL
SAVE
用各控制高程切割整个模型,便于划分单元及计算成果和拱梁法比较
*DO,II,LAYER_NUM,3,-1
WPOFFS,,,ELEVATION(II-1)-ELEVATION(II)
VSBW,ALL,,DELETE
*ENDDO
WPCSYS,,0
ALLSEL
WPROTA,,,90
VSBW,ALL,,DELETE
WPCSYS,,0
NUMMRG,ALL
NUMCMP,ALL
PX1=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,1))
PX2=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,2))
VSEL,S,LOC,X,PX1,PX2
VSEL,R,LOC,Z,ELEVATION(LAYER_NUM),ELEVATION(1)
CM,DAM,VOLU
VSEL,INVE
CM,BEDROCK,VOLU
ALLSEL
生成溢流堰
!生成溢流堰,为便于建模和施加荷载,与实际不太相符,根据圣维南原理,对大坝的总体应力不会有太大影响
W_WEIR=8 !溢流堰单孔宽(坝轴线处)
NUM_WEIR=5 !溢流堰孔数
W_WALL=2.5 !溢流堰闸墩宽(坝轴线处)
WPOFFS,,,ELEVATION(1)-ELEVATION(LAYER_NUM)
WPOFFS,,RAD_CEN(1)
WPROTA,,,90
*AFUN,RAD
PI=2*ACOS(0)
SITTA1=(W_WEIR*NUM_WEIR+W_WALL*(NUM_WEIR+1))/68*180/PI !溢流堰总中心角
SITTA2=W_WEIR/ARCH_RAD(1,1)*180/PI !溢流堰单孔中心角
SITTA3=W_WALL/ARCH_RAD(1,1)*180/PI !溢流堰单个闸墩中心角
WPROTA,,-SITTA1/2
VSBW,ALL,,DELETE
*DO,II,1,NUM_WEIR
WPROTA,,SITTA3
VSBW,ALL,,DELETE
WPROTA,,SITTA2
VSBW,ALL,,DELETE
*ENDDO
WPROTA,,SITTA3
VSBW,ALL,,DELETE
SAVE
CMSEL,S,BEDROCK
VSEL,INVE
VSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2)
CSYS,11
VSEL,R,LOC,Y,-SITTA1/2,SITTA1/2
CM,YLYY,VOLU
*DO,II,1,NUM_WEIR
CMSEL,S,YLYY
VSEL,R,LOC,Y,-SITTA1/2+II*SITTA3+(II-1)*SITTA2,-SITTA1/2+II*SITTA3+II*SITTA2
VDEL,ALL,,,1,,,1
*ENDDO
CSYS,0
CMSEL,S,BEDROCK
VSEL,INVE
CM,DAM,VOLU
CMSEL,S,DAM
VSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2)
CSYS,11
VSEL,R,LOC,Y,-SITTA1/2,SITTA1/2,
CM,ZHADUN,VOLU
CSYS,0
WPCSYS,,0
VSEL,ALL
NUMMRG,ALL
NUMCMP,ALL
SAVE
!定义单元性质和材料
ET,1,SOLID95
MP,EX,1,1E7
MP,NUXY,1,0.25
MP,DENS,1,23 !坝体容重
MP,ALPX,1,0.7E-5
MP,REFT,1,0
MP,EX,2,0.8E7
MP,NUXY,2,0.21
MP,ALPX,2,0.0
MP,REFT,2,0
!坝体单元划分
CMSEL,S,DAM
CMSEL,U,ZHADUN
ASLV,S
LSLA,S
*AFUN,DEG
PX1=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,1))
PX2=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,2))
PX3=ARCH_RAD(LAYER_NUM,2)*SIN(ARCH_ANGLE(LAYER_NUM,1))
PX4=ARCH_RAD(LAYER_NUM,2)*SIN(ARCH_ANGLE(LAYER_NUM,2))
LSEL,U,LOC,X,PX3,PX1
LSEL,U,LOC,X,PX4,PX2
LSEL,U,LOC,X,0
LSEL,U,LOC,Z,ELEVATION(1),ELEVATION(2)
LESIZE,ALL, , ,20,
CM,LTEMP1,LINE
CSYS,0
CMSEL,S,DAM
ASLV,S
LSLA,S
CMSEL,U,LTEMP1
CM,LTEMP2,LINE
LSEL,U,LENGTH,,T_ARCH(LAYER_NUM)+0.1,1000
LSEL,R,TAN1,Z
CSYS,11
LSEL,U,LOC,X,ARCH_RAD(1,1)
LSEL,U,LOC,X,ARCH_RAD(1,1)-T_ARCH(1)
LSEL,U,LOC,X,ARCH_RAD(1,1)-T_ARCH(2)
CSYS,0
CM,LTEMP3,LINE
LESIZE,ALL, , ,5,
ALLSEL
CMSEL,S,LTEMP2
CMSEL,U,LTEMP3
LSEL,U,TAN1,Z
CM,LTEMP4,LINE
LESIZE,ALL, , ,3,
CMSEL,S,DAM
CMSEL,U,ZHADUN
ASLV,S
LSLA,S
LSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2)
CSYS,11
LSEL,U,LOC,Y,-SITTA1/2-1,SITTA1/2+1
LSEL,U,LENGTH,,0,T_ARCH(1)+0.1
CSYS,0
CMSEL,U,LTEMP3
CMSEL,U,LTEMP4
LESIZE,ALL, , ,10,
CM,LTEMP5,LINE
CMSEL,S,DAM
CMSEL,U,ZHADUN
ASLV,S
LSLA,S
LSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2)
CMSEL,U,LTEMP3
CMSEL,U,LTEMP4
CMSEL,U,LTEMP5
LSEL,U,LENGTH,,0,3
CM,LTEMP6,LINE
LESIZE,ALL, , ,4,
CSYS,0
ALLSEL
MSHAPE,0
CMSEL,S,DAM
VSWEEP,ALL
SAVE
!坝基单元划分
CMSEL,S,BEDROCK
ASLV,S
LSLA,S
LSEL,U,TAN1,X
LSEL,U,LOC,X,PX2,PX1
CM,LTEMP7,LINE
LESIZE,ALL, , ,5,, , , ,1
CMSEL,S,BEDROCK
ASLV,S
LSLA,S
LSEL,U,TAN1,Y
PY4=RAD_CEN(LAYER_NUM)-ARCH_RAD(LAYER_NUM,2)*COS(ARCH_ANGLE(LAYER_NUM,2))+20
LSEL,U,LOC,Y,-10,PY4
CM,LTEMP8,LINE
LESIZE,ALL, , ,6,4, , , ,1
CMSEL,S,BEDROCK
ASLV,S
LSLA,S
LSEL,U,TAN1,Z
LSEL,R,LOC,Z,ELEVATION(LAYER_NUM),ELEVATION(LAYER_NUM)-200
LESIZE,ALL, , ,5,5, , , ,1
CMSEL,S,BEDROCK
ASLV,S
LSLA,S
LSEL,U,TAN1,Z
LSEL,R,LOC,Z,ELEVATION(1),ELEVATION(LAYER_NUM)
LESIZE,ALL, , ,3,
CMSEL,S,BEDROCK
ASLV,S
LSLA,S
LSEL,R,LOC,Z,-50,-1000
LSEL,R,LOC,Y,-10,PY4
CSYS,11
LSEL,U,LOC,X,ARCH_RAD(1,1)
LSEL,U,LOC,X,ARCH_RAD(1,1)-T_ARCH(LAYER_NUM)
CSYS,0
LSEL,R,LENGTH,,T_ARCH(LAYER_NUM)-5,T_ARCH(LAYER_NUM)+3,
LESIZE,ALL, , ,5,
CSYS,0
CMSEL,S,BEDROCK
ASLV,S
LSLA,S
LSEL,R,LOC,Z,ELEVATION(LAYER_NUM)-50,ELEVATION(LAYER_NUM)-1000
LSEL,R,LOC,X,PX2,PX1
LESIZE,ALL, , ,20,
CMSEL,S,BEDROCK
MAT,2
VMESH,ALL
!单元划分完毕
ALLSEL
NUMMRG,ALL
NUMCMP,ALL
SAVE
定义边界条件,顺河向约束Y向位移,横河向约束X向位移,底面约束竖向Z位移
FINI
/SOLU
!边界位移条件
*GET,NXMAX,NODE,,MXLOC,X
*GET,NXMIN,NODE,,MNLOC,X
*GET,NYMAX,NODE,,MXLOC,Y
*GET,NYMIN,NODE,,MNLOC,Y
*GET,NZMIN,NODE,,MNLOC,Z
NSEL,S,LOC,X,NXMAX
NSEL,A,LOC,X,NXMIN
D,ALL,UX,0 !约束上下游边界X向位移
NSEL,S,LOC,Y,NYMAX
NSEL,A,LOC,Y,NYMIN
D,ALL,UY,0 !约束左右边界Y向位移
NSEL,S,LOC,Z,NZMIN
D,ALL,ALL,0 !约束底面边界Z向位移
NSEL,ALL
施加水荷载,淤沙压力,坝体自重
!大坝荷载
ALLSEL
CMSEL,S,DAM
CMSEL,U,ZHADUN
ASLV,S
CSYS,11
ASEL,R,LOC,X,ARCH_RAD(1,1)-0.1,ARCH_RAD(1,1)+0.1
NSLA,S,1
CM,N_DAMUP,NODE !定义大坝上游面节点
CSYS,0
ALLSEL
CMSEL,S,DAM
ASLV,S
ASEL,R,EXT
LSLA,S
LSEL,R,LOC,X,0
LSEL,U,LOC,Y,-0.1,0.1
LSEL,U,LOC,Z,ELEVATION(2)
LSEL,U,LOC,Z,ELEVATION(LAYER_NUM)
ASLL,S
ASEL,U,LOC,X,0
LSLA,S
NSLA,S,1
CM,N_DAMDOWN,NODE !定义大坝下游面节点
ALLSEL
CMSEL,S,YLYY
ASLV,S
CSYS,11
ASEL,R,LOC,X,ARCH_RAD(1,1)-0.1,ARCH_RAD(1,1)+0.1
ASEL,U,,,291,326,326-291
NSLA,S,1
CM,N_ZHADUN1,NODE !定义溢流坝中墩节点
ASEL,S,,,291,326,326-291
NSLA,S,1
CM,N_ZHADUN2,NODE !定义溢流坝边墩节点
CSYS,0
*IF,Z_UP,NE,ELEVATION(LAYER_NUM),THEN
CMSEL,S,N_DAMUP
NSEL,R,LOC,Z,0,Z_UP
/PSF,PRES,NORM,2,0.1
SFGRAD, PRES, 0, Z, 0,-9.81
SF,ALL,PRESS,Z_UP*9.81 !施加大坝上游面水压力
*ENDIF
*IF,Z_UP,GT,ELEVATION(2),THEN
CMSEL,S,N_ZHADUN1
NSEL,R,LOC,Z,ELEVATION(2),Z_UP
SFGRAD, PRES, 0, Z, 0,-(W_WEIR+W_WALL)/W_WALL*9.81
SF,ALL,PRESS,Z_UP*(W_WEIR+W_WALL)/W_WALL*9.81 !施加中墩水压力,包含闸门传递的水压力
CMSEL,S,N_ZHADUN2
NSEL,R,LOC,Z,ELEVATION(2),Z_UP
SFGRAD, PRES, 0, Z, 0,-(W_WEIR/2+W_WALL)/W_WALL*9.81
SF,ALL,PRESS,Z_UP*(W_WEIR/2+W_WALL)/W_WALL*9.81 !施加边墩水压力,包含闸门传递的水压力
*ENDIF
*IF,Z_SAND,GT,ELEVATION(LAYER_NUM),THEN
SFCUM,PRES,ADD !荷载为累加方式
CMSEL,S,N_DAMUP
NSEL,R,LOC,Z,0,Z_SAND
*AFUN,DEG
SAND_GRADS=DENS_SAND*(TAN(45-ANG_FRI/2))**2*9.81 !计算淤沙压力梯度
SFGRAD, PRES, 0, Z, 0,-SAND_GRADS
SF,ALL,PRESS,Z_SAND*SAND_GRADS !施加淤沙压力
SFCUM,PRES,REPL !荷载为替代方式
*ENDIF
ALLSEL
*IF,Z_DOWN,NE,ELEVATION(LAYER_NUM),THEN
CMSEL,S,N_DAMDOWN
NSEL,R,LOC,Z,0,Z_DOWN
SFGRAD, PRES, 0, Z, 0,-9.81
SF,ALL,PRESS,Z_DOWN*9.81 !施加大坝下游面水压力
*ENDIF
ALLSEL
ACEL,0,0,1 !施加大坝自重荷载
SAVE
!施加大坝温度荷载
CMSEL,S,DAM
NSLV,S,1
*GET,NCOUNT_DAM, NODE,, COUNT
*GET,NMIN_DAM, NODE,,NUM,MIN
TUNIF,0,
TREF,0,
NTT=NMIN_DAM
*DO,II,1,NCOUNT_DAM
Z_NTT=NZ(NTT) !Z
Z_TEMP=ELEVATION(1)-Z_NTT !到坝基高度
TL_ARCH=T2_ARCH(Z_TEMP) !拱厚
CSYS,11
X_NTT=NX(NTT) !X:距顶拱圆心距离
CSYS,0
RAD0=Y_RAD(Z_TEMP) !圆心到坝轴线距离
RAD1=RADUP(Z_TEMP) !外半径
LXUP=RAD_CEN(1)-RAD0+RAD1-X_NTT
TTT1=TEMPUP(Z_TEMP)
TTT2=TEMPDOWN(Z_TEMP)
TTT=TTT1+(TTT2-TTT1)/TL_ARCH*LXUP
BF,NTT,TEMP,TTT
*IF,II,LT,NCOUNT_DAM,THEN
NTT=NDNEXT(NTT)
*ENDIF
*ENDDO
计算求解,采用PCG求解器
ALLSEL
SAVE
EQSLV,PCG,1E-8
SOLVE
SAVE
FINI