گزارشکار5
- 1. 1
نویسی برنامه کار گزارش
:استاد
امیری طیبه دکتر
:دانشجو
ساراآفتابی
:دانشجویی شماره
8011111149
بهار89
- 3. 3
مقدمه
بوده برخوردار نظیری بی گسترش ،از اخیر های سال ،طی علوم مختلف های شاخه در عددی های روش کاربرد
.دارااست را ای ویژه نقش عددی روش ترین مهم منزله به محدود اجزا ،روش میان این است.در
دوبعدی مسائلمی دوبعدی حالت به بعدی یک حالت تعمیممکان تغییر درآن که باشدها،موءلفهنیرو هایسط هایحی
موقعیت تابع یک هر جرمی نیروهای و(x, y)گره مکان تغییر بود.بردار خواهندمی زیر صورت به ها:باشد
δ = {𝑢, 𝑣}ͭv, uموءلفههایδجهت درxوyمی.باشند
داخلی نقاط تغییرمکانها آن مکان تغییر به ها گره موقعیت به توجه با بتوان باید عمومی حالت در را مثلث جز هر
.است پذیر امکان شکل توابع کمک به محدود اجزا روش در کار نمود.این مرتبطمثلث اجزای پهنه در که صورتی در
ی (درجه خطی صورت به شکل توابع است گردد،الزم فرض ثابت نسبی شکل ،تغییر شکل.گردند ک)انتخاب
جهت بود.بنابراین خواهند ثابت ناگزیر نیز حاصله تنشهای جز هر پهنه در نسبی های تغییرشکل بودن ثابت به توجه با
.گرفت کار به را زیر رابطه توان می جز هر در ها تنش محاسبه
:برنامه کاربرد
*بارگذاری تحت گاهی تکیه های واکنش محاسبهوتیر صفحهمحل درها گره
*های گره کلیه های تغییرمکان محاسبهوتیر صفحهکلی مختصات محورهای جهت دو هر در
*های تنش محاسبهجزء هر
توضیحاتبرنامه در شده استفاده متغییر
ها گره تعدادها المان یN
ها المان تعدادE
کلی مختصات در گره هر مختصات کننده تعیین ماتریسMN
راستای در جایی جابهXX
راستای در جایی جابهYY
المان هر وسوم ،دوم اول گره کننده تعیین ماتریسME
گرهاولNone
گرهدومN tow
سوم گرهN three
- 4. 4
بسته آزادی درجات تعدادTDAB
گره شمارههایبستهDAB
نیرو ماتریسMF
جهت در نیروXFX
جهت در نیروYFY
مدولاالستیکEM
ضخامتT
پواسون نسبتV
دارد قرار آن روی گسترده بار که هایی تعدادالمانne
گسترده بار که هایی المان های گره کننده تعیین ماتریس
دارد قرار آن روی
NE
ابتدا گرهi
انتها گرهj
طولی گسترده نیرویFsx
عرضی گسترده نیرویFsy
می نشان پارامتر ایندهدالمان روی بارگسترده آیا کهها
نه یا داریم
N or Y
Nگره تعداد :.المان هر های
Eالمان تعداد :.صفحه های
EM.االستیسیته مدول :
TDABمی نشان را شده بسته آزادی درجات تعداد :.دهد
MNگره هر مختصات کننده تعیین ماتریس :و ستون سه شامل است،که کلی مختصات درNاول ستون :است سطر
(محورطولی مختصات دوم گره،ستون شمارهX(محورعرضی مختصات سوم ستون و گره )Yگره )می نشان را ها.دهد
MEگره کننده تعیین ماتریس :و ستون چهار شامل است،که المان هر سوم و اول،دومEشماره اول ستون :است سطر
المان اول گره شماره دوم المان،ستون(None)المان دوم گره شماره سوم ،ستون(N two)شماره چهارم ستون و
المان سوم گره(N three)می نشان را.دهد
MFو ستون سه شامل است،که گره هر بارگذاری شرایط کننده تعیین ماتریس :Nشماره اول ستون :است سطر
محور جهت در گره به شده وارد نیروی مقدار دوم گره،ستونx،( 𝐹𝑥 )گره به شده وارد نیروی مقدار سوم ستون و
محور جهت درy،(𝐹𝑦)می نشان را.دهد
DABگره شماره کننده تعیین ماتریس :تعداد با برابر آن سطرهای تعداد و ستون یک شامل است،که شده مقید های
.است شده مقید های گره
Tالمان ضخامت :.صفحه های
V.پواسان ضریب :
𝑛𝑒تعداد :المان.دارد قرار آنها روی گسترده بار که هایی
- 5. 5
NEگره کننده تعیین ماتریس :و ستون پنج شامل ماتریس است.این گرفته قرار آن روی گسترده بار که المانی های
neمی سطر:باشدالمان اول گره دوم المان،ستون شماره اول ستونIالمان دوم گره سوم ،ستونjچهارم ،ستون
گستر نیرویطولی دهFsxعرضی گسترده نیروی پنجم ،ستونFsyمی.باشد
NorYمی نشان پارامتر این :المان روی بارگسترده آیا که دهدوارد را یک کد گسترده بار وجود صورت کهدر نه؟ یا داریم ها
میصورتی در و کنیممی وارد را صفر کد باشیم نداشته گسترده بار که.کنیم
3:ع حل روشددی
حل برایمسئله هرپتاسیل انرژی رابطه به توجه با را سختی ماتریس ترم محدود المان روش به ایونوع
اع مسئلهیک از م....و بعدی بعدی،دومی محاسبهشو.د
بدست زیر صورت به دوبعدی مسائل برای سختی ماتریسآمده:است
tͤرابطه درالمان هر ضخامتKͤسختیالمانAͤمساحتالمان،Bبه شکل تغییر تبدیل ماتریس
و کرنشD.است االستیسیته مدول ماتریس
می تعیین گره هر در جهتشان و وارده نیروهای نوع به توجه با را نیروها ماتریس ترمشوداگر قرارداد .(طبق
محور جهت در یا باال سمت به نیروها جهتxمی فرض مثبت باشددر منفی اینصورت غیر در و شودنظر
می گرفته).شود
رابطه به توجه باF = Kδمقدارδالمان هر برای راهر برای را تنش مقدار زیر رابطه طبق و آورده بدست
بدست المانمی:آوریم
عکس آوردن بدست برای آخر گام والعملتکیه هایمی استفاده زیر رابطه از گاهی:کنیم
4:برنامه با کار شرح𝐌𝐚𝐭𝐥𝐚𝐛
ف صورت به مسئله به مربوط اطالعات برنامه این در،است شده داده برنامه به اکسل ایلورودی و اطالعات اینهادرمعرفی زیر
شده:اند
- 6. 6
1-4برنامه ورودی اطالعات و پارامترها :
Nگره تعداد :المان هر های.
Eالمان تعداد :صفحه های.
EMاالستیسیته مدول :.
TDABدرجات تعداد :می نشان را شده بسته آزادی.دهد
NMگره هر مختصات کننده تعیین ماتریس :و ستون سه شامل است،که کلی مختصات درNاول ستون :است سطر
(محورطولی مختصات دوم گره،ستون شمارهX(محورعرضی مختصات سوم ستون و گره )Yگره )می نشان را ها.دهد
MEگره کننده تعیین ماتریس :و اول،دوم،است المان هر سومچهار شامل کهو ستونEشمار اول ستون :است سطره
اول گره شماره دوم المان،ستونالمان(None)دوم گره شماره سوم ،ستونالمان(N two)شماره چهارم ستون و
المان سوم گره(N three)می نشان را.دهد
MFو ستون سه شامل است،که گره هر بارگذاری شرایط کننده تعیین ماتریس :Nشماره اول ستون :است سطر
محور جهت در گره به شده وارد نیروی مقدار دوم گره،ستونx،(𝐹𝑥)در گره به شده وارد نیروی مقدار سوم ستون و
محور جهتy،(𝐹𝑦)رامی نشان.دهد
DABش کننده تعیین ماتریس :گره مارهشده مقید هایتعداد با برابر آن سطرهای تعداد و ستون یک شامل است،که
.است شده مقید های گره
Tالمان ضخامت :.صفحه های
V.پواسان ضریب :
𝑛𝑒المان تعداد :.دارد قرار آنها روی گسترده بار که هایی
NEگره کننده تعیین ماتریس :و ستون پنج شامل ماتریس است.این گرفته قرار آن روی گسترده بار که المانی های
neمی سطر:باشدالمان اول گره دوم المان،ستون شماره اول ستونIالمان دوم گره سوم ،ستونjچهارم ،ستون
طولی گسترده نیرویFs(x)عرضی گسترده نیروی پنجم ،ستونFs(y)می.باشد
𝑁𝑜𝑟𝑌این :می نشان پارامترالمان روی بارگسترده آیا که دهدوارد را یک کد گسترده بار وجود صورت کهدر نه؟ یا داریم ها
میصورتی در و کنیممی وارد را صفر کد باشیم نداشته گسترده بار که.کنیم
:برنامه کلی ساختارماتریس ابتدا در برنامهn،شماره گره شماره خواند.ماتریس می است شده ساخته که اکسلی فایل از را
المان،مدولاالستیسیته،بسته آزادی درجات المان،تعداد ،مشخصات گره ،مشخصاتشمارهنیروها ماتریس ،بسته های گره
، نه یا داریم گسترده بار اینکه وماتریس پواسون ،نسبت ،ضخامت االستیسیته ،مدولت آن در.شود می عریف
دستور یک از درابتداifمی برنامه شدن راحتتر و تسریع موجب که است شده استفاده گسترده بار برایاگر شود،بطوریکه
گسترده بار مسئله درآن اطالعات کردن وارد به نیازی نباشد اگر و کرد وارد باید را بارگسترده به مربوط اطالعات باشد ای
ماتریس اول نیست.حلقهمی محاسبه را ژاکوبینمی محاسبه را ژاکوبین ماتریس دترمینان دوم کند.حلقهس کند.حلقهوم
ماتریسBمی محاسبه راحاصلضرب ماتریس چهارم کند.حلقهBDمی محاسبه راالمان مساحت پنجم کند.حلقهرا ها
می محاسبهمی محاسبه را المان هر سختی ماتریس ششم کند.حلقههفتم کند.حلقهماتریس کردن اسمبل برای هشتم و
می محاسبه را متمرکز نیروها ماتریس نهم است.حلقه کل سختیصورت در را گسترده نیروهای ماتریس دهم کند.حلقه
می محاسبه گسترده بار وجودسختی ماتریس کردن معکوس و سختی ماتریس در مرزی شرایط اعمال با مرحله این کند.در
- 7. 7
نیر ماتریس در آن ضرب وگره هر برای را جابجایی مقدار وهامی بدست المان هر هایتنش مقدار یازدهم اورد.حلقهرا ها
می محاسبه المان هر برایعکس آخر حلقه کند.وتکیه العملمی محاسبه را گاهی.کند
فایلهای:اکسل
5:فلوچارت
شروع
i←i+1
i←0
فایل بازخوانی
اکسل
If i<=E
المان برای را ژاکوبین ماتریسi
.کن محاسبه
𝐼𝑓𝑛𝑜𝑟𝑦 == 1
گست بار به مربوط اطالعاتدر را رده
.کن ذخیره مربوطه ماتریس
بله
نه
بله
- 8. 8
i←i+1
i←0
If i<=E
برای را ژاکوبین ماتریس دترمینان
المانi.کن محاسبه
i←i+1
i←0
𝐼𝑓 𝑖 <= 𝐸
ماتریسBالمان برای راiمحاسبه
.کن
i←i+1
i←0
𝐼𝑓 𝑖 <= 𝐸
ماتریس حاصلضربBDبرای را
المانi.کن محاسبه
i←i+1
i←0
𝐼𝑓 𝑖 <= 𝐸
المان برای را مساحتi.کن محاسبه
i←i+1
i←0
نه
بله
نه
بله
نه
بله
نه
بله
نه
- 9. 9
If i<=E
ماتریسKالمان برای راiمحاسبه
.کن
i←i+1
i←0
If i<=E
درایه جداسازیماتریس هاKبرای را
المانi
i←i+1
i←0
𝐼𝑓 𝑖 <= 𝐸
ماتریسKالمان برای راiمحاسبه
.کن
i←i+1
i←0
𝐼𝑓 𝑖 <= 𝐸
ماتریسK.کن اسمبل را
i←i+1
i←0
If i<=N
ماتریسFبرای را متمرکز نیروهای
گرهi.کن محاسبه
بله
نه
بله
نه
بله
نه
بله
نه
بله
- 10. 10
i←0
i←i+1
𝐼𝑓 𝑖 <= 𝐸
i←0
i←i+1
𝐼𝑓 𝑖 <= 𝑇𝐷𝐴𝐵
می محاسبه المان هر برای را تنش-
.کند
واکنشتکیه هایمحاسبه را گاهی
میکند.
𝐼𝑓 𝑛𝑜𝑟𝑦 == 1
i←i+1
i←0
If i<=NE
ماتریسFبرای را گسترده نیروهای
گرهi.کن
ماتریس و سختی ماتریس در را مرزی شرایط
ماتریس کردن معکوس با و کرده اعمال نیرو
را گره هر جابجایی میزان سختیمحاسبه
میک.ند
نه
بله
نه
بله
نه
بله
- 18. 18
-06040.
061200
-060300
-062024
sicma(:,:,1= )
-0624.5
-062222
06003.
sicma(:,:,2= )
-062020
-260023
061.22
sicma(:,:,3= )
063305
064252
-062300
sicma(:,:,4= )
-060204
-062332
-063004
sicma(:,:,5= )
061501
-062100
061450
- 19. 19
sicma(:,:,.= )
0632.3
-262044
062425
sicma(:,:,2= )
06020.
-063332
-062.50
sicma(:,:,0= )
-062020
-063320
-065005
********************reaction********************
ans=
560000-23260.4.
.6000022060400
146000052162250
126000023260.4.
106000012360333
آباکوس افزار نرم از حاصل تنش هشت گره برای مثال06330برنامه از حاصل وتنشهشت گره برای063336است
مثال12-5:گسترده بارگزاری تحت آباکوس افزار نرم از استفاده با
- 28. 28
برنامه حلMatlab:
********************tahlil eleman 1D********************
D=
110444964444
964441104444
4490444
********************matrix jakobiyan********************
J(:,:,1)=
764
7694
J(:,:,1)=
-764
-76-94
********************B matrix********************
B(:,:,1)=
4.4131444-4.41314
4-4.414444.414444
-4.41444.41314.414444-4.4131
B(:,:,1)=
-4.41314444.41314
44.41444-4.414444
4.4144-4.4131-4.4144444.4131
********************DB matrix********************
DB(:,:,1)=
1.4e+ 43*
- 38. 38
9.444414.6910
:برنامه کد
clear all ;clc;close all;
disp('********************tahlil eleman 2D********************')
format short;
n=xlsread('matlab2d4');
E=n(1,1);
N=n(1,2);
MN=n(1:N,5:3);
ME=n(1:E,9:6);
MF=n(1:N,11:12);
TDAB=n(1,15);
DAB=n(1:TDAB,14);
EM=n(1,13);
T=n(1,19);
V=n(1,11);
nory=n(1,24);
if nory==1
ne=n(1,11);
NE=n(1:ne,16:25);
elseif nory==1;
end
D(:,:)=(EM/(1-V^2))*[1 V 1;V 1 1;1 1 ((1-V)/2)]
disp('********************matrix jakobiyan********************')
for i=1:E
J(:,:,i)=[MN(ME(i,2),2)-MN(ME(i,4),2) MN(ME(i,2),5)-
MN(ME(i,4),5);MN(ME(i,5),2)-MN(ME(i,4),2) MN(ME(i,5),5)-MN(ME(i,4),5)]
end
for i=1:E
determinanJ(i)=det(J(:,:,i));
end
disp('********************B matrix********************')
for m=1:E
x(m)=(1/determinanJ(m));
B(:,:,m)=x(m)*[MN(ME(m,5),5)-MN(ME(m,4),5) 1 MN(ME(m,4),5)-
MN(ME(m,2),5) 1 MN(ME(m,2),5)-MN(ME(m,5),5) 1;1 MN(ME(m,4),2)-MN(ME(m,5),2)
1 MN(ME(m,2),2)-MN(ME(m,4),2) 1 MN(ME(m,5),2)-MN(ME(m,2),2);MN(ME(m,4),2)-
MN(ME(m,5),2) MN(ME(m,5),5)-MN(ME(m,4),5) MN(ME(m,2),2)-MN(ME(m,4),2)
MN(ME(m,4),5)-MN(ME(m,2),5) MN(ME(m,5),2)-MN(ME(m,2),2) MN(ME(m,2),5)-
MN(ME(m,5),5)]
end
disp('********************DB matrix********************')
for i=1:E
DB(:,:,i)=D(:,:)*B(:,:,i)
end
disp('********************calculation area********************')
for i=1:E
area(i)=(determinanJ(i)/2)
end
disp('********************K matrix********************')
for m=1:E
K(:,:,m)=T*area(m)*B(:,:,m)'*DB(:,:,m)
end
disp('********************K asenbel********************')
for m=1:E
i=ME(m,2);
j=ME(m,5);
k=ME(m,4);
- 39. 39
K11(:,:,m)=K([1:2],[1:2],m);
K12(:,:,m)=K([1:2],[5:4],m);
K15(:,:,m)=K([1:2],[3:9],m);
K21(:,:,m)=K([5:4],[1:2],m);
K22(:,:,m)=K([5:4],[5:4],m);
K25(:,:,m)=K([5:4],[3:9],m);
K51(:,:,m)=K([3:9],[1:2],m);
K52(:,:,m)=K([3:9],[5:4],m);
K55(:,:,m)=K([3:9],[3:9],m);
end
K2=zeros(2*N,2*N);
for m=1:E
i=ME(m,2);
j=ME(m,5);
k=ME(m,4);
K2(2*i-1:2*i,2*i-1:2*i)=K11(:,:,m)+K2(2*i-1:2*i,2*i-1:2*i);
K2(2*i-1:2*i,2*j-1:2*j)=K12(:,:,m)+K2(2*i-1:2*i,2*j-1:2*j);
K2(2*i-1:2*i,2*k-1:2*k)=K15(:,:,m)+K2(2*i-1:2*i,2*k-1:2*k);
K2(2*j-1:2*j,2*i-1:2*i)=K21(:,:,m)+K2(2*j-1:2*j,2*i-1:2*i);
K2(2*j-1:2*j,2*j-1:2*j)=K22(:,:,m)+K2(2*j-1:2*j,2*j-1:2*j);
K2(2*j-1:2*j,2*k-1:2*k)=K25(:,:,m)+K2(2*j-1:2*j,2*k-1:2*k);
K2(2*k-1:2*k,2*i-1:2*i)=K51(:,:,m)+K2(2*k-1:2*k,2*i-1:2*i);
K2(2*k-1:2*k,2*j-1:2*j)=K52(:,:,m)+K2(2*k-1:2*k,2*j-1:2*j);
K2(2*k-1:2*k,2*k-1:2*k)=K55(:,:,m)+K2(2*k-1:2*k,2*k-1:2*k);
end
Kt=K2
disp('********************F matrix********************')
F=zeros(2*N,1);
for i=1:N
O=2*MF(i,1);
F(O-1)=MF(i,2);
F(O)=MF(i,5);
end
if nory==1
Fs=zeros(2*N,1);
for m=1:NE
i=NE(m,2);
j=NE(m,5);
L(m)=sqrt((MN(i,2)-MN(j,2))^2+(MN(i,5)-MN(j,5))^2);
z(m)=(L(m)*T)/2;
Fs(2*i-1)=z(m)*NE(m,4)+Fs(2*i-1);
Fs(2*i)=z(m)*NE(m,3)+Fs(2*i);
Fs(2*j-1)=Fs(2*i-1);
Fs(2*j)=Fs(2*i);
end
F2=Fs
Ft=zeros(2*N,1);
Ft=F2+F
elseif nory==1
Ft=F
end
disp('*******************repent K****************')
DA=setdiff([1:2*N],[DAB]);
K2=Kt(DA,DA)
F1=Ft(DA,1)
Kinvers=inv(K2);
U=Kinvers*F1
D=zeros(2*N,1);
D(DA)=U
disp('********************sicma*********************')
sicma=zeros(5,1);