ANSYS拱坝建模命令流请问哪位朋友有ANSYS拱坝建模命令流,谢谢!!!!!!!!!!!==============================某砌石拱坝位于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,DEGZ_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.25TEMPUP(1,0)=0,6,14,24,29,34,44,53TEMPDOWN(1)=-8.84,-8.21,-7.36,-6.32,-5.86,-5.45,-4.72,-6.71TEMPDOWN(1,0)=0,6,14,24,29,34,44,53T2_ARCH(1)=5.00,6.68,8.27,10.25,11.24,12.23,14.22,16.00T2_ARCH(1,0)=0,6,14,24,29,34,44,53Y_RAD(1)=68.00,68.00,68.00,68.00,68.00,68.00,68.00,68.00Y_RAD(1,0)=0,6,14,24,29,34,44,53RADUP(1)=68.00,68.00,68.00,68.00,68.00,68.00,68.00,68.00RADUP(1,0)=0,6,14,24,29,34,44,53CSYS,0!/PNUM,KP,1!/PNUM,LINE,1/PREP7KNN=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*ENDDOLARC,1,3,2!生成拱圈线*REPEAT,LAYER_NUM*2,3,3,3L,1,4*REPEAT,LAYER_NUM,6,6L,3,6*REPEAT,LAYER_NUM,6,6ASKIN,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,32AL,1,17,2,25AL,15,24,16,32VA,6,1,3,2,4,5==============================拉伸坝体侧面、底面,并进行切割,生成坝基复制内容到剪贴板代码:!拉伸生成坝基ASEL,S,AREA,,4!选择右侧面VEXT,ALL,,,4*H_DAM!拉伸成基岩ASEL,S,AREA,,3!选择左侧面VEXT,ALL,,,-4*H_DAM!拉伸成基岩ALLSELASEL,S,LOC,Z,ELEVATION(LAYER_NUM)-1,ELEVATION(LAYER_NUM)+1!选择底面VEXT,ALL,,,,,-NINT(H_DAM/10)*10ASEL,S,AREA,,10,20,5ASEL,A,AREA,,23,27,4VEXT,ALL,,,,4*H_DAMASEL,S,AREA,,8,18,5ASEL,A,AREA,,25,29,4VEXT,ALL,,,,-4*H_DAMALLSEL,ALLSAVEWPROTA,,90WPOFFS,,,NINT(H_DAM*1.5/10)*10VSBW,ALL,,DELETEVSEL,S,LOC,Y,-200,-H_DAM*1.4VDEL,ALL,,,1VSEL,ALLWPOFFS,,,-NINT(H_DAM*3.5/10)*10VSBW,ALL,,DELETEVSEL,S,LOC,Y,NINT(H_DAM*2/10)*10,NINT(H_DAM*2/10)*100VDEL,ALL,,,1VSEL,ALLWPCSYS,,0WPROTA,,,90WPOFFS,,,NINT((W_DAM2+H_DAM)/10)*10VSBW,ALL,,DELETEVSEL,S,LOC,X,NINT((W_DAM2+H_DAM)/10)*10,NINT((W_DAM2+H_DAM)/10)*50 VDEL,ALL,,,1VSEL,ALLWPOFFS,,,-NINT((W_DAM2+W_DAM1+2*H_DAM)/10)*10VSBW,ALL,,DELETEVSEL,S,LOC,X,-NINT((W_DAM1+H_DAM)/10)*50,-NINT((W_DAM1+H_DAM)/10)*10 VDEL,ALL,,,1WPCSYS,,0VSEL,ALLSAVE==============================用各控制高程切割整个模型,便于划分单元及计算成果和拱梁法比较复制内容到剪贴板代码:*DO,II,LAYER_NUM,3,-1WPOFFS,,,ELEVATION(II-1)-ELEVATION(II)VSBW,ALL,,DELETE*ENDDOWPCSYS,,0ALLSELWPROTA,,,90VSBW,ALL,,DELETEWPCSYS,,0NUMMRG,ALLNUMCMP,ALLPX1=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,1))PX2=ARCH_RAD(1,1)*SIN(ARCH_ANGLE(1,2))VSEL,S,LOC,X,PX1,PX2VSEL,R,LOC,Z,ELEVATION(LAYER_NUM),ELEVATION(1)CM,DAM,VOLUVSEL,INVECM,BEDROCK,VOLUALLSEL==============================生成溢流堰复制内容到剪贴板代码:CMSEL,S,DAMVSEL,R,LOC,Z,ELEVATION(1)-0.1,ELEVATION(2)+0.1/VIEW,1,1,1,1VPLOT!生成溢流堰,为便于建模和施加荷载,与实际不太相符,根据圣维南原理,对大坝的总体应力不会有太大影响W_WEIR=8!溢流堰单孔宽(坝轴线处)NUM_WEIR=5!溢流堰孔数W_WALL=2.5!溢流堰闸墩宽(坝轴线处)WPOFFS,,,ELEVATION(1)-ELEVATION(LAYER_NUM)WPOFFS,,RAD_CEN(1)WPROTA,,,90*AFUN,RADPI=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/2VSBW,ALL,,DELETE*DO,II,1,NUM_WEIRWPROTA,,SITTA3VSBW,ALL,,DELETEWPROTA,,SITTA2VSBW,ALL,,DELETE*ENDDOWPROTA,,SITTA3VSBW,ALL,,DELETESAVECMSEL,S,BEDROCKVSEL,INVEVSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2)CSYS,11VSEL,R,LOC,Y,-SITTA1/2,SITTA1/2CM,YLYY,VOLU*DO,II,1,NUM_WEIRCMSEL,S,YLYYVSEL,R,LOC,Y,-SITTA1/2+II*SITTA3+(II-1)*SITTA2,-SITTA1/2+II*SITTA3+II*SITTA2VDEL,ALL,,,1,,,1*ENDDOCSYS,0CMSEL,S,BEDROCKVSEL,INVECM,DAM,VOLUCMSEL,S,DAMVSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2)CSYS,11VSEL,R,LOC,Y,-SITTA1/2,SITTA1/2,CM,ZHADUN,VOLUCSYS,0WPCSYS,,0VSEL,ALLNUMMRG,ALLNUMCMP,ALLSAVE==============================划分单元复制内容到剪贴板代码:!定义单元性质和材料ET,1,SOLID95MP,EX,1,1E7MP,NUXY,1,0.25MP,DENS,1,23!坝体容重MP,ALPX,1,0.7E-5MP,REFT,1,0MP,EX,2,0.8E7MP,NUXY,2,0.21MP,ALPX,2,0.0MP,REFT,2,0!坝体单元划分CMSEL,S,DAMCMSEL,U,ZHADUNASLV,SLSLA,S*AFUN,DEGPX1=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,PX1LSEL,U,LOC,X,PX4,PX2LSEL,U,LOC,X,0LSEL,U,LOC,Z,ELEVATION(1),ELEVATION(2) LESIZE,ALL,,,20,CM,LTEMP1,LINECSYS,0CMSEL,S,DAMASLV,SLSLA,SCMSEL,U,LTEMP1CM,LTEMP2,LINELSEL,U,LENGTH,,T_ARCH(LAYER_NUM)+0.1,1000 LSEL,R,TAN1,ZCSYS,11LSEL,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,0CM,LTEMP3,LINELESIZE,ALL,,,5,ALLSELCMSEL,S,LTEMP2CMSEL,U,LTEMP3LSEL,U,TAN1,ZCM,LTEMP4,LINELESIZE,ALL,,,3,CMSEL,S,DAMCMSEL,U,ZHADUNASLV,SLSLA,SLSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2) CSYS,11LSEL,U,LOC,Y,-SITTA1/2-1,SITTA1/2+1 LSEL,U,LENGTH,,0,T_ARCH(1)+0.1CSYS,0CMSEL,U,LTEMP3CMSEL,U,LTEMP4LESIZE,ALL,,,10,CM,LTEMP5,LINECMSEL,S,DAMCMSEL,U,ZHADUNASLV,SLSLA,SLSEL,R,LOC,Z,ELEVATION(1),ELEVATION(2) CMSEL,U,LTEMP3CMSEL,U,LTEMP4CMSEL,U,LTEMP5LSEL,U,LENGTH,,0,3CM,LTEMP6,LINELESIZE,ALL,,,4,CSYS,0ALLSELMSHAPE,0CMSEL,S,DAMVSWEEP,ALLSAVE!坝基单元划分CMSEL,S,BEDROCKASLV,SLSLA,SLSEL,U,TAN1,XLSEL,U,LOC,X,PX2,PX1CM,LTEMP7,LINELESIZE,ALL,,,5,,,,,1CMSEL,S,BEDROCKASLV,SLSLA,SLSEL,U,TAN1,YPY4=RAD_CEN(LAYER_NUM)-ARCH_RAD(LAYER_NUM,2)*COS(ARCH_ANGLE(LAYER_NUM,2)) +20LSEL,U,LOC,Y,-10,PY4CM,LTEMP8,LINELESIZE,ALL,,,6,4,,,,1CMSEL,S,BEDROCKASLV,SLSLA,SLSEL,U,TAN1,ZLSEL,R,LOC,Z,ELEVATION(LAYER_NUM),ELEVATION(LAYER_NUM)-200LESIZE,ALL,,,5,5,,,,1CMSEL,S,BEDROCKASLV,SLSLA,SLSEL,U,TAN1,ZLSEL,R,LOC,Z,ELEVATION(1),ELEVATION(LAYER_NUM)LESIZE,ALL,,,3,CMSEL,S,BEDROCKASLV,SLSLA,SLSEL,R,LOC,Z,-50,-1000LSEL,R,LOC,Y,-10,PY4CSYS,11LSEL,U,LOC,X,ARCH_RAD(1,1)LSEL,U,LOC,X,ARCH_RAD(1,1)-T_ARCH(LAYER_NUM)CSYS,0LSEL,R,LENGTH,,T_ARCH(LAYER_NUM)-5,T_ARCH(LAYER_NUM)+3,LESIZE,ALL,,,5,CSYS,0CMSEL,S,BEDROCKASLV,SLSLA,SLSEL,R,LOC,Z,ELEVATION(LAYER_NUM)-50,ELEVATION(LAYER_NUM)-1000LSEL,R,LOC,X,PX2,PX1LESIZE,ALL,,,20,CMSEL,S,BEDROCKMAT,2VMESH,ALL!单元划分完毕ALLSELNUMMRG,ALLNUMCMP,ALLSAVE==============================定义边界条件,顺河向约束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,ZNSEL,S,LOC,X,NXMAXNSEL,A,LOC,X,NXMIND,ALL,UX,0!约束上下游边界X向位移NSEL,S,LOC,Y,NYMAXNSEL,A,LOC,Y,NYMIND,ALL,UY,0!约束左右边界Y向位移NSEL,S,LOC,Z,NZMIND,ALL,ALL,0!约束底面边界Z向位移NSEL,ALL==============================施加水荷载,淤沙压力,坝体自重复制内容到剪贴板代码:!大坝荷载ALLSELCMSEL,S,DAMCMSEL,U,ZHADUNASLV,SCSYS,11ASEL,R,LOC,X,ARCH_RAD(1,1)-0.1,ARCH_RAD(1,1)+0.1 NSLA,S,1CM,N_DAMUP,NODE!定义大坝上游面节点CSYS,0ALLSELCMSEL,S,DAMASLV,SASEL,R,EXTLSLA,SLSEL,R,LOC,X,0LSEL,U,LOC,Y,-0.1,0.1LSEL,U,LOC,Z,ELEVATION(2)LSEL,U,LOC,Z,ELEVATION(LAYER_NUM)ASLL,SASEL,U,LOC,X,0LSLA,SNSLA,S,1CM,N_DAMDOWN,NODE!定义大坝下游面节点ALLSELCMSEL,S,YLYYASLV,SCSYS,11ASEL,R,LOC,X,ARCH_RAD(1,1)-0.1,ARCH_RAD(1,1)+0.1 ASEL,U,,,291,326,326-291NSLA,S,1CM,N_ZHADUN1,NODE!定义溢流坝中墩节点ASEL,S,,,291,326,326-291NSLA,S,1CM,N_ZHADUN2,NODE!定义溢流坝边墩节点CSYS,0*IF,Z_UP,NE,ELEVATION(LAYER_NUM),THENCMSEL,S,N_DAMUPNSEL,R,LOC,Z,0,Z_UP/PSF,PRES,NORM,2,0.1SFGRAD,PRES,0,Z,0,-9.81SF,ALL,PRESS,Z_UP*9.81!施加大坝上游面水压力*ENDIF*IF,Z_UP,GT,ELEVATION(2),THENCMSEL,S,N_ZHADUN1NSEL,R,LOC,Z,ELEVATION(2),Z_UPSFGRAD,PRES,0,Z,0,-(W_WEIR+W_WALL)/W_WALL*9.81SF,ALL,PRESS,Z_UP*(W_WEIR+W_WALL)/W_WALL*9.81!施加中墩水压力,包含闸门传递的水压力CMSEL,S,N_ZHADUN2NSEL,R,LOC,Z,ELEVATION(2),Z_UPSFGRAD,PRES,0,Z,0,-(W_WEIR/2+W_WALL)/W_WALL*9.81SF,ALL,PRESS,Z_UP*(W_WEIR/2+W_WALL)/W_WALL*9.81!施加边墩水压力,包含闸门传递的水压力*ENDIF*IF,Z_SAND,GT,ELEVATION(LAYER_NUM),THENSFCUM,PRES,ADD!荷载为累加方式CMSEL,S,N_DAMUPNSEL,R,LOC,Z,0,Z_SAND*AFUN,DEGSAND_GRADS=DENS_SAND*(TAN(45-ANG_FRI/2))**2*9.81!计算淤沙压力梯度SFGRAD,PRES,0,Z,0,-SAND_GRADSSF,ALL,PRESS,Z_SAND*SAND_GRADS!施加淤沙压力SFCUM,PRES,REPL!荷载为替代方式*ENDIFALLSEL*IF,Z_DOWN,NE,ELEVATION(LAYER_NUM),THENCMSEL,S,N_DAMDOWNNSEL,R,LOC,Z,0,Z_DOWNSFGRAD,PRES,0,Z,0,-9.81SF,ALL,PRESS,Z_DOWN*9.81!施加大坝下游面水压力*ENDIFALLSELACEL,0,0,1!施加大坝自重荷载SAVE==============================施加温度体荷载复制内容到剪贴板代码:!施加大坝温度荷载CMSEL,S,DAMNSLV,S,1*GET,NCOUNT_DAM,NODE,,COUNT*GET,NMIN_DAM,NODE,,NUM,MINTUNIF,0,TREF,0,NTT=NMIN_DAM*DO,II,1,NCOUNT_DAMZ_NTT=NZ(NTT)!ZZ_TEMP=ELEVATION(1)-Z_NTT!到坝基高度TL_ARCH=T2_ARCH(Z_TEMP)!拱厚CSYS,11X_NTT=NX(NTT)!X:距顶拱圆心距离CSYS,0RAD0=Y_RAD(Z_TEMP)!圆心到坝轴线距离RAD1=RADUP(Z_TEMP)!外半径LXUP=RAD_CEN(1)-RAD0+RAD1-X_NTTTTT1=TEMPUP(Z_TEMP)TTT2=TEMPDOWN(Z_TEMP)TTT=TTT1+(TTT2-TTT1)/TL_ARCH*LXUPBF,NTT,TEMP,TTT*IF,II,LT,NCOUNT_DAM,THENNTT=NDNEXT(NTT)*ENDIF*ENDDO==============================计算求解,采用PCG求解器ALLSELSAVEEQSLV,PCG,1E-8SOLVESAVEFINI最大变形2cm,位于拱冠梁顶,与拱梁分载法一致。