梯形水坝的有限元分析.docx
- 文档编号:1645253
- 上传时间:2022-10-23
- 格式:DOCX
- 页数:19
- 大小:306.61KB
梯形水坝的有限元分析.docx
《梯形水坝的有限元分析.docx》由会员分享,可在线阅读,更多相关《梯形水坝的有限元分析.docx(19页珍藏版)》请在冰豆网上搜索。
梯形水坝的有限元分析
一题目
下图为一梯形水坝,载荷沿厚度均匀分布,其尺寸如图所示,厚度t=1m,弹性模量E=79G,泊松μ=0.3,容重ρ=3200.
二划分单元及载荷处理
三输入数据
1.基本参数
单元数NE=40;
节点数NJ=30;
支撑数NZ=14;
节点载荷数NPJ=7;
半宽带DD=14;
节点位移数NJ2=NJ*2=60;
2.其他参数
问题类型码LXM,LXM=
弹性常数E,弹性模量EO=79,泊松比μ,MU=0.3;
容重ρ,LOU=3200;
板厚t,TE=1;
节点坐标数组AJZ.
AJZ(NJ,2)=
AJZ(NJ,2)中的元素按节点整体码顺序输入,数组行号为节点整体码,每个节点的坐标值存一行,第一列存x的值.如=AJZ(2,1)=AJZ(4,2).
节点码数组JM
JM(NE,3)=
JM(NE,3)中的元素按单元输入。
单元号为行号,每个单元的整体码存一行,局部码为列号,局部码对应的整体码存放在相应的列。
支撑数组NZC.
NZC(NZ)=
NZC(NZ)中的元素按支撑对应的位移数从小到大排列。
节点载荷数组PJ
PJ(NPJ+1,2+1)=
PJ(NPJ,2)中的元素排列原则为:
一个节点载荷存一行,同一行中第一列是节点载荷值,第二列是载荷对应的位移数。
四程序及结果
#include
#include
#defineNE40
#defineNJ30
#defineNZ10
#defineNPJ7
#defineNJ260
#defineDD14
intLXM=1;
doubleEO=79000000000;
doubleMU=0.3;
doubleLOU=3200;
doubleTE=1.0;
//节点坐标数组
doubleAJZ[NJ+1][3]={{0,0,0},{0,0,0},{0,1.5,0},{0,3,0},{0,4.5,0},{0,6,0},\
{0,0,1.5},{0,1.5,1.5},{0,3,1.5},{0,4.5,1.5},{0,5.25,1.5},{0,0,3},{0,1.5,3},\
{0,3,3},{0,4.5,3},{0,4.85,3},{0,0,4.5},{0,1.5,4.5},{0,3,4.5},{0,4.5,4.5},\
{0,0,6},{0,1.5,6},{0,3,6},{0,4.275,6},{0,0,7.5},{0,1.5,7.5},{0,3,7.5},\
{0,3.75,7.5},{0,0,9},{0,1.5,9},{0,3,9}};
//单元节点码数组
intJM[NE+1][4]={{0,0,0,0},{0,1,7,6},{0,1,2,7},{0,2,8,7},{0,2,3,8},{0,3,9,8},\
{0,3,4,9},{0,4,10,9},{0,4,5,10},{0,6,12,11},{0,6,7,12},{0,7,13,12},{0,7,8,13},\
{0,8,14,13},{0,8,9,14},{0,9,15,14},{0,9,10,15},{0,11,17,16},{0,11,12,17},\
{0,12,18,17},{0,12,13,18},{0,13,19,18},{0,13,14,19},{0,14,15,19},{0,16,21,20},\
{0,16,17,21},{0,17,22,21},{0,17,18,22},{0,18,23,22},{0,18,19,23},{0,20,25,24},\
{0,20,21,25},{0,21,26,25},{0,21,22,26},{0,22,27,26},{0,22,23,27},{0,24,29,28},\
{0,24,25,29},{0,25,30,29},{0,25,26,30},{0,26,27,30}};
intNZC[NZ+1]={0,1,2,3,4,5,6,7,8,9,10};
doublePJ[NPJ+1][2+1]={{0,0,0},{0,207637.5,1},{0,339937.5,11},{0,229687.5,21},
{0,141487.5,31},{0,75337.5,41},{0,31237.5,47},{0,4900,55}};
doubleAE,KZ[NJ2+1][DD+1],P[NJ2+1],S[3+1][6+1],KE[6+1][6+1];
intIE,JE,ME;
voidDUGD(int,int);
voidmain()
{
intNJ1,k,IN,IM,jn,m,i,j,z,J0,ii,jj,h,dh,E,l,zl,dl;
doublePE,c,SIG1,SIG2,SIG3,PYL,RYL,MAYL,MIYL,CETA;
doubleWY[6+1],YL[3+1];
//?
÷?
?
?
?
?
?
DUGD?
¨?
?
?
?
ú?
?
KZ?
?
?
ó:
for(i=0;i<=NJ2;i++)
{
for(j=0;j<=DD;j++)
KZ[i][j]=0.0;
}
for(E=1;E<=NE;E++)
{
DUGD(E,3);
for(i=1;i<=3;i++)
{
for(ii=1;ii<=2;ii++)
{
h=2*(i-1)+ii;
dh=2*(JM[E][i]-1)+ii;
for(j=1;j<=3;j++)
{
for(jj=1;jj<=2;jj++)
{
l=2*(j-1)+jj;
zl=2*(JM[E][j]-1)+jj;
dl=zl-dh+1;
if(dl>0)
KZ[dh][dl]=KZ[dh][dl]+KE[h][l];
}
}
}
}
}
for(i=1;i<=NJ2;i++)
P[i]=0.0;
if(NPJ>0)
{
for(i=1;i<=NPJ;i++)
{
j=(int)PJ[i][2];
P[j]=PJ[i][1];
}
}
if(LOU>0)
{
for(E=1;E<=NE;E++)
{
DUGD(E,1);
PE=-LOU*(AE)*TE/3;
P[2*IE]=P[2*IE]+PE;
P[2*JE]=P[2*JE]+PE;
P[2*ME]=P[2*ME]+PE;
}
}
for(i=1;i<=NZ;i++)
{
z=NZC[i];
KZ[z][1]=1.0;
for(j=2;j<=DD;j++)
KZ[z][j]=0.0;
if(z!
=1)
{
if(z>DD)J0=DD;
elseJ0=z;
for(j=2;j<=J0;j++)
KZ[z-j+1][j]=0.0;
}
P[z]=0.0;
}
NJ1=NJ2-1;
for(k=1;k<=NJ1;k++)
{
if(NJ2>k+DD-1)
IM=k+DD-1;
elseIM=NJ2;
IN=k+1;
for(i=IN;i<=IM;i++)
{
l=i-k+1;
c=KZ[k][l]/KZ[k][1];
jn=DD-l+1;
for(j=1;j<=jn;j++)
{
m=j+i-k;
KZ[i][j]=KZ[i][j]-c*KZ[k][m];
}
P[i]=P[i]-c*P[k];
}
}
P[NJ2]=P[NJ2]/KZ[NJ2][1];
for(i=NJ1;i>=1;i--)
{
if(DD>NJ2-i+1)J0=NJ2-i+1;
elseJ0=DD;
for(j=2;j<=J0;j++)
{
h=j+i-1;
P[i]=P[i]-KZ[i][j]*P[h];
}
P[i]=P[i]/KZ[i][1];
}
printf("\n");
printf("JDUV\n");
for(i=1;i<=NJ;i++)
{
printf("%2d%-9.6f%9.6f\n",i,P[2*i-1],P[2*i]);
}
for(E=1;E<=NE;E++)
{
DUGD(E,2);
for(i=1;i<=3;i++)
{
for(j=1;j<=2;j++)
{
h=2*(i-1)+j;
dh=2*(JM[E][i]-1)+j;
WY[h]=P[dh];
}
}
for(i=1;i<=3;i++)
{
YL[i]=0;
for(j=1;j<=6;j++)
YL[i]=YL[i]+S[i][j]*WY[j];
}
SIG1=YL[1];
SIG2=YL[2];
SIG3=YL[3];
PYL=(SIG1+SIG2)/2;
RYL=sqrt(pow((SIG1-SIG2)/2.0,2)+pow(SIG3,2));
MAYL=PYL+RYL;
MIYL=PYL-RYL;
if(SIG2==MIYL)
CETA=0;
else
CETA=90-57.29578*atan2(SIG3,(SIG2-MIYL));
printf("\n");
printf("E=%2d\n",E);
printf("sx=%-18.6fsy=%-18.6ftou=%-18.6f\n",SIG1,SIG2,SIG3);
printf("s1=%-18.6fs2=%-18.6ftheta=%-18.6f\n",MAYL,MIYL,CETA);
}
}
//DUGD?
?
?
?
:
voidDUGD(intE,intASK)
{
if(LXM!
=0)
{
EO=EO/(1.0-MU*MU);
MU=MU/(1.0-MU);
}
doubleB[3+1][6+1],D[3+1][3+1];
inti,j,k;
doubleCM,BM,CJ,BJ;
IE=JM[E][1];
JE=JM[E][2];
ME=JM[E][3];
CM=AJZ[JE][1]-AJZ[IE][1];
BM=AJZ[IE][2]-AJZ[JE][2];
CJ=AJZ[IE][1]-AJZ[ME][1];
BJ=AJZ[ME][2]-AJZ[IE][2];
AE=(BJ*CM-BM*CJ)/2.0;
if(ASK>1)
{
for(i=1;i<=3;i++)
for(j=1;j<=6;j++)
B[i][j]=0.0;
B[1][1]=(-BJ-BM)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 梯形 水坝 有限元分析
![提示](https://static.bdocx.com/images/bang_tan.gif)