ANSYS拱坝建模命令流

更新时间:2023-05-18 00:57:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

ANSYS拱坝建模命令流

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,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))!坝顶左弦长

ANSYS拱坝建模命令流

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

ANSYS拱坝建模命令流

*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

ANSYS拱坝建模命令流

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

==============================

ANSYS拱坝建模命令流

生成溢流堰复制内容到剪贴板

代码:

CMSEL,S,DAM

VSEL,R,LOC,Z,ELEVATION(1)-0.1,ELEVATION(2)+0.1

/VIEW,1,1,1,1

VPLOT

!生成溢流堰,为便于建模和施加荷载,与实际不太相符,根据圣维南原理,对大坝的总体应力不会有太大影响

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

ANSYS拱坝建模命令流

*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

ANSYS拱坝建模命令流

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

ANSYS拱坝建模命令流

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

ANSYS拱坝建模命令流

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

ANSYS拱坝建模命令流

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

ANSYS拱坝建模命令流

*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*(TA

N(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

ANSYS拱坝建模命令流

==============================

施加温度体荷载复制内容到剪贴板

代码:!施加大坝温度荷载

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

最大变形2cm,位于拱冠梁顶,与拱梁分载法一致。

本文来源:https://www.bwwdw.com/article/8es4.html

Top