Professional Documents
Culture Documents
/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
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