作业有限元Word下载.docx
- 文档编号:20064820
- 上传时间:2023-01-16
- 格式:DOCX
- 页数:16
- 大小:231.56KB
作业有限元Word下载.docx
《作业有限元Word下载.docx》由会员分享,可在线阅读,更多相关《作业有限元Word下载.docx(16页珍藏版)》请在冰豆网上搜索。
{
cout<
请输入第"
i+1<
个节点的X坐标:
cin>
X[i];
cout<
个节点的Y坐标:
Y[i];
}
doublef,y0,x0,Ix0,Iy0,F=0.0,yf,xf,jx,jy,Sx=0.0,Sy=0.0;
//将坐标原点移至第一点;
for(i=1;
i++)
X[i]=X[i]-X[0];
Y[i]=Y[i]-Y[0];
}
n-1;
f=(X[i]*Y[i+1]-Y[i]*X[i+1])/2.0;
yf=(Y[i]+Y[i+1])/3.0;
xf=(X[i]+X[i+1])/3.0;
jx=f*(Y[i]*Y[i]+Y[i]*Y[i+1]+Y[i+1]*Y[i+1])/6.0;
jy=f*(Y[i]*X[i]+X[i]*X[i+1]+X[i+1]*X[i+1])/6.0;
F=F+f;
Sx=Sx+f*yf;
Sy=Sy+f*xf;
y0=Sx/F;
x0=Sy/F;
Ix0=jx-F*y0*y0;
Iy0=jy-F*x0*x0;
y0=y0+Y[0];
x0=x0+X[0];
**********计算结果**********/n"
F="
F;
y0="
y0;
x0="
x0;
Ix0="
Ix0;
Iy0="
Iy0<
endl;
****************************"
}
四、算例:
如上图所示:
节点数N=22,节点编号如图所示。
各节点的坐标如下:
计算结果如下:
作业2:
将BASIC程序改为FORTRAN程序(或C程序)
一、流程图
二、变量说明:
L—跨度;
LB—单主梁宽;
RB—人行道宽度;
XB—行车道宽度;
DX—插值函数宽度;
NCD—车道数;
YE[350]—用来存放插值点坐标;
N—桥面板分块数;
MM—主梁数;
NN—插值点数;
WIJ[15][350]—用来存放挠度值;
ETAIJ[15][350]—用来存放影响线竖向坐标;
MCQ[15]—用来存放汽车荷载横向分布系数;
MCL[15]—用来存放履带车荷载横向分布系数;
MCG[15]—用来存放挂车荷载横向分布系数;
MCR[15]—用来存放人群荷载横向分布系数;
Y[350]—用来存放主梁Y坐标;
DE—弹性模量;
G—剪切模量;
MC[4]—记录四条车道的初始分布系数;
JX—纵向单宽抗弯惯性矩;
JY—横向单宽抗弯惯性矩;
JTXY—纵横向抗扭惯性矩之和。
三、源程序代码:
iomanip.h>
voidmain()
{
inti,N,MM=7,NN,NCD,k,m,j,IEND,IK1,IK2,IK,IL,J1,J;
doubleYE[350],Y[15],WIJ[15][350],ETAIJ[15][350],WB[350],MC[4],MCQ[15],MCG[15],MCL[15],MCR[15];
doubleDX,L,LB,RB,XB,JX,JY,JTXY,DE=1.0,DB,ALPHA,A,B,THETA,OMEGA,PHI,ETA,GAMMA,DELTA,DM,DN,C1,C2,C3,C4;
doublePSI,D1,D2,CC,SS,SC,CS,DP,DQ,DS,DR,YJ,EMM,CP,SP,CE,SE,AMM,BMM,CMM,DMM,CA,CB,SA,SB,YY,CAY,CBY,WC,SAY,SBY,EPS,AW,W;
constdoublePI=3.1415926,G=0.425,E=2.7182818;
请输入N:
cin>
N;
请输入DX:
DX;
请输入L:
//跨度
L;
请输入LB:
//单主梁宽
LB;
请输入RB:
//人行道宽
RB;
请输入XB:
//行车道宽
XB;
请输入JX:
JX;
请输入JY:
JY;
请输入JTXY:
JTXY;
DB=LB*N/2;
NN=int(2*DB/DX+0.1)+1;
//插值系数nn
NCD=int((XB+0.3)/3.1);
//车道数
if(NCD>
4)
{
NCD=4;
N="
N<
DX="
DX<
L="
L<
LB="
LB<
RB="
RB<
XB="
XB<
("
NCD<
EANE)"
JX="
JX<
JY="
JY<
JTX+JTY="
JTXY<
********Coordinatesofbeamlocation********\n"
No."
setw(10)<
Y"
for(i=0;
i++)//各主梁Y坐标
Y[i]=-DB+LB*(i-0.5);
YE[0]=-DB;
for(i=1;
NN;
i++)//插值点坐标
YE[i]=YE[0]+DX*i;
ALPHA=G*JTXY/(2*DE*sqrt(JX*JY));
A=sqrt(0.5*(1-ALPHA));
B=sqrt(0.5*(1+ALPHA));
THETA=DB*pow((JX/JY),0.25)/L;
OMEGA=THETA*PI/DB;
PHI=THETA*PI*A;
ETA=THETA*PI*B;
GAMMA=THETA*A;
DELTA=THETA*B;
DM=(2*A*A-2*B*B+1)*B*sinh(PHI)*cosh(PHI)-(2*A*A-2*B*B-1)*A*sin(ETA)*cos(ETA);
DN=(2*A*A-2*B*B+1)*B*sinh(PHI)*cosh(PHI)+(2*A*A-2*B*B-1)*A*sin(ETA)*cos(ETA);
C1=A*sin(ETA)-B*cos(ETA);
C2=A*sin(ETA)+B*cos(ETA);
C3=A*A*sin(ETA)+2*A*B*cos(ETA)-B*B*sin(ETA);
C4=A*A*cos(ETA)+2*A*B*sin(ETA)-B*B*cos(ETA);
for(k=0;
k<
NN,k++)//对插值点循环
E=YE(k);
PSI=PI*E/DB;
D1=GAMMA*PSI;
D2=DELTA*PSI;
CC=cosh(D1)*cos(D2);
SS=sinh(D1)*sin(D2);
SC=sinh(D1)*cos(D2);
CS=cosh(D1)*sin(D2);
DP=CC*C1-SS*C2;
DQ=SC*C1-CS*C2;
DS=SC*C3-CS*C4;
DR=CC*C3-SS*C4;
i++)//对主梁循环
YJ=Y[i];
WIJ[i][k]=0;
for(m=0;
m<
MM;
m=m+2)
{
EMM=1/(4*A*pow(m,3)*pow(OMEGA,3)*DE*JY);
CP=cosh(PHI);
SP=sinh(PHI);
CE=cos(ETA);
SE=sin(ETA);
AMM=EMM/DM*(CP-SP)*(DP*(A/B*CP*SE-SP*CE)+DR*(2*A*CP*CE+(A*A-B*B)/B*SP*SE));
BMM=EMM/DN*(CP-SP)*(DQ*(A/B*SP*SE-CP*CE)+DS*(2*A*SP*CE+(A*A-B*B)/B*CP*SE));
CMM=(-1.0)*EMM/DN*B*(CP-SP)*(DQ*(A/B*CP*CE+SP*SE)+DS*(-2*A*CP*SE+(A*A-B*B)/B*SP*CE));
DMM=(-1.0)*EMM/DM*B*(CP-SP)*(DP*(A/B*SP*CE+CP*SE)+DR*(-2*A*SP*SE+(A*A-B*B)/B*CP*CE));
CA=cosh(m*OMEGA*A*YJ);
CB=cos(m*OMEGA*B*YJ);
SA=sinh(m*OMEGA*A*YJ);
SB=sin(m*OMEGA*B*YJ);
YY=abs(E-YJ);
CAY=cosh(m*OMEGA*A*YY);
CBY=cos(m*OMEGA*B*YY);
SAY=sinh(m*OMEGA*A*YY);
SBY=sin(m*OMEGA*B*YY);
WC=(AMM*CA*CB+BMM*SA*CB+CMM/B*CA*SB+DMM/B*SA*SB+EMM*(CAY-SAY)*(CBY+A/B*SBY))*pow(-1,((m+1)/2));
WIJ[i][k]=WIJ[i][k]+WC;
EPS=abs(WC/WIJ[i][k]);
if(EPS<
1e-7)
break;
}
AW=0.0;
AW=AW+WIJ[i][k];
ETAIJ[i][k]=WIJ[i][k]/AW;
********Coordinatesofloadlatrelinfluenceline********\n"
setw(5)<
YE"
beam"
i;
for(j=0;
j<
j++)
setw(8)<
setprecision(3)<
YE[j];
setw(12)<
setprecision(5)<
ETAIJ[i][j];
//开始计算分布系数;
for(IL=0;
IL<
IL++)
IEND=int((XB-2.8)/DX+0.1)+1;
IK1=int(1.8/DX+0.1);
IK2=int(1.3/DX+0.1);
IK=IK1+IK2;
NCD;
i++)//对车道循环
MC[i]=0;
if(NCD<
2)//单车道;
for(i=0;
IEND;
J=int((DB-XB/2+0.5)/DX+0.1)+i;
W=(ETAIJ[IL][J]+ETAIJ[IL][J+IK1])/2;
if(W>
MC[0])
{
MC[0]=W;
}
else
if(NCD<
3)//双车道
for(i=0;
IEND-IK;
J=int((DB-XB/2+0.5)/DX+0.1)+i;
W=(ETAIJ[IL][J]+ETAIJ[IL][J+IK1]+ETAIJ[IL][J+IK]+ETAIJ[IL][J+IK+IK1])/2;
if(W>
MC[1])
{
MC[1]=W;
if(MC[0]>
MC[1]=MC[0];
else
if(NCD<
4)//三车道
for(i=0;
IEND-2*IK;
J=int((DB-XB/2+0.5)/DX+0.1)+i;
W=(ETAIJ[IL][J]+ETAIJ[IL][J+IK1]+ETAIJ[IL][J+IK]+ETAIJ[IL][J+IK+IK1]+ETAIJ[IL][J+2*IK]+ETAIJ[IL][2*IK+IK1])/2;
if(W>
MC[2])
{
MC[2]=W;
}
}
MC[2]=0.8*MC[2];
//折减系数
if(MC[1]>
MC[2]=MC[1];
else//四车道
IEND-3*IK;
W=(ETAIJ[IL][J]+ETAIJ[IL][J+IK1]+ETAIJ[IL][J+IK]+ETAIJ[IL][J+IK+IK1]+ETAIJ[IL][J+2*IK]+ETAIJ[IL][2*IK+IK1]+ETAIJ[IL][J+3*IK]+ETAIJ[IL][3*IK+IK1])/2;
MC[3])
MC[3]=W;
MC[3]=0.7*MC[3];
if(MC[2]>
MC[3]=MC[2];
MCQ(IL)=MC(NCD);
//挂车
IEND=int((XB-5.2)/DX+0.1);
MCG(IL)=0;
J=int((DB-XB/2+1.25)/DX+0.1)+i;
IK=int(0.9/DX+0.1);
W=(ETAIJ[IL][J+2*IK]+ETAIJ[IL][J+3*IK])/4;
if(W>
MCG[IL])
MCG[IL]=W;
IEND=int((XB-4.5)/DX+0.1)+1;
MCL[IL]=0;
J=int((DB-XB/2+0.65)/DX+0.1)+i;
J1=int((DB-XB/2+3.15)/DX+0.1)+i;
IK=int(0.7/DX+0.1)+1;
W=0;
for(k=0;
IK;
k++)
W=W+ETAIJ[IL][J+K]+ETAIJ[IL][J1+K];
MCK[IL])
MCL[IL]=W;
MCL[IL]=MCL[IL]/(W*2*IK);
if(RB<
0.25)
MCR[IL]=0;
continue;
J=int((DB-XB/2-RB/W)/DX+0.1)+1;
W=0;
if(ETAIJ[IL][J]>
0)
W=W+ETAIJ[IL][J];
if(ETAIJ[IL][NN-J]>
W=W+ETAIJ[IL][NN-J];
MCR[IL]=W*RB;
********Loadlateraldistributionfactor********\n"
NO."
setw(15)<
MCQ"
MCG"
MCL"
MCR"
setprecision(6)<
Y[IL]<
MCQ[IL]<
MCG[IL]<
MCL[IL]<
MCR[IL]<
*********************************"
}
四、算例:
作业三:
利用位移互等定理计算位移影响线
一、流程图:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 作业 有限元