You are on page 1of 15

/CLEAR,START

/FILENAME,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=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
*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
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
*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 T
EMPUP (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
/PREP
KNN=0
*DO,II,1,LAYER_NUM
PX1=ARCH_RAD(II,1)*SIN(ARHC_ANGLE(II,1))
PY1=ARCH_CEN(II)-ARCH_RAD(II,1)*COS(ARHC_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(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
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
*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
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

ALLSEL
NUMMRG,ALL
NUMCMP,ALL
SAVE

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 !
NSEL,S,LOC,Y,NYMAX
NSEL,A,LOC,Y,NYMIN
D,ALL,UY,0 !
NSEL,S,LOC,Z,NZMIN
D,ALL,ALL,0 !
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) 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

ALLSEL
SAVE
EQSLV,PCG,1E-8
SOLVE
SAVE
FINI

You might also like