单层网壳稳定分析中的问题
考虑初始缺陷的非线性屈曲分析中,调完参数后,SOLVE,但是系统提示,A check of your load data produced 1 warnings.请问各位大佬是怎么回事、这也是《空间钢结构APDL参数化计算与分析》P150页的内容,求解!!!!(1)运行自动建模程序,形成模型文件MODE.DB;
!(2)运行等效节点荷载程序,输入单位面荷载,形成EQUIFORCE.MAC文件;
!(3)获得静力解
/CLEAR
RESUME,MODE,DB,,0,0
/SOLU
*USE,EQUIFORCE.MAC !调用EQUIFORCE.MAC,以施加等效节点荷载
ANTYPE,0 !设置求解类型为静力分析
EQSLV,SPAR !选择稀疏矩阵直接求解器
PSTRES,ON !打开预应力选项
SOLVE
FINISH
!(4)获得特征值屈曲解
/SOLU
ANTYPE,1 !设置类型为特征值屈曲分析
BUCOPT,LANB,3 !设置屈曲模态提取方法及模态提取数`
MXPAND,3,0,0,1,0.001 !设置屈曲模态扩展数及扩展算法选项
SOLVE
FINISH
!(5)读取一阶频率值
/POST1
SET,LIST !列表显示模型的固有频率,查看一阶频率
FINISH
!(6)考虑初始缺陷
/PREP7
UPGEOM,0.1,1,1,file,RST, !以一阶模态位移值的0.1修改原模型节点坐标,其中file为本程序的文件名
FINISH
!(7)施加极限荷载,以一阶模态屈曲荷载的1.3(可变动)倍作为极限荷载施加在结构上
/SOLU
FDELE,ALL,ALL !(自添的)删除所有荷载
ALLSEL,ALL !(自添的)选中所有图素
FCUM,ADD !设定集中力叠加施加于节点
*DO,i,1,15,1 !将单位荷载施加15次,即施加1.3倍屈曲荷载
*USE,EQUIFORCE.MAC
*ENDDO
!(8)进行非线性屈曲分析
ALLSEL,ALL !(自添的)选中所有图素
ANTYPE,0
NLGEOM,1 !打开大变形选项
NROPT,FULL !(自添的)采用自适应下降法
AUTOTS,ON !(自添的)采用自动时间步
OUTRES,ALL,ALL !将所有子步的内容写入数据库或文件中
ARCLEN,1,0,0 !打开弧长法选项
ARCTRM,U,1,1,UZ !设定顶点1的竖向位移至1m时结束运算
NSUBST,100 !设定子步数
SOLVE 建立网壳的过程:和课本上完全一样
*AFUN,DEG !在角度函数的输入与输出中使用度为单位
/PREP7
!(1)用户界面设计,输入基本几何参数
MULTIPRO,'START',4 !生成多行提示对话框
*CSET,1,3,f,'Rise f=(m)',8 !输入矢高f
*CSET,4,6,Span,'Span=(m)',40 !输入跨度Span
*CSET,7,9,Kn,'Radial Number(input even)=',6 !输入环向分割的份数Kn
*CSET,10,12,Nx,'Node Circle Number Nx=',5 !输入环杆圈数Nx
*CSET,61,62,'Please input geometry parameters of the shell.'
!在对话框顶部显示提示“Please input geometry parameters of the shell”
MULTIPRO,'END'
!(2)计算节点坐标位置,并定义节点
CSYS,2 !转换为球面坐标系
R=(Span*Span/4+f*f)/(2*f) !根据矢高和跨度计算曲面半径
Dpha=Atn(Span/2/Sqrt(R*R-Span*Span/4))/Nx !计算相邻两圈环杆对应的球心夹角Dpha
N,1,R,0,90 !定义顶点1号节点的位置坐标为(R,0,90)
*DO,i,1,Nx
*DO,j,1,Kn*i
x=R
y=(j-1)*360/(Kn*i) !各圈上的节点数目为Kn的倍数
z=90-i*Dpha
N,1+Kn*(i-1)*i/2+j,x,y,z
*ENDDO
*ENDDO
!(3)定义单元类型及实常数
RTNUM=1 !可输入的实常数类型的最大数(为节省篇幅,本例只输入一种实常数类型)
*DIM,AREAIN,ARRAY,RTNUM !定义杆件截面面积数组
*DIM,IZZIN,ARRAY,RTNUM !定义面积惯性矩数组
*DIM,IYYIN,ARRAY,RTNUM !定义面积惯性矩数组
*DIM,TKZIN,ARRAY,RTNUM !定义截面沿Z轴的高度数组
*DIM,TKYIN,ARRAY,RTNUM !定义截面沿Y轴的高度数组
*DIM,THETAIN,ARRAY,RTNUM !定义杆件轴线与X轴夹角数组
*DIM,ISTRNIN,ARRAY,RTNUM !定义初始应变数组
*DIM,IXXIN,ARRAY,RTNUM !定义扭矩数组
*DIM,SHEARZIN,ARRAY,RTNUM !定义剪切变形常量数组
*DIM,SHEARYIN,ARRAY,RTNUM !定义剪切变形常量数组
MULTIPRO,'START',1 !生成单元类型选择对话框
*CSET,1,3,eltype,'Link8 Input 0,Beam4 Input 1',1 !选择单元类型,输入0为选择link8,输入1为选择beam4
*CSET,61,62,'Element Type 1 Option:'
MULTIPRO,'END'
*IF,eltype,EQ,0,THEN !若输入0,即eltype=0
ET,1,LINK8
*ENDIF
*IF,eltype,EQ,1,THEN !若输入1,即eltype=1
ET,1,BEAM4
*ENDIF
MULTIPRO,'START',10 !生成第一类实常数R1输入对话框
*CSET,1,3,AREAIN(1),'Section Area(mm^2),AREA(1)=',239e-5
*CSET,4,6,IZZIN(1),'Area moment of inertia,IZZ(1)=',62443e-10
*CSET,7,9,IYYIN(1),'Area moment of inertia,YZZ(1)=',62443e-10
*CSET,10,12,TKZIN(1),'Thickness along Z asis,TKZ(1)=',152e-3
*CSET,13,15,TKYIN(1),'Thickness along Y asis,TKY(1)=',152e-3
*CSET,16,18,THETAIN(1),'Orientation about X asis,THEAT(1)=',0
*CSET,19,21,ISTRNIN(1),'Initial strain,ISTRN(1)=',0
*CSET,22,24,IXXIN(1),'Torisonal moment of inertia,IXX=(1)',0
*CSET,25,27,SHEARZIN(1),'Shear deflection const Z,SHEARZ(1)=',0
*CSET,28,30,SHEARYIN(1),'Shear deflection const Y,SHEARY(1)=',0
*CSET,61,62,'Input Real Constant 1:'
*CSET,63,64,'Just input AREA if link8 was used:'
!若选择杆单元只需输入截面面积
MULTIPRO,'END'
*DO,i,1,RTNUM !利用数组定义单元实常数
*IF,eltype,eq,0,then
R,i,AREAIN(i) !定义杆单元截面面积
*ENDIF
*IF,eltype,eq,1,then
R,i,AREAIN(i),IZZIN(i),IYYIN(i),TKZIN(i),TKYIN(i),THETAIN(i),ISTRNIN(i),IXXIN(i),SHEARZIN(i),SHEARYIN(i),, !定义梁单元截面实常数
*ENDIF
*ENDDO
MULTIPRO,'START',3
*CSET,1,3,EXIN,'Elasticity(GPA),EX=',2.1e11 !输入弹性模量EX
*CSET,4,6,PRXYIN,'Passion Ratio,PRXY=',0.3 !输入泊松比PRXY
*CSET,7,9,DENSIN,'Dens of steel,DENS=',7850 !输入材料的密度DENS
*CSET,61,62,'Input Material Property:'
MULTIPRO,'END'
MP,EX,1,EXIN !定义第1类材料的弹模EX、泊松比、密度
MP,PRXY,1,PRXYIN
MP,DENS,1,DENSIN
!(4)定义单元连接
MULTIPRO,'START',3 !生成材料属性输入对话框
*CSET,1,3,TYPEIN,'Element Type Number',1
*CSET,4,6,MATIN,'Material Type Number',1
*CSET,7,9,REALIN,'Real Constance Number',1
*CSET,61,62,'Input Material Type number:'
MULTIPRO,'END'
TYPE,TYPEIN !设置单元类型
MAT,MATIN !设置材料属性类型
REAL,REALIN !设置实常数类型
!环向杆连接
*DO,i,1,Nx
*DO,j,1,Kn*i-1 !第1~Kn*i-1对称区的节点循环
E,1+Kn*(i-1)*i/2+j,1+Kn*(i-1)*i/2+j+1
*ENDDO
E,1+Kn*(i-1)*i/2+1,1+Kn*(i-1)*i/2+Kn*i !连接最后一对称区的环杆
*ENDDO
!径向的单元连接
*DO,i,1,Kn !对各对称区循环
E,1,1+i !定义中心处径向杆单元
*ENDDO
*DO,j,1,Nx-1 !从里圈向外圈循环
*DO,k,1,Kn !从各对称区循环
*DO,i,1,j+1 !对称区内循环
*IF,i,eq,j+1,THEN !判断是当前对称区的最后一根杆
*IF,k,EQ,Kn,THEN
E,1+Kn*(j-1)*j/2+1,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i !j圈第1个节点和j+1圈最后1个节点
*ELSE
E,1+Kn*(j-1)*j/2+(k-1)*j+i,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i !一般区内的最后一根连杆
*ENDIF
*ELSE
E,1+Kn*(j-1)*j/2+(k-1)*j+i,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i !一般正向连杆
*ENDIF
*ENDDO
*DO,i,1,j
E,1+Kn*(j-1)*j/2+(k-1)*j+i,1+Kn*(j+1)*j/2+(k-1)*(j+1)+i+1 !一般负向连杆
*ENDDO
*ENDDO
*ENDDO
!(5)定义边界约束和节点荷载
*DO,i,1,1+Kn*(Nx-1)*Nx/2+Kn*Nx
*IF,i,GT,1+Kn*(Nx-1)*Nx/2,THEN
D,i,all,0
*ENDIF
*ENDDO
!(6)保存文件模型
SAVE,MODE,DB,,ALL
求等效荷载的过程如下:和书上也是一样
!(1)定义面单元surf154
FINISH
/CLEAR
RESUME,MODE,DB,,0,0 !调用凯威特网壳模型
/PREP7
LOCAL,11,0,0,0,0 !定义局部坐标系以便施加竖直向下的荷载
ET,10,SURF154,,1,,1 !定义面单元surf154
R,10,,,,,,,0.1,0.1,0.1
MP,DENS,10,0 !设置材料密度
TYPE,10
MAT,10 !设置材料属性
REAL,10
ESYS,11 !设置单元坐标系为平行于局部坐标系11的坐标系
ENUMmax1=ELMIQR(0,14)+1 !找到最后一个杆单元编号,便于知道第一个面单元的编号
*DO,j,1,Kn-1 !连接第一圈顶点的三角形单元
E,1,j+1,j+2
*ENDDO
E,1,Kn+1,2
*DO,i,1,Nx-1 !从里圈第2圈开始向最外圈循环
*DO,j,1,Kn !对各个对称区循环
*DO,k,1,i+1 !对每个对称区杆循环
*IF,k,eq,i+1,then !如果是当前对称区的最后一根杆
*IF,j,eq,Kn,then !如果是最后一个对称区
E,1+Kn*(i-1)*i/2+1,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k,1+Kn*(i+1)*i/2+1
*ELSE
E,1+Kn*(i-1)*i/2+(j-1)*i+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k+1
*ENDIF
*ELSE
E,1+Kn*(i-1)*i/2+(j-1)*i+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k+1
*ENDIF
*ENDDO
*DO,k,1,i !负向连杆
*IF,k,eq,i,then
*IF,j,eq,Kn,then
E,1+Kn*(i-1)*i/2+(j-1)*i+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k+1,1+Kn*(i-1)*i/2+1
*ELSE
E,1+Kn*(i-1)*i/2+(j-1)*i+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k+1,1+Kn*(i-1)*i/2+(j-1)*i+k+1
*ENDIF
*ELSE
E,1+Kn*(i-1)*i/2+(j-1)*i+k,1+Kn*(i+1)*i/2+(j-1)*(i+1)+k+1,1+Kn*(i-1)*i/2+(j-1)*i+k+1
*ENDIF
*ENDDO
*ENDDO
*ENDDO
ENUMmax2=ELMIQR(0,14) !找到最后一个面单元的编号
!(2)约束所有节点
*DO,i,1,1+Kn*(Nx-1)*Nx/2+Kn*Nx
D,i,UX,0
D,i,UY,0
D,i,UZ,0
*ENDDO
!(3)施加面荷载
MULTIPRO,'START',1 !生成荷载输入对话框
*CSET,1,3,P,'Surface Load(N/m2)',2000 !注意施加荷载的符号应与实际荷载方向反号
*CSET,61,62,'Please Input Surface Load Value(reverse):'
MULTIPRO,'END'
*DO,i,ENUMmax1,ENUMmax2,1 !对所有面单元施加面荷载
SFE,i,3,PRES,,P
*ENDDO
!(4)求解节点荷载
FINISH
/SOLU !进入求解器
SOLVE
FINISH
/POST1 !进入后处理器
SET,LAST
!(5)提取等效节点荷载
RSYS,0 !将结果坐标系旋转到笛卡尔坐标系下
*GET,Numnode,NODE,,num,max
*DIM,Force_X,,Numnode !定义X向支座反力组
*DIM,Force_Y,,Numnode
*DIM,Force_Z,,Numnode
*DO,i,1,Numnode,1 !提取各节点支座反力植赋给支座反力数组
*GET,Force_X(i),NODE,i,RF,FX
*GET,Force_Y(i),NODE,i,RF,FY
*GET,Force_Z(i),NODE,i,RF,FZ
*ENDDO
!(6)编写施加等效节点荷载的宏命令文件
*DIM,Array_PreName,CHAR,Numnode !定义一维字符串型数组
*DIM,Node_Num,ARRAY,Numnode !定义一维数组作为节点号数组
*DIM,Array_PostName,CHAR,Numnode,3 !定义三维字符串数组
*DO,i,1,Numnode
*SET,Array_PreName(i),'f,' !给一维字符串赋字符串“f,”
*SET,Node_Num(i),i !给节点号数组赋节点编号
*SET,Array_PostName(i,1),',fx,' !给三维字符串数组的第一、二、三列赋字符串“,fx,”fyfz
*SET,Array_PostName(i,2),',fy,'
*SET,Array_PostName(i,3),',fz,'
*ENDDO
*CREATE,GUODUWENJIAN,MAC
*VWRITE,Array_PreName(1),Node_Num(1),Array_PostName(1,1),Force_X(1) !等效荷载输入X向
(a6,f6.0,a8,f16.8)
*VWRITE,Array_PreName(1),Node_Num(1),Array_PostName(1,2),Force_Y(1) !等效荷载写入Y向
(a6,f6.0,a8,f16.8)
*VWRITE,Array_PreName(1),Node_Num(1),Array_PostName(1,3),Force_Z(1) !等效荷载写入Z向
(a6,f6.0,a8,f16.8)
*END
*CFOPEN,EQUIFORCE,MAC
GUODUWENJIAN
*CFCLOS
你做的好像是该书中的例子 5.3,但是你对该例子的命令流做了很多改动,估计是改动中有的地方与原意不符。命令流内容太多,你自己检查一下吧。
页:
[1]