亚洲欧美日韩国产一区二区精品_亚洲国产精品一区二区动图_级婬片A片手机免费播放_亚洲国产成人Av毛片大全,男女爱爱好爽好疼视频免费,中文日韩AV在线,无码视频免费,欧美在线观看成人高清视频,在线播放免费人成毛片,成 人 网 站 在 线 视 频A片 ,亚洲AV成人精品一区二区三区

機械社區(qū)

 找回密碼
 注冊會員

QQ登錄

只需一步,,快速開始

搜索
查看: 3885|回復(fù): 7
打印 上一主題 下一主題

分析一段matlab有限元程序

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
1#
發(fā)表于 2013-3-24 13:41:49 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
這是關(guān)于梁單元的,,可能大家覺得很簡單,。。,。
& ^/ N* n! K  o今天翻電腦里的東西時發(fā)現(xiàn)的,,是我大三時有限元時的作業(yè),,記得當(dāng)時花了很多時間研究,,學(xué)了不少東西,,一個簡單的作業(yè)可以涉及各方面的知識。
! [% h- l$ T( \# E  v  F) S" i3 z畢業(yè)半年了,,雖然記不清彈性矩陣,、剛度矩陣等,但是只要一看書(好像現(xiàn)在的心境不下來)應(yīng)該會,,學(xué)校交的學(xué)習(xí)方法和理解問題的能力,,有些東西不必記,除非每天從事,,那該叫熟能生巧,。
2 \+ {6 \, g: c+ O記得當(dāng)時編了兩個程序,梁和三維實體的,,我分享一下梁的程序吧,,起碼有亮點和創(chuàng)意,可以自己選擇劃分個數(shù),,在matlab方面花了不少功夫,。
5 E* z9 ]  L* q3 j6 A5 q* ]. n非常感謝當(dāng)時的有限元授課老師“韓清凱”,雖然老師已經(jīng)到了大工,。上課的教材為韓清凱 的《彈性力學(xué)及有限元法基礎(chǔ)教程》,,書上有個梁單元的例子,在82頁,。
9 ]# h% w. k6 M8 Y/ p0 \$ L3 [--------------------------------------------------------------------------------- d6 O3 }- [0 H( |& X
梁程序如下,,名字就不寫了,用昵稱吧“太平島”,,這是常用的網(wǎng)絡(luò)昵稱- y$ I5 Z7 G( ]$ n) a  u+ l
- Q! V* C4 }& Z# D

5 }4 f: q  Q3 b) e%------------------------ BEAM2  ----------------( `; u# X$ I9 E% I5 Q! F' F% K) G
disp('========================================');& G+ o# l0 s, z; i2 P9 g, k
disp('            PROGRAM BEAM2               ');
! i& ]5 E2 z1 u, udisp('        Beam Bending Analysis           ');7 o% S7 T: q5 i( I0 U* J
disp('        The programmer:太平島           ');
0 @9 o: N7 M9 M' j; W& W- r' `/ gdisp('========================================');
9 p- t  ]0 l4 U6 Wdisp(' ');                        %輸出空行
( N* j. m# Z* Q0 `: _$ kwarning off all                        %關(guān)閉所有警告提示(求積分時,,警告信息比較多)3 e7 ~3 O( ~, `7 S- P, X- d
Ne=input('Please input the number of elements:');        %Ne為劃分的單元數(shù)
  t# f, s+ m* W' y  l! RNJ=Ne+1;                        %NJ為節(jié)點數(shù); P  P8 Y  R) B3 m  }$ K
x1=0;
! ~& o1 x* o' |& V( y; px2=sym('L');
2 X" m9 a; y0 r) B$ T# M! jx=sym('x');                        
+ [, }  _: p) B9 q, zj=0:3;* L7 g9 ]( k& ~! T1 D; n
v=x.^j;
  k1 O" t/ M4 e& a' w$ l" yA=[1,x1,x1^2,x1^3;0,1,2*x1,3*x1^2;1,x2,x2^2,x2^3;0,1,2*x2,3*x2^2];
  V+ I5 f/ B( i$ V, d( t* aN=v*inv(A);                        %形函數(shù)
4 r5 B, g% {* ^0 g0 l0 D! i%-----------------------------------------------
9 M& R( h# o, _$ n- |/ U% 求單元剛度矩陣- Z) Z5 a. Y! y+ u
E=4.0e11;6 {0 M( E9 [  G. R
I=5.2e-7;                        %I=bh^3/12=5.2e-7,;2 s  Y4 W: [8 Z
EI=4.0e11*5.2e-7;/ R( `' P* \* U; ?+ w! k( ?
B=diff(N,2);
$ z2 t4 v; p* o1 i2 t# Ik=B'*B;; T; a# _) U3 @, w* u
Kee=EI*int(k,x,0,'L');
* X0 S  ?# t& c  ~3 SKe=sym(zeros(4,4,Ne));        %用三維矩陣存放單元剛度矩陣,每頁存一個,,并初始化0
9 I, M' O" b7 }Ke(:,:,1)=subs(Kee,'L',(10/Ne));
3 A3 x3 v! L( K' C8 OT=eye(4);                % 因為梁于x軸的夾角為0,所以坐標(biāo)變換矩陣為T=eye(4)
2 P# G8 {$ a, b4 Y# W1 \. _) [Ke(:,:,1)=T*Ke(:,:,1)*T';  ^; ^1 n* y! \, ^: y6 q% E
for ii=2:Ne
# k# ^% D% h% M5 H( h' g    Ke(:,:,ii)=Ke(:,:,1);$ o' r/ |* _: y1 c! W: j/ [' X- v
end / e2 t  n/ V& H
Ke=double(Ke);
2 `# b6 R2 E$ e( A2 f" R3 I# p) W%------------------------------------------------, [+ @; G" K6 n1 V
% 由矩陣裝換法求整體剛度矩陣
8 P" t/ M$ q7 D+ ]% 自由度Ndof=2*NJ5 p2 a1 @& B) C0 p
Ndof=2*NJ;+ v% _# ~% _/ G  o
K=zeros(Ndof);* i7 |" Y: |  H
for ii=1:Ne
. E! [9 x. F: f% P/ G& @) W+ n    G=[zeros(4,2*(ii-1)),eye(4,Ndof-2*(ii-1))];
7 l2 \  G& @  S) ^    KK=G'*Ke(:,:,Ne)*G;
) P$ x; Q7 u5 ?! }    K=K+KK;
0 E! J8 F  h7 T1 W9 N' nend  % i0 r( y% A3 z* }' l, L/ S9 K
%------------------------------------------------
) g: c2 O/ Q4 |% 約束條件,對整體剛度矩陣進行修正,,以便計算7 x5 f: s9 F" @, B
F=zeros(Ndof,1);; F& L, t5 p$ j' ~9 J
F(Ndof-1)=-100;
( j# q+ ~6 `) k9 Q% u=F*inv(K),u=[v1,xta1,v2,xta2,v3,xta3,v4,xta4]',v1=0,xta1=0
7 e9 s" `+ z% y1 u1 Z$ v% LK(1,=0;        K(:,1)=0;        %可以省略
7 [/ s. F) H* I! b; E3 PK(2,=0;        K(:,2)=0;        %可以省略# l7 X; D5 O+ S; g7 u% q8 P9 f
KX=K(3:Ndof,3:Ndof);
3 @6 ]4 A0 U4 B3 WFX=F(3:Ndof,1);
$ w" I6 U" v3 x4 ?& L; n%------------------------------------------------5 b! o( F, p* @1 X$ N" z" b" I
%求整體節(jié)點位移列陣2 I9 [9 f( Y  v1 y' w' v
uu=inv(KX)*FX;0 h' L! @1 ?/ d  S# j$ i
u=[0;0;uu];0 ~, E2 |9 L" Z* t  U8 z
ii=1:2:2*NJ;, H; e3 x  w7 {0 ?" H6 C
v=u(ii);                        %各節(jié)點撓度/ s% X0 Q) U# e
xta=u(ii+1);                        %各節(jié)點轉(zhuǎn)角
; h& |& y# o, M7 L, j%------------------------------------------------$ B3 A$ H4 d  b* ^
% 后處理,,計算單元應(yīng)變應(yīng)力5 L3 ]! t. S: ~' @# @( w
B=subs(B,x,'L');
+ q& s: G; O, kB=subs(B,'L',10/Ne);! x5 S5 G4 |. p. r3 E% u5 ~& O
Strain=zeros(1,Ne);                %單元應(yīng)變,并初始化
) S3 J# ~9 l4 ?Stress=zeros(1,Ne);                %單元應(yīng)力,,并初始化
  X( V7 p4 u# H, |% yfor ii=1:Ne
1 k$ T' {; [" x9 ~$ D    Strain(1,ii)=B*u(2*ii-1:2*ii+2,1);: z; ?7 X! z" r5 R/ s( D7 K& T2 T8 ?
    Stress(1,ii)=E*Strain(1,ii);
3 B' g7 n9 z  I9 x6 B3 Lend
; v8 p7 R+ Q6 c%--------------------------------------------------! K2 `# Z. Z" i0 F2 H5 ]* a; g
% 以下程序為屏幕輸出處理) V0 L. ?% }: _8 T8 u( w
disp(' ');
; a6 s" P: N9 P$ H4 n2 v+ tdisp(' Input:1-print Node displacement ');' n( I1 E7 O! ]
disp(' Input:2-print strain ');, y' ?) A/ R1 k8 a% A# ~1 G
disp(' Input:3-print stress ');
% E2 H6 S# J+ y. bdisp(' Input:q-quit or use ''ctrl+c'' Shortcut to end the program');
. o, p, S, t9 M) ^0 c
$ B% n* p$ @7 E! ]# J( dwhile 1
8 J2 }3 Z# V$ D, |9 j+ y5 F    ii=input('Please input1 or 2 or 3:','s');: l$ B# j. U. t- z* B  s: I( ^
        switch(ii)
+ I: Y& O" ^) @9 x8 ^# j; z2 P            case '1'' a8 X4 X0 E, n# F4 @& E$ K
                disp('Node displacement');% y) h+ b0 y4 X2 `8 N2 V6 X8 v
                disp(u');
. `( _7 [" M% }  D  F. c" @            case '2'
1 z6 v+ T2 Z* w+ l" Z" T/ c                disp('element strain');( W$ l4 B( G9 N6 \
                disp(Strain);
% }% d% m  D+ l! c, c  }% S( a1 d            case '3'
: z4 y6 T2 V9 b2 K+ I1 A$ p                disp('element stress');* P% P; _+ f- p# K' n; K/ L+ S7 U
                disp(Stress);
6 \1 n( b! F8 n) F" X            case 'q'7 Q0 H% V6 F# M' x0 \
                disp('End of program');
- Y) _8 `* {3 f" ^                break;# d. v; I1 J2 {# N6 r
            otherwise. l/ r4 l2 y( X! O8 x
                disp('error!Please input again');( `$ \6 g' R* x* Z' W# S( V
                continue;
6 ]4 s5 g+ K( v8 M/ A        end! f0 @+ W! H0 I1 k% t( j5 M
end
: P; `$ t9 |" ]* G

  k0 N4 [1 O9 A4 m+ ?' g& G* R- r
7 ]* h( {) b9 h* W" y9 [: A
2#
 樓主| 發(fā)表于 2013-3-24 13:44:32 | 只看該作者
那個地方怎么變成笑臉了,,冒號+右括號=笑臉,,改了下,應(yīng)該是下面,,把英文括號改為中文,,就好了吧  Z. \- X2 u* A) \
K(1,:)=0;        K(:,1)=0;        %可以省略0 t6 d; P) M* v0 _. [
K(2,:)=0;        K(:,2)=0;        %可以省略
3#
發(fā)表于 2013-3-24 14:55:52 | 只看該作者
沒看懂
4#
發(fā)表于 2013-3-24 16:53:09 | 只看該作者
謝謝你啊,太感謝你了
5#
 樓主| 發(fā)表于 2013-3-24 18:35:59 | 只看該作者
jiaweicz 發(fā)表于 2013-3-24 16:53 ) [+ B' ]  q- h: r
謝謝你啊,,太感謝你了

5 }" {+ q) t# S0 g7 x0 v! A3 a1 y% U8 J這謝啥呢,?
6#
發(fā)表于 2013-3-24 21:21:19 | 只看該作者
我以前編過一個5體展開的多體姿態(tài)動力學(xué)計算程序。,。,。可惜早就忘記了,,sigh

點評

是啊,,很多東西不用就忘記啦  發(fā)表于 2013-3-26 12:34
7#
發(fā)表于 2013-11-7 20:39:02 | 只看該作者
這程序也運行不了啊
8#
發(fā)表于 2013-11-7 20:44:34 | 只看該作者
j=0:3;
  P! W1 T. e! x+ x8 Nv=x.^j;  是干啥的
您需要登錄后才可以回帖 登錄 | 注冊會員

本版積分規(guī)則

小黑屋|手機版|Archiver|機械社區(qū) ( 京ICP備10217105號-1,京ICP證050210號,,浙公網(wǎng)安備33038202004372號 )

GMT+8, 2025-2-13 22:35 , Processed in 0.060800 second(s), 20 queries , Gzip On.

Powered by Discuz! X3.4 Licensed

© 2001-2017 Comsenz Inc.

快速回復(fù) 返回頂部 返回列表