- 积分
- 1
- 注册时间
- 2006-11-18
- 仿真币
-
- 最后登录
- 1970-1-1
|
我正在做一个变厚度的抛物线双曲拱坝的模型,编写的命令流运行没有得到希望的结果请高手大虾给检查和指点下:下面是我自己编写的生成KP命令流文件,结果只生成了44个点,中间好多没有生成。
FINI
/CLEAR,START
/FILNAME,ARCHDAM—MODLE
/PLOPTS,DATE,0 !不在屏幕上显示ansys标记
/TRIAD,LBOT
*AFUN,DEG !定义角度单位
NUM=8 ! 定义拱层数
*DIM,ELEVATION,ARRAY, NUM !定义拱圈高程 (维数为8的一维数组)
*DIM,Tc,ARRAY, NUM !定义拱冠厚度
*DIM,ARCH_RAD,ARRAY, NUM,2 !定义拱冠左、右曲率半径 (2维数组8×2)
*DIM,RAD_CEN,ARRAY, NUM !定义中心Y值
*DIM,ARCH_ANGLE,ARRAY,NUM,2 !定义左右中心角
*DIM,Ta,ARRAY, NUM,2 !定义拱端厚度
*DIM,Barch,ARRAY, NUM !定义拱冠截距
ELEVATION(1)=2460.0,2430.0,2400.0,2360.0,2320.0,2280.0,2240.0,2210.0 !拱圈高程
H_DAM=ELEVATION(1)-ELEVATION(NUM) !坝高
Tc(1)=8.0,12.918,17.400,23.073,28.873,35.310,42.903,49.661 !拱冠厚度
ARCH_RAD(1,1)=308.982,240.031,187.593,139.621,112.028,99.583,97.459,99.345
!左拱冠曲率半径
ARCH_RAD(1,2)=330.798,250.175,190.595,138.549,111.102,100.933,100.721,102.693
! 右拱冠曲率半径
ARCH_ANGLE(1,1)=38.083,40.452,42.213,46.003,48.227,43.712,31.718,26.5 !左中心角
ARCH_ANGLE(1,2)=32.298,37.344,42.508,45.836,49.230,46.018,34.615,25.4 !右中心角
Ta(1,1)=8.001,24.331,37.596,50.800,59.593,64.234,65.306,70 ! 左拱端厚度
Ta(1,2)=8.001,29.471,44.621,56.899,62.525,64.118,64.229,68 ! 右拱端厚度
Barch(1)=0.000,-8.134,-15.007,-22.051,-27.411,-30.518,-31.660,-31.271
!定义拱冠截距
!/PNUM,KP,1 ! 控制关键点编号从1开始
!/PNUM,LINE,1 ! 控制直线编号从1开始
/PREP7
KNN=0
*DO,ii,1,num !生成拱坝控制关键点,
A4= arch_angle(num+1-ii,1)
A5= arch_angle(num+1-ii,2)
A6=ELEVATION(NUM+1-II)-ELEVATION(1)
A1=NINT(A4/10)
A2=NINT(A5/10)
*IF,A1,LE,A4/10,THEN
*ELSE
A1=A1-1
*ENDIF
*IF,A2,LE,A5/10,THEN
*ELSE
A2=A2-1
*ENDIF
A3=A1+A2+3
!拱圈左厚度
TL=Ta(num+1-ii,1)
B=2*ARCH_RAD(num+1-ii,1)
PX1=B*TAN(A4)/2+TL*SIN(A4)/2
PY1=Barch(num+1-ii)+B*(TAN(A4))**2-TL*COS(A4)/2
PX2=B*TAN(A4)/2-TL*SIN(A4)/2
PY2= Barch(num+1-ii)+B*(TAN(A4))**2+TL*COS(A4)/2
K,KNN+1,PX1,PY1,A6
K,KNN+1+A3,PX2,PY2,A6
B1=1
*do,j,A1*10,10,-10
TL=Tc(num+1-ii)+(Ta(num+1-ii,1)- Tc(num+1-ii))*(j/A4)**1.75
PX3=B*TAN(j)/2+TL*SIN(j)/2
PY3= Barch(num+1-ii)+B*(TAN(j))**2-TL*COS(j)/2
PX4=B*TAN(j)/2-TL*SIN(j)/2
PY4=Barch(num+1-ii)+B*(TAN(j))**2+TL*COS(j)/2
K,KNN+1+B1,PX3,PY3,A6
K,KNN+1+A3+B1,PX4,PY4,A6
B1=B1+1
*enddo
B=2*ARCH_RAD(num+1-ii,2)
C1=1
*do,J,0,-A2*10,-10
TR=Tc(num+1-ii)+(Ta(num+1-ii,2)-Tc(num+1-ii))*(J/A5)**1.75
PX5=B*TAN(J)/2+TR*SIN(J)/2
PY5=Barch(num+1-ii)+B*(TAN(J))**2-TR*COS(J)/2
PX6=B*TAN(J)/2-TR*SIN(J/2)/2
PY6=Barch(num+1-ii)+B*(TAN(J))**2+TR*COS(J)/2
K,KNN+B1+C1,PX5,PY5,A6
K,KNN+B1+A3+C1,PX6,PY6,A6
C1=C1+1
*ENDDO
TR=Ta(num+1-ii,2)
PX7=B*TAN(-A5)/2+TR*SIN(-A5)/2
PY7=Barch(num+1-ii)+B*(TAN(-A5))**2-TR*COS(-A5)/2
PX8=B*TAN(-A5)/2-TR*SIN(-A5)/2
PY8=Barch(num+1-ii)+B*(TAN(-A5))**2+TR*COS(-A5)/2
K,KNN+B1+C1,PX7,PY7,A6
K,KNN+B1+A3+C1,PX8,PY8,A6
KNN=A3*2
*ENDDO |
|