Professional Documents
Culture Documents
1. GİRİŞ
Sonlu elemanlar metodunun temel prensibi,öncelikle bir elemana ait sistem özelliklerini
içeren denklemlerin çıkartılıp tüm sistemi temsil edecek şekilde eleman denklemlerini
birleştirerek sisteme ait lineer denklem takımının elde edilmesi olduğu daha önceki
bölümlerde anlatılmıştı. Yöntemde genel olarak kullanılan üç temel basamak vardır.
Bunlar; hazırlık işlemleri (preprosesing),çözüm (prosesing) ve değerlendirme işlemleri
(postprosesing) olarak sıralanabilir. Hazırlık işlemleri,düğüm koordinatları,elemanların
birbirleri arasındaki süreklilik,sınır şartları yükler ve malzeme bilgileri ile ilgili dataların
hazırlanması safhasıdır. Çözüm safhası, problemin özelliğine göre gerekli hesaplamaların
yapılarak çözümlerin elde edilmesini,değerlendirme safhası ise, elde edilen alan
değişkenlerinin grafik çizimi (gerilme,sıcaklık hız dağılımı vs),deforme şekillerin elde
edilmesi,değişkenlerin çözüm bölgesindeki dağılımlarının görsel olarak elde edilmesini
içermektedir.
Ön ve son işlemler sonlu elemanlar metodunda önemli bir ağırlığı vardır. Bu nedenle
özellikle sonlu eleman ağ bilgilerinin (düğüm koordinatları ve eleman sürekliliği) otomatik
olarak hazırlanması büyük öneme sahiptir. Çoğu zaman problemin doğru ve yeterince
hassas çözümünün elde edilmesi için bir çok değişik sonlu eleman ağının denenmesi
gerekebilmektedir. Sonlu elemanlara ayırma işlemi ve problemin giriş bilgilerinin
hazırlanması eleman sayısı arttıkça hem zaman alıcı olmakta hem de hata yapma oranını
artırmaktadır. Bu yüzden elemanlara bölme işleminin bilgisayarla yapılması için yöntemler
geliştirilmiştir. Sonlu elemanlar metodu 1920’li yıllardan itibaren kullanılmaya başlanmış
olmakla beraber bilgisayar teknolojisindeki gelişmelerle ancak 1960’lı yıllardan itibaren
geniş bir kullanım alanı bulabilmiştir. Otomatik ağ oluşturma yöntemleri de bunlara
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
2. YÖNTEM
2.1. Bölge ve Blok Şeması
Ağ oluşturma işleminin temel mantığı,az sayıdaki anahtar noktalar için girilmiş olan
elemanların süreklilik ve düğüm koordinat bilgilerinden yola çıkarak işlem yapılan bölgeyi
istenen incelikte elemanlara ayırma olarak tanımlanabilir. Bu bölüm,sistemin işleyişi
hakkında teorik bilgileri ve ağ oluşturma işleminde bilgisayar çözümünü içermektedir.
17 19
12 14
11 15
6 10
7 9
2 4
Şekil 1. Ortasında delik bulunan dikdörtgen levha için örnek alt blok bölüntüsü.
Bölüm-12-22
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
8,13,16,18 ve 20 numaralı bloklar boş blok olarak alınmalı ve koyu çizgi ile belirtilen
kenarlar karşılıklı olarak birleştirilmelidir. Şekil 3' de dikdörtgen bloklardan oluşmuş bir
tüm dikdörtgen modelin genel konfigürasyonu görülmektedir.
D
25 26 27 28 29 30
16 17 18 19 20
D21 D22
19 20 21 22 23 24
11 12 13 14 15
D15 D16
13 14 15 16 17 18
6 7 8 9 10
D9 D10
7 8 9 10 11 12
1 2 3 4 5
D3 D4 Y
1 2 3 4 5 6
Bölüm-12-33
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
D
KY
bloğu alt
bölüntüsü
KD
bloğu alt
bölüntüs
NY+1
D1 1 D 2 D3 N
2 Y
1 Y1 2 Y 2 3
Yatay kenar
Blok no Düşey kenar
Köşe
ND
NND = 1 + ∑ NDD( KD) (2)
KD =1
Bölüm-12-44
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Düğümlerin numaralandırılışını bir örnek üzerinde açıklamak yerinde olacaktır. Şekil 4'de
bir örnek problem için bölge ve ona ait blok şeması görülmektedir. Düğümlerin
numaralandırılmış şekli ise Şekil 5'te verilmiştir. Yatayda 2 ve düşeyde de 2 blok vardır. 4
Numaralı blok ise boşaltılmıştır. Oluşabilecek en büyük düğüm numarası 30 dur. 18-20
kenarı ile 18-28 kenarı birleştirilecek kenarlar olmaktadır. Düğüm numaralarını içeren
dizindeki her değişkene önce -1 değeri verilir. Bunun anlamı her düğümün mevcut ve
bağımsız olduğudur. Daha sonra boş blok üzerinde mevcut olmayan noktalar varsa,bu
noktaların dizideki yerlerine 0 değeri konur. Örnekte 24, 25, 29 ve 30 numaralı düğümler
mevcut değildir. Bu düğümlerin dizideki yerleri sıfırlanır. Birleştirilmiş kenarların varlığı
kontrol edilir. Eğer böyle kenarlar varsa,birleştirilecek iki kenardan düğüm numaraları
büyük olan kenar üzerindeki her bir düğümün dizideki yerine,birleştirilecek olan diğer
kenar üzerindeki karşılık düğümünün numarası konur. Düğüm numaraları küçük olan
kenar için bir işlem yapılmaz. Sonuç olarak,düğüm numaraları büyük olan kenar,diğeri
üzerine taşınmış olur.
Bölüm-12-55
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
2. 3. Koordinatların Bulunması
Bölge üzerindeki herhangi bir bloğu alt bölümlere ayırdığımızda oluşan kesişim
noktalarındaki alt düğümlerin koordinatlarının hesaplanması gerekmektedir. İncelenen
blok için 8 temel düğümün (4'ü köşe,4'ü orta) X ve Y koordinatları tarafımızdan girilmiş
olduğu için bilinmektedir. Y-D koordinat sisteminde blok üzerinde bulunan bir N1 alt
düğümünün,diğer 8 düğümle olan ilişkisi biliniyorsa,şekil fonksiyonları yardımıyla bu
düğümün X ve Y koordinatları bulunabilir. Bölge üzerindeki bir blok alt bölümlere
ayrıldığında,alt bölümler Y-D düzleminde eşit aralıklarla oluşturulur. Bu bilgi,
düğümlerin X ve Y koordinatlarının hesaplanabilmesi için yeterlidir.
Bölüm-12-66
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
(1 − r 2 ).(1 − s) (6)
SH (2) =
2
(1 + r ).(1 − s 2 ) (8)
SH (4) =
2
(1 − r 2 ).(1 + s) (10)
SH (6) =
2
(1 − r ).(1 − s 2 ) (12)
SH (8) =
2
şeklindedir. Burada r ve s lokal koordinatlarda bir eleman için eksen takımıdır (Şekil 6).
Alt bölümlere ayrılmış bir blok üzerindeki bir N1 düğümünün r ve s koordinatları yukarıda
verilmiş olan formüllerle bulunur. Bu değerler N1 düğümünün Y-D düzleminde,8 temel
düğüm ile olan uzaklık ilişkisini göstermektedir. Altbölümlerden dolayı oluşan bu alt
düğümlerin X ve Y koordinatlarının hesaplanmasıyla,bölge üzerindeki tüm düğümlerin
koordinatları bulunmuş olur. Son işlem olarak ilgili noktalar birleştirilir ve ağ oluşturulur.
s
4 7 3 (1,1)
8 r
6
1 (-1,-1) 5 2
Bölüm-12-77
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
3. ÖRNEKLER
Program girdi dosyasında şu bilgileri istemektedir:
Eleman Tipi (Üçgen veya Dörtgen)
Düğüm sayısı (Üçgen=1,4 Düğümlü=2,5 Düğümlü=3,8 Düğümlü=4,9 Düğümlü=5)
Yataydaki bölüntü sayısı,Düşeydeki Bölüntü Sayısı
Malzeme sayısı
Malzeme çeşidi 1 den farklı olan bloklar (Boş bloklar için 0)
Blokların yatayda alt bölüntü sayısı
Blokların düşeyde alt bölüntü sayısı
Düğüm sayısı
X koordinatı,Y koordinatı
Yatayda eğri kenar sayısı (Kenardaki ara düğümün yeri değiştirilmek istendiğinde de bu kullanılır)
X koordinatı,Y koordinatı
Düşeyde eğri kenar sayısı
X Koordinatı,Y koordinatı
Birleşecek kenar sayısı
İlk kenarın iki düğümü
İkinci kenarın iki düğümü
Çıktı dosyası adı
Bu bölümde sonlu elemanlar ağının oluşturulması ile ilgili bazı örnek çözümler
verilecektir. İlk örnekte, incelenecek bölge için blok şemasının oluşturulması,
koordinatların bulunması, boş blokların tespiti, birleştirilecek kenarların tanımlanması gibi
konular ayrıntılı olarak anlatılacaktır. Daha sonraki örneklerde ise yalnızca hesaplanmış
veriler sunulacaktır. Ayrıntılı anlatılacak bu örnek için, bir çok eğrisel kenar, boş blok ve
birleştirilmiş kenar içeren, dolayısıyla konunun tüm ayrıntılarını kapsayan zincir baklası
seçilmiştir (Şekil 7). Şeklin orta noktasına göre simetrik olması dolayısıyla, yalnızca ¼’lük
bölümünün incelenmesi mümkündür. Fakat konunun ayrıntılı anlatılabilmesi için şeklin
tamamını incelemek yerinde olacaktır.
Bölüm-12-88
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
İlk önce bölgenin şekli çizilerek muhtemel düğümler tasarlanır. Tasarlanmış düğümler
Şekilde görülmektedir. Dikkat edilecek nokta, her dört düğümün oluşturduğu her bir
elemanın kendi başına -daha başka bir bölünmeyi gerektirmeden- incelenebiliyor
olmasıdır. Bunun için kenarlar tek bir fonksiyonla ifade edilebilir olmalıdır. Doğrusal olan
kenarlar bunu sağlamaktadır. Eğrisel kenarların bu şartı sağlayabilmesi için, tek bir tepe
noktası bulunan eğrisel kenarlar elde edilene kadar ilgili kenarın bölünmesi gerekir.
Örnekteki 21 ve 13 düğümleri arasındaki eğrisel kenarı, tek bir elemanın kenarı olarak
tanımlayamayız. Bu yüzden eğrinin dönüm noktası olan yere bir düğüm konularak kenar
ikiye bölünmüştür. Oluşan her iki kenar da birer dairesel yaydır. Dolayısıyla tanımlanması
mümkündür.
Daha sonra oluşturulan elemanlara göre blok şeması tasarlanır. Örnekteki bölge için,
ayrılan elemanlara göre, Şekil 8'deki gibi 3x6'lık bir blok şeması uygun olacaktır. 2, 5, 8,
11, 14 ve 17 numaralı bloklar boşaltılıp 1-2 ile 3-4, 10-14 ile 11-15, 14-18 ile 15-19 ve 25-
26 ile 27-28 kenarları birleştirilirse blok diyagramı süreklilik açısında bölgemizdeki
tasarlanan elemanlara benzeyecektir. Yani 1 ve 3 numaralı blokların komşuluğu sağlanmış
olacaktır. Benzer şekilde 7 ve 9, 10 ve 12, 16 ve 18 numaralı bloklar da komşu olacaktır.
Bölüm-12-99
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
1 3.51 3.51 2 9.17 9.17 3 9.17 14.82 4 3.51 20.48 5 16.1 0.72 6 14.83 9.17
7 14.83 14.83 8 16.1 23.28 9 22.9 4.28 12 22.9 19.7 13 31.1 4.28 16 31.1 19.72
17 37.9 0.7 18 39.17 9.17 19 39.17 14.8 20 37.9 23.3 21 50.5 3.5 22 44.8 9.1
23 44.8 14.8 24 50.5 20.5
Birleştirilecek olan kenarlara ait düğüm numaraları ise (birinci kenar 1 ve 2 düğümü-ikinci
kenar 1 ve 2 düğümü):
Bölüm-12-1010
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
10 14-11 15
14 18-15 19
Şekil 9 Eğri dış kenarlara ve çeşitli sayıda deliklere sahip bir levhanın üçgen ve 4 ve 9
düğümlü dörtgen elemanlarla hazırlanmış sonlu eleman ağları
Bölüm-12-1111
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
İkinci bir örnek olarak ortasında dairesel bir delik bulunan bir dikdörtgen kesit (Şekil 1)
incelenmiştir. Geometri için tasarlanan ağ yapısı ve blok şeması Şekil 10 ve 11 de
verilmiştir. Bu örnek için gerekli data dosyası şu şekildedir:
Bölüm-12-1212
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Şekil 12 Ortası delikli dikdörtgen levha için elde edilen,çeşitli sıklıklara sahip ağlar.
Bu örnekte ise biri merkezde olmak üzere 3 adet dairesel delik bulunan bir dairesel kesit
için model hazırlama ve girdi dosyası bilgileri verilmiştir (Şekil 13, 14). Burada, simetrik
bir yapıya sahip olan kesitin, yarısı incelenmiştir. Gerçekte kesit, her iki eksende de
simetrik olduğundan, bu kesitin yalnızca ¼’lük bir dilimini incelemek yeterli olacaktır.
Bölüm-12-1313
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Girdi dosyası bilgileri aşağıda verilmiştir. Buna göre ilgilenenler istediği şekilde bir sonlu
eleman ağı oluşturabilirler.
Bölüm-12-1414
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
35
1 13 8 2 14.414 7.414 3 15 6 4 14.414 4.585 5 13 4
6 13 0 7 14.5 10.401 8 17 6 9 19.5 1.741 10 13 0
12 15.5 11.5 13 19 9 14 24.25 6.5 17 16 13 18 19 13
19 26 13 22 11.598 14.5 23 19 17 24 24.258 19.5 26 13 16
27 14.5 15.5 28 17 20 29 19.5 24.25 30 13 26 31 13 18
32 14.4 18.5 33 15 20 34 14.4 21.4 35 13 22 0
12 Yatayda eğri kenar sayısı
1 13.765 7.847 2 14.847 6.765 3 14.847 5.234 4 13.765 4.152
5 13.776 10.12 8 16.36 0.42 21 13.776 15.897 24 16.364 25.557
25 13.765 18.152 26 14.847 19.234 27 14.84 20.76 28 13.76 21.87
0
8 Düşeyde eğri kenar sayısı
7 15.121 10.878 9 22.192 3.807 12 15.897 12.223 14 25.557 9.63
17 15.897 13.776 19 25.557 16.364 22 15.121 15.121 24 22.192 22.192
0
0 Birleşecek kenar yoktur.
çıktı.mes
Şekil 15 de kırılma mekaniği analizi için hazırlanmış sonlu eleman ağları verilmiştir.
Burada da düğüm sayıları her üç ağ için de 705 olup eleman sayıları sırasıyla 1280, 640 ve
160 tır. Yarı bant genişliği ise 91, 91 ve 109 olmaktadır.
Bölüm-12-1515
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Şekil 15 Kırılma mekaniği analizi için hazırlanmış sonlu eleman ağları. Üçgen,4 düğümlü
ve 9 düğümlü dörtgen elemanlar
4. SONUÇ
Bu çalışmada nümerik yöntemlerle yapılan analizin ilk basamağı olan çözüm bölgesi için
ağ geliştirme üzerinde durulmuş ve bu amaçla geliştirilen yöntem kullanılarak bir
bilgisayar programı hazırlanmıştır. Çalışmada ele alınan geometrinin mümkün olduğu
kadar iyi modellenmesinin yanında analiz sırasında meydana gelecek denklem sistemi ve
bu sistemde oluşan genel matrislerin de homojen hale getirilmesi ve çözüm zamanının
azaltılması düşünülmüştür. Geliştirilen yöntemle her türlü geometrinin üçgen ve 4 veya 9
düğümlü dörtgen elemanlara bölünmesi mümkün olduğu gibi, alan değişkenlerinin çözüm
bölgesindeki dağılımı da dikkate alınarak çeşitli ağ inceltme işlemleri de yapılabilmektedir.
Bölüm-12-1616
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Bölüm-12-1717
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Bölüm-12-1818
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
Bölüm-12-1919
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
XP(2,1)=SR(KSW,1): XP(2,2)=SR(KSW,2)
XP(3,1)=XB(N1+1,1): XP(3,2)=XB(N1+1,2)
XP(4,1)=WR(N1+1,1): XP(4,2)=WR(N1+1,2)
XP(5,1)=XB(N1+NS+2,1): XP(5,2)=XB(N1+NS+2,2)
XP(6,1)=SR(KSW+NS,1): XP(6,2)=SR(KSW+NS,2)
XP(7,1)=XB(N1+NS+1,1): XP(7,2)=XB(N1+NS+1,2)
XP(8,1)=WR(N1,1): XP(8,2)=WR(N1,2)
RETURN
'============== Sekil fonksiyonları ================
2300 SH(1)=-(1-XI)*(1-ETA)*(1+XI+ETA)/4:SH(2)=(1-XI*XI)*(1-ETA)/2
SH(3)=-(1+XI)*(1-ETA)*(1-XI+ETA)/4:SH(4)=(1-ETA*ETA)*(1+XI)/2
SH(5)=-(1+XI)*(1+ETA)*(1-XI-ETA)/4:SH(6)=(1-XI*XI)*(1+ETA)/2
SH(7)=-(1-XI)*(1+ETA)*(1+XI-ETA)/4:SH(8)=(1-ETA*ETA)*(1-XI)/2
RETURN
'=============== Yarı bant genişliği ===================
2400 ST=1: ED=NEN
IF DS=2 THEN ST=0
IF DS=3 THEN ED=ED*2
IF DS=4 THEN ST=0: ED=ED*2
NBW=0
FOR N=1 TO NE
CMIN=NN+1: CMAX=0
FOR J=ST TO ED
IF CMIN > NOC(N,J) THEN CMIN=NOC(N,J)
IF CMAX < NOC(N,J) THEN CMAX=NOC(N,J)
NEXT J
C=(CMAX-CMIN+1)
IF NBW < C THEN NBW=C
NEXT N
'=============== Verilerin Kaydedilmesi ===================
INPUT #2,FILE$
OPEN FILE$ FOR OUTPUT AS #1
ND=0: NL=0
PRINT #1,LAS; NE; DS; NM; NDIM; NEN; NBW
FOR I=1 TO LAS
FOR J=1 TO NDIM
PRINT #1,X(I,J);
NEXT J
PRINT #1,
NEXT I
FOR I=1 TO NE
FOR J=ST TO ED
PRINT #1,NOC(I,J);
NEXT J: PRINT #1,: NEXT I
FOR I=1 TO NE
PRINT #1,MAT(I);
NEXT I
PRINT #1,
CLOSE #1
RETURN
2500 '-------- Eleman orta düğüm koordinatları --------
VI=1: TJ=0: TM=0
FOR I=1 TO NW
FOR K=1 TO NWD(I)
FOR J=1 TO NS
IF IDBLK((I-1)*NS+J)=0 THEN 2520
JM=(NSD(J)*(K-1))
FOR JI=1 TO NSD(J)
WI=JM+JI+TJ+TM
IF MAT(WI) <> 1 THEN 2510
P1=NOC(WI,1): P2=NOC(WI,2):P3=NOC(WI,3): P4=NOC(WI,4)
Bölüm-12-2020
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
PN(VI)=WI
PMN(VI,1)=((X(P1,1)+X(P2,1))/2+(X(P4,1)+X(P3,1))/2)/2
PMN(VI,2)=((X(P1,2)+X(P4,2))/2+(X(P2,2)+X(P3,2))/2)/2
2510 VI=VI+1
NEXT JI
TJ=TJ+(NSD(J)*NWD(I))
2520 NEXT J
TG=TJ: TJ=0
NEXT K
TM=TM+TG: TJ=0
NEXT I: GOSUB 2710
2530 RETURN
2600 TB=0: B=1
FOR J=1 TO NS
IF IDBLK(J) <> 0 THEN B=B+NSD(J)
NEXT
B=B+1
FOR I=1 TO NW
JM=0
FOR J=1 TO NS
IF IDBLK((I-1)*NS+J)<>0 THEN JM=JM+NSD(J)
NEXT
FOR K=1 TO NWD(I)
FOR J=1 TO NNS
IF NNAR(B)<0 THEN 2700
IF NNAR(B)=0 THEN 2610
NNAR(B)=NNAR(B)+JM*K+TB
LAS=NNAR(B)
2610 B=B+1
NEXT: NEXT
TB=TB+JM*NWD(I)
NEXT
2620 RETURN
2700 II=NNAR(B)*(-1): NNAR(B)=NNAR(II)
GOTO 2610
2710 J=1: FOR I=1 TO LAS
IF X(I,1)=-1 AND X(I,2)=-1 THEN 2730
2720 NEXT
FOR I=1 TO NE:NOC(I,0)=PM(I):NEXT
RETURN
2730 X(I,1)=PMN((J),1): X(I,2)=PMN((J),2)
PM(PN(J))=I:J=J+1
GOTO 2720
IF DS=2 THEN 2600
JM=0: TB=0
FOR I=1 TO NNT
IF NNAR(I) < 0 THEN NNAR(I)=NNAR(I)*(-1)
NEXT: RETURN
2800 DIM TN(NNW)
L=1: TB=1: B=1: BC=0
FOR I=1 TO NW
IF I <> NW THEN NRW=NWD(I) ELSE NRW=NWD(I)+1
FOR K=1 TO NRW
FOR J=1 TO NNS
IF NNAR(B) < 0 THEN 2900
IF NNAR(B)=0 THEN 2810
FOR JG=1 TO NGN
IF NGCN(JG)=NNAR(B) THEN NGCM(JG)=TB+BC
NEXT
NNAR(B)=TB+BC: LAS=NNAR(B)
2810 BC=BC+2: B=B+1
Bölüm-12-2121
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
NEXT
TN(L)=BC+TB-2
L=L+1
KDS=1
IF DS=4 THEN KDS=2
FOR R=1 TO NS
IF IDBLK((I-1)*NS+R) <> 0 THEN BC=BC+NSD(R)*KDS
NEXT R
TB=BC+TB: BC=0
NEXT: NEXT
RETURN
2900 II=NNAR(B)*(-1)
NNAR(B)=NNAR(II): GOTO 2810
REM"---------------------------------SEKIZ DÜGÜM
3000 L=1: VI=1: TJ=0: TM=0
FOR I=1 TO NW
FOR K=1 TO NWD(I)
FOR J=1 TO NS
IF IDBLK((I-1)*NS+J)=0 THEN 3030
JM=(NSD(J)*(K-1))
FOR JI=1 TO NSD(J)
WI=JM+JI+TJ+TM
IF MAT(WI) <> 1 THEN 3020
P1=NOC(WI,1): P2=NOC(WI,2)
P3=NOC(WI,3): P4=NOC(WI,4)
P6=TN(L)+VI: P7=P6+1
P5=P1+1: P8=P4+1
P10=P6: P11=P8: P8=P3: P3=P2: P2=P5
P5=P7: P7=P11: P1=P1: P6=P4: P4=P10
IF DS=4 GOTO 3010
NOC(WI,1)=P1: NOC(WI,2)=P2: NOC(WI,3)=P3
NOC(WI,4)=P4: NOC(WI,5)=P5: NOC(WI,6)=P6
NOC(WI,7)=P7: NOC(WI,8)=P8
X(P2,1)=(X(P1,1)+X(P3,1))/2:X(P2,2)=(X(P1,2)+X(P3,2))/2
X(P4,1)=(X(P1,1)+X(P6,1))/2:X(P4,2)=(X(P1,2)+X(P6,2))/2
X(P5,1)=(X(P3,1)+X(P8,1))/2:X(P5,2)=(X(P3,2)+X(P8,2))/2
X(P7,1)=(X(P6,1)+X(P8,1))/2:X(P7,2)=(X(P6,2)+X(P8,2))/2
GOTO 3020
REM"----------------------------------DOKUZ DUGUM
3010 P9=P8: P5=P4+1: P6=P5+1: P7=P9-2: P8=P9-1
VI=VI+1
NOC(WI,0)=P1: NOC(WI,1)=P2: NOC(WI,2)=P3
NOC(WI,3)=P4: NOC(WI,4)=P5: NOC(WI,5)=P6
NOC(WI,6)=P7: NOC(WI,7)=P8: NOC(WI,8)=P9
X(P2,1)=(X(P1,1)+X(P3,1))/2:X(P2,2)=(X(P1,2)+X(P3,2))/2
X(P4,1)=(X(P1,1)+X(P7,1))/2:X(P4,2)=(X(P1,2)+X(P7,2))/2
X(P6,1)=(X(P3,1)+X(P9,1))/2:X(P6,2)=(X(P3,2)+X(P9,2))/2
X(P8,1)=(X(P7,1)+X(P9,1))/2:X(P8,2)=(X(P7,2)+X(P9,2))/2
X(P5,1)=(X(P4,1)+X(P6,1))/2:X(P5,2)=(X(P2,2)+X(P8,2))/2
VI=VI+1
3020 NEXT JI
TJ=TJ+(NSD(J)*NWD(I))
3030 NEXT J
VI=1: TG=TJ: TJ=0: L=L+1
NEXT K
TM=TM+TG: TJ=0
NEXT I
RETURN:RETURN
Bölüm-12-2222
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
KEY OFF
SCREEN 11: F$="####.##"
ASP=.46
LOCATE 16,25
OPEN FILE$ FOR INPUT AS #3
INPUT #3,NN,NE,NM,NDIM,NEN,NBW,ND,NL
DIM X(NN,NDIM),X1(NN,NDIM),NOC(NE,NEN),DEP(NN,NDIM),K(NN,NDIM)
'============= DATALAR ===============
4010 FOR I=1 TO NN: FOR J=1 TO NDIM
DEP(I,J)=0: X(I,J)=0
NEXT J: NEXT I
FOR I=1 TO NN: FOR J=1 TO NDIM
INPUT #1,X(I,J)
NEXT J: NEXT I
FOR I=1 TO NE: FOR J=1 TO NEN
INPUT #1,NOC(I,J): NEXT J: NEXT I
FOR I=1 TO NN
FOR J=1 TO NDIM
X1(I,J)=X(I,J)
NEXT J: NEXT I
XMAX=X(1,1): YMAX=X(1,2): XMIN=X(1,1): YMIN=X(1,2)
FOR I=2 TO NN
IF XMAX < X(I,1) THEN XMAX=X(I,1): IF YMAX < X(I,2) THEN YMAX=X(I,2)
IF XMIN > X(I,1) THEN XMIN=X(I,1): IF YMIN > X(I,2) THEN YMIN=X(I,2)
NEXT I
CLS
XL=(XMAX-XMIN): YL=(YMAX-YMIN)
X0=XMIN-XL/10: Y0=YMIN-YL/10
LINE (80,1)-(80,350): LINE (80,350)-(639,350)
VIEW (82,1)-(639,348)
AA=538*ASP/167
IF XL/YL > AA THEN YL=XL/AA: IF XL/YL < AA THEN XL=YL*AA
XMAX=X0+1.3*XL: YMAX=Y0+1.3*YL
WINDOW (X0,Y0)-(XMAX,YMAX)
LOCATE 1,3: PRINT USING F$; YMAX
LOCATE 23,73: PRINT USING F$; XMAX
LOCATE 23,10: PRINT USING F$; X0
LOCATE 22,3: PRINT USING F$; Y0
4015 IF NEN=9 GOTO 4100
'=========== ELEMAN ÇİZİMİ ================
4020 CLS
FOR IE=1 TO NE
FOR II=1 TO NEN
X1=X1(NOC(IE,II),1): Y1=X1(NOC(IE,II),2)
IF II=NEN GOTO 4030
X2=X1(NOC(IE,II+1),1): Y2=X1(NOC(IE,II+1),2)
LINE (X1,Y1)-(X2,Y2)
GOTO 4040
4030 X2=X1(NOC(IE,1),1): Y2=X1(NOC(IE,1),2)
LINE (X1,Y1)-(X2,Y2)
4040 NEXT II: NEXT IE
4100 CLS
FOR IE=1 TO NE
FOR II=1 TO 2
X1=X1(NOC(IE,II),1): Y1=X1(NOC(IE,II),2)
X2=X1(NOC(IE,II+1),1): Y2=X1(NOC(IE,II+1),2)
LINE (X1,Y1)-(X2,Y2)
NEXT II
FOR II=7 TO 8
X1=X1(NOC(IE,II),1): Y1=X1(NOC(IE,II),2)
X2=X1(NOC(IE,II+1),1): Y2=X1(NOC(IE,II+1),2)
Bölüm-12-2323
Mühendisler İçin Sonlu Elemanlar Metodu,M. TOPCU,S. TAŞGETİREN
LINE (X1,Y1)-(X2,Y2)
NEXT II
FOR II=1 TO 6 STEP 3
X1=X1(NOC(IE,II),1): Y1=X1(NOC(IE,II),2)
X2=X1(NOC(IE,II+3),1): Y2=X1(NOC(IE,II+3),2)
LINE (X1,Y1)-(X2,Y2)
NEXT II
FOR II=3 TO 8 STEP 3
X1=X1(NOC(IE,II),1): Y1=X1(NOC(IE,II),2)
X2=X1(NOC(IE,II+3),1): Y2=X1(NOC(IE,II+3),2)
LINE (X1,Y1)-(X2,Y2)
NEXT II
CIRCLE (X1(NOC(IE,5),1),X1(NOC(IE,5),2)),.2
NEXT IE
'================ DÜĞÜM NUMARALARI ===============
4200 LOCATE 24,20: INPUT ; " DÜĞÜM NUMARALARINI İSTERMİSİN > ",A$
IF A$="H" OR A$="h" GOTO 4300
FOR I=1 TO NN
ICOL=(100+(538*(X1(I,1)-X0)/(1.2*XL)))/8
IROW=(168-167*(X1(I,2)-Y0)/(1.2*YL))/8
LOCATE IROW,ICOL: PRINT I; : NEXT I: LOCATE 24,20
INPUT ; "DÜĞÜMSÜZ ÇİZİM İSTERMİSİN < E/H > ",A$
IF A$="E" OR A$="e" GOTO 4015
4300 END
Bölüm-12-2424