next up previous
Next: About this document ... Up: PME Veri Tipi ve Previous: Hata Ayiklama Yordami

Dosya Biçimleri

PME dosyalari .msh uzantilidir. P parçaya bölünmüs dagitik bir grid dosya.0.msh, dosya.1.msh, ..., dosya.P-1.msh seklinde muhafaza edilir. Bu dosyalar ilgili islemciler üzerinde muhafaza edilmesi gerekmektedir. Örnegin, dosya.0.msh, 0'inci islemcide, dosya.1.msh 1'inci islemcide vs. PME dosyasinin ilk satiri, PME'nin versiyonunu belirler:

# pme version 1.0

Ikinci satirda ise varlik sayilari verilmektedir. Burada 4 tane sayi verilmistir. Bunlar sirasiyla söyledir:

Nokta-sayisi Kenar-sayisi Yüz-sayisi Bölge-sayisi

Üçüncü satirda iki rakam bulunmaktadir. Birinci rakam yüz varligi üzerinde kaç tane kenar bulundugunu gösterir. Ikinci rakam ise bölge üzerinde kaç tane yüz bulundugunu gösterir.

Dördüncü satirda ise ikinci satirdaki sayilara benzer sayilar bulunmaktadir. Fakat, buradaki sayilar gridin geometrik model sinirlari üzerindeki varliklarin sayilarini göstermektedir. Besinci satirda benzer bir sekilde parçalanmis gridin (parça) sinirlari üzerindeki varlik sayilarini verir (nokta sayisi, kenar sayisi ve yüz sayisi).

Daha sonra ilk olarak nokta listesine yer verilir. Nokta listesinin her satirinda $x$, $y$ ve $z$ kordinatlari bulunur.

Nokta listesinden sonra kenar listesine yer verilir. Kenar listesinin her satirinda iki sayi bulunmaktadir. Bunlarin her biri bir noktayi belirtir. Örnegin, 3 sayisi varsa, bu nokta listesinde 3'üncü nokta anlamindadir. Kullanilan endeksler 1'den baslamaktadir - örnegin 1'inci nokta, ikinci nokta vs. Kenar listesinden sonra yüz listesi vardir. Yüz listesinin her satirinda üç sayi bulunmaktadir. Bu sayilar kenarlarin sayisidir. Bu sayilar pozitif veya negatif olarak verilmistir. Bu sayilarin mutlak degeri kaçinci kenarin kullanildigini belirtir. Bir üçgen kenarlarin tutarli bir siralamasi ile tanimlanir. Tutarli siralama kenarlarin tutarli (ayni) yönde bir dolasim ile yapilir. Referans dolasim ise sag elin ters saat yönünde dolasimi olarak alinmistir. Eger üçgen tarafindan kullanilan bir kenarin noktalari kenar taniminda kullanilan sira ile ayni ise kenar pozitif olarak yazilir. Eger ters yönde ise negatif olarak yazilir. Üç boyutlu gridlerde bölgelerinde tutarli bir sekilde yüz kullanimi tanimlanmalidir. Bu tanimlama söyledir: yüzü tanimlayan sag el dolasim dikeyi bölge içerisine isaret ediyorsa yüz sayisi negatif olarak yazilir. Eger dikey bölge disarisina isaret ediyorsa yüz sayisi pozitif olarak yazilir. Bu yönlerin PME'de belirtik olarak muhafaza edilmesinin sebebi hem yerel dolasim listelerinin hazirlanmasinda kolaylik, hemde sonlu eleman hesaplamalarinda (örnegin belirten (determinant) hesaplamalarinda ) gerekli olmasidir.

Yüzlerde tanimlandiktan sonra, eger grid 3 boyutlu ise bölgelerin tanimi gelir. Bölgeler yüzlerle tanimlanir. Bölgelerin tanimindan sonra ise parça sinir varlik sahiplikleri gelir. Besinci satirda sayilari belirtilen parça sinir varliklarinin sahiplikleri sirasiyla noktalar, kenarlar ve yüzler olmak üzere verilir. Her bir satirda üç rakam bulunmaktadir:

Sahip-islemci Sahip-islemcideki-varlik-endeksi Kullanici-islemci-varlik-endeksi

Parça sinirindaki bir varlik birden fazla islemci tarafindan kullanilabilir (ve muhafaza) edilebilir. Böyle olunca bu varlikla ilgili islemlerden sorumlu olacak tek bir sahip tanimlanmistir. Bu sahiplik kavrami paralel sonlu eleman hesaplamalarinda ve paralel derleyecilerde sahip hesaplar kurali adi altinda yaygin olarak kullanilan bir paradigimdir.

Dosya biçimlerine örnek olarak Sekil 1(a)'deki kare gridin dosyasi asagida verilmistir. Burada bütün grid 0 sayili islemci üzerindedir. Sekil 3(a)'da varlik sayilari verilmistir. Sekil 3(b)'de ise 1'inci ücgen taniminda sag el kuralinin uygulanisi gösterilmektedir. Grid doyasi icerisinde 1'inci üçgen tanimi -5 -4 15 olarak verilmistir. Sekil 3(b)'dende görüldügü gibi 5'inci ve 4'üncü kenarlar ters yönde kullanilmistir. Bundan dolayi dosyada negatif olarak yazilmistir.

Figure: 0'inci islemciye yüklenen grid (a) kenarlarla 1'inci üçgenin tanimi (b)
\begin{figure}
\centerline {\psfig{file=owner1.eps,width=5.8in,height=3.6in}}\end{figure}


# pme version 1.0
9 16 8 0
3 0
8 8 0 0
0 0 0
-1.0  1.0 0.0
 0.0  1.0 0.0
 1.0  1.0 0.0
-1.0  0.0 0.0
 0.0  0.0 0.0
-1.0 -1.0 0.0
 1.0  0.0 0.0
 0.0 -1.0 0.0
 1.0 -1.0 0.0
9 8
8 6
6 4
4 1
1 2
2 3
3 7
7 9
8 5
5 4
7 5
5 2
8 4
8 7
4 2
2 7
-5 -4 15 
-3 -2 13 
-7 -6 16 
-10 12 -15 
9 10 -13 
-12 -11 -16 
11 -9 14 
-1 -8 -14 
0 3 1
1 3 2
0 4 3
1 2 4
0 2 6
1 4 7
1 1 8
0 1 9
1 1 1
1 1 2
1 2 3
1 2 4
1 3 5
1 3 6
1 4 7
1 4 8

Yukaridaki grid 4 parçaya bölününce sirasiyla 0,1,2,3 islemcileri için kare.0.msh,kare.1.msh, kare.2.msh, kare.3.msh dosyalarinda asagidaki sekilde muhafaza edilir. Bu parçalamada kullanilan varlik sahiplikleri Sekil 4'de kalin (koyu) nokta ve çizgilerle gösterilmistir.

Figure: 4'e parçalandiktan sonraki grid ve varlik sahiplikleri
\begin{figure}
\centerline {\psfig{file=owner2.eps,width=3.5in,height=3.6in}}\end{figure}

kare.0.msh dosyasi:


# pme version 1.0
4 5 2 0 
3 0
3 2 0 0
3 2 0
-1.0  0.0 0.0 
 0.0  0.0 0.0 
-1.0 -1.0 0.0 
 0.0 -1.0 0.0 
4 3 
3 1 
4 2 
2 1 
4 1 
-2 -1 5 
3 4 -5 
1 2 1 
0 2 3 
1 1 4 
1 1 1 
1 2 2 
0 4 4 
2 4 2 
1 2 1 
2 5 3 
0 4 4

kare.1.msh dosyasi:


# pme version 1.0
4 5 2 0 
3 0
3 2 0 0
3 2 0
 0.0 1.0 0.0 
-1.0 0.0 0.0 
-1.0 1.0 0.0 
 0.0 0.0 0.0 
3 1 
2 3 
2 1 
4 2 
4 1 
-1 -2 3 
-4 5 -3 
1 3 1 
1 2 2 
0 3 3 
1 3 1 
1 2 2 
1 1 1 
1 2 2 
2 4 4 
0 4 4 
3 4 5

kare.2.msh dosyasi:


# pme version 1.0
4 5 2 0 
3 0
3 2 0 0
3 2 0
0.0 -1.0 0.0 
1.0  0.0 0.0
1.0 -1.0 0.0 
0.0  0.0 0.0 
3 1 
2 3 
1 2 
2 4 
1 4 
-1 -2 -3 
4 -5 3 
1 1 1 
1 4 2 
0 1 3 
1 1 1 
1 4 2 
2 4 4 
3 1 2 
0 4 1 
2 5 5 
2 4 4

kare.3.msh dosyasi:


# pme version 1.0
4 5 2 0 
3 0
3 2 0 0
3 2 0
1.0 0.0 0.0 
0.0 1.0 0.0 
1.0 1.0 0.0 
0.0 0.0 0.0 
3 1 
2 3 
2 1 
4 2 
1 4 
-1 -2 3 
-4 -5 -3 
1 4 1 
1 3 2 
0 4 3 
1 4 1 
1 3 2 
1 1 2 
2 4 4 
3 1 1 
2 4 5 
3 4 4


next up previous
Next: About this document ... Up: PME Veri Tipi ve Previous: Hata Ayiklama Yordami
Can Ozturan
2001-12-22