24小时热门版块排行榜    

查看: 1328  |  回复: 7

seaspringsun

银虫 (小有名气)

[求助] matlab程序求助已有1人参与

下面这段程序,没有看懂,谁能帮忙看一下啊

%        APPENDIX   A:
%        THERMO-MECHANICAL   LOAD-TRANSFER   ANALYSIS   FOR   ENERGY   FOUNDATIONS
%
%   This   program   performs   T-z   analyses   for   an   energy   foundation
%   under   "Thermo-mechanical   loading"   based   on   the   Beta   method.
clear   all
format   long   e
%%----------------------------------------------------------------------
-%
%%---------------------------------INPUT   PARAMETERS
%%----------------------------------------------------------------------
-%
%%   SOIL   DESCRIPTION   %%
cop   =   0.3;   %c/p   ratio
gamsoil   =   18;%KN/M3
Phi   =   30;   %Drained   friction   angle
%%   FOUNDATION   DESCRIPTION   %%
L   =   10;%m
D   =   1;   %m
E   =   20000;%MPa
gampile   =        24;%KN/m3
alphat   =   10e-6;   %Coeffcient   of   thermal   expansion   for   R
%%   MECHANICAL   LOADING%%
P   =   500;%KN
%%   TEMPERATURE   CHANGE   %%
deltat   =   20;
%-----------------------------------------------------------------------
-%
%%   BETA   METHOD   PARAMETERS   %%
beta   =0.55;   %Emperical   reduction   factor
k   =   65;   %emperical   coefficient   representing   the   soil   resistance   to
expansion   of   the   foundation
%%   END   BEARING   FITTING   PARAMETERS
ab   =   0.02;
bb   =   0.9;
%%   SHEAR   RESISTANCE   FITTING   PARAMETERS
as   =   0.0035;
bs   =   0.9;
%%   HEAD-STRUCTURE   STIFFNESS
Kh=300000;%KN/m   (0.5   GPa/m   for   this   case)
%%   NUMBER   OF   ELEMENTS   %%
N   =   30;
%-----------------------------------------------------------------------
-%
%%
Ab   =   pi*D^2/4;   %   m2   -   Cross-sectional   area
Cs   =   pi*D;   %m   -   Circumference   of   pile
Wpile   =   gampile*Ab*L;   %KN   -   Weight   of   pile
Wdisp   =   gamsoil*Ab*L;   %kN   -   Weight   of   soil   displaced
Wp   =   Wpile   -   Wdisp;   %kN   -   Buoyant   unit   weight   of   pile
%-----------------------------------------------------------------------
-%
%-----------------------------------------------------------------------
-%
%%   MECHANICAL   TZ   ANALYIS   BASED   ON   "P"   %%

%   ULTIMATE   SIDE   SHEAR   RESISTANCE   %
K0=1-sin(Phi*pi/180);   %Coefficient   of   lateral   earth   pressure   at   rest
dL   =L/N;   %m   -   Length   of   each   soil   sublayer
h   =   0:dL:L;   %m   -   Depth   vector,   z=0   at   ground   surface
zmid   =   h(1:length(h)-1)+dL/2;   %m   -   Depth   of   each   soil   sublayer
sigv   =   gamsoil*zmid;   %m   -   Effecive   vertical   stress
fsM   =   beta*sigv*K0*tan(Phi*pi/180);   %KN/m2
As   =   Cs*dL*ones(length(zmid),1);%m2

69






QsM   =   fsM.*As';   %kN
QstotM   =   sum(QsM);   %kN

%   ULTIMATE   END   BEARING%
sc   =   1.2;
dc   =   1.5;
Nc   =   5;
cub   =   L*gamsoil*cop;   %KN/m2
Qp   =   cub*Ab*sc*dc*Nc;   %kN

%   ULTIMATE   CAPACITY
QuM   =   Qp   +   QstotM   -   Wp;   %kN

n   =   1:1:N;
Li   =   L/N;   %m
z   =   Li*(n-.5);   %m
Ki   =   Ab*E*1000/Li;   %KN/m
QbM   =   zeros(N,1);
QtM   =   zeros(N,1);
FsM   =   zeros(N,1);
FsmaxM   =   zeros(N,1);
pbM   =   zeros(N,1);
ptM   =   zeros(N,1);
psM   =   zeros(N,1);
QaveM   =   zeros(N,1);
deltaM   =   zeros(N,1);
sM   =   zeros(N,1);
sigmaM   =   zeros(N,1);
pb   =   0;
Dtot   =   100;
tol   =   1e-6;
PDif   =   500;   %   Previous   Difference
CDif   =   500;   %   Current   Difference
FsmaxM(1)=QsM(1);
for   k=2:1:N
FsmaxM(k)=FsmaxM(k-1)+QsM(k);
end
wxyz   =   0;
while   abs(CDif)<=   abs(PDif)
wxyz   =   wxyz   +   1;
for   i   =   N:-1:1
if   i   ==   N
deltaQt   =   10;   %Initialize   while   loop
QtM(i)   =   0;
pbM(i)   =   pb;
QbM(i)=Qp*pbM(i)/(ab+pbM(i)*bb);
%QbM(i)=0;
while   deltaQt   >   tol
QaveM(i)   =   (QtM(i)+QbM(i))/2;
deltaM(i)   =   QaveM(i)/Ki;
ptM(i)   =   pbM(i)   +   deltaM(i);
psM(i)   =   pbM(i)   +   deltaM(i)/2;   %   pt   +(pt-pb)/2;
FsM(i)   =   FsmaxM(i)*psM(i)/(as+psM(i)*bs);
QtnewM(i)   =   FsM(i)   +   QbM(i);
deltaQt   =   QtnewM(i)   -   QtM(i);
QtM(i)   =   QtnewM(i);
sM(i)   =   deltaM(i)*1e6/Li;%   micro   starin
sigmaM(i)   =   QaveM(i)/Ab;
end

else
deltaQt   =   10;   %Initialize   while   loop
pbM(i)   =   ptM(i+1);
QbM(i)   =   QtM(i+1);
70






QtM(i)   =   0;
while   deltaQt   >   tol
QaveM(i)   =   (QtM(i)+QbM(i))/2;
deltaM(i)   =   QaveM(i)/Ki;
ptM(i)   =   pbM(i)   +   deltaM(i);
psM(i)   =   pbM(i)   +   deltaM(i)/2;
FsM(i)=FsmaxM(i)*psM(i)/(as+psM(i)*bs);
QtnewM(i)   =   FsM(i)   +   QbM(i);
deltaQt   =   QtnewM(i)   -   QtM(i);
QtM(i)   =   QtnewM(i);
sM(i)   =   deltaM(i)*1e6/Li;
sigmaM(i)   =   QaveM(i)/Ab;
end

end

end
i=1:1:N;
FsMtot   =   sum(FsM(i));
PDif   =   CDif;
CDif   =   P-FsMtot-QbM(N);
disp('CDif');
disp(CDif);
disp('PDif');
disp(PDif);
pb=pb+1e-6;
end

pb=pb-1e-6;
disp('pb');
disp(pb);
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   关注TA 给TA发消息 送TA红花 TA的回帖
2楼2013-04-11 22:52:33
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-04-13 13:34:11
ben_ladeng: 专家考核 2013-04-13 20:13:36
这么长段程序,如果不是你的专业的,基本不明白是在干啥
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
3楼2013-04-12 16:26:25
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

seaspringsun

银虫 (小有名气)

引用回帖:
3楼: Originally posted by libralibra at 2013-04-12 16:26:25
这么长段程序,如果不是你的专业的,基本不明白是在干啥

说实话,这只是一小部分
4楼2013-04-12 20:03:03
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

李加伟

荣誉版主 (文坛精英)

不过凡人

优秀版主优秀版主

【答案】应助回帖


感谢参与,应助指数 +1
jjdg: 金币+1, 感谢参与 2013-04-13 13:34:21
总体的效果是什么?如果单段可以运行的话,将其他部分注释来看看效果会对你有帮助的。
这么长的程序,你根据他的注释能理解主要意思是在做能量形成的T-Z分析,每一段的主要作用也可以根据注释来看的。
想要知道具体每一步骤的作用就要对每个函数的作用进行分析,这个你可以查一下Matlab中的help函数看看
人生海海,在于内心
5楼2013-04-13 12:40:15
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

zxhao168

捐助贵宾 (正式写手)


【答案】应助回帖

感谢参与,应助指数 +1
理解程序切忌断章取义,函数的调用、参数的传递等的需要上下文的对应。
6楼2013-04-13 20:42:32
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

quanxing

金虫 (小有名气)

第一:你给的程序段不全,需要详细的
第二:你的专业是什么?需要有点了解。
好彩自然来
7楼2013-04-13 21:01:44
已阅   关注TA 给TA发消息 送TA红花 TA的回帖

xuanqi521

新虫 (著名写手)

【答案】应助回帖

师兄,你这个问题解决没有啊
8楼2016-06-23 14:37:59
已阅   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 seaspringsun 的主题更新
信息提示
请填处理意见