prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje...

46
UNIVERZITET U BEOGRADU Numeriˇ cke metode u hidrotehnici prof. Miodrag B. Jovanovi´ c Metoda konaˇ cnih elemenata Doktorski kurs Gradjevinski fakultet Beograd, april, 2008.

Transcript of prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje...

Page 1: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

U N I V E R Z I T E T U B E O G R A D U

Numericke metode

u hidrotehnici

prof. Miodrag B. Jovanovic

Metoda konacnih elemenata

Doktorski kurs

Gradjevinski fakultet

Beograd, april, 2008.

Page 2: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

Sadrzaj

1 Metoda konacnih elemenata 1

1.1 Uvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1

1.2 Opsta formulacije MKE . . . . . . . . . . . . . . . . . . . . . . . . 2

1.2.1 Diskretizacija racunske oblasti . . . . . . . . . . . . . . . . 4

1.2.2 Linearne interpolacione funkcije . . . . . . . . . . . . . . . . 5

1.2.2.1 Referentni linearni element . . . . . . . . . . . . . 7

1.2.2.2 Pravila transformacije . . . . . . . . . . . . . . . . 8

1.3 Matricna formulacija MKE . . . . . . . . . . . . . . . . . . . . . . 10

1.4 Proracun elementarnih matrica i vektora . . . . . . . . . . . . . . . 12

1.4.1 Matrica mase [m] . . . . . . . . . . . . . . . . . . . . . . . . 12

1.4.2 Matrica konvektivnosti [k] . . . . . . . . . . . . . . . . . . . 14

1.4.3 Elementarni vektor fΩ . . . . . . . . . . . . . . . . . . . . . 14

1.5 Numericka integracija . . . . . . . . . . . . . . . . . . . . . . . . . 14

1.6 Globalna matrica i globalni vektor . . . . . . . . . . . . . . . . . . 16

1.6.1 Problem ustaljenog stanja . . . . . . . . . . . . . . . . . . . 17

1.6.2 Problem neustaljenog stanja . . . . . . . . . . . . . . . . . . 18

1.7 Primer iz matematike . . . . . . . . . . . . . . . . . . . . . . . . . 19

1.7.1 Resavanje u globalnom koordinatnom sistemu . . . . . . . . 20

1.7.2 Resavanje u lokalnom koordinatnom sistemu . . . . . . . . 23

1.7.3 Poredjenje sa analitickim resenjem . . . . . . . . . . . . . . 24

i

Page 3: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

ii Sadrzaj

1.8 Primer iz hidraulike . . . . . . . . . . . . . . . . . . . . . . . . . . 25

1.8.1 Galerkinova formulacija . . . . . . . . . . . . . . . . . . . . 25

1.8.2 Struktura globalnog sistema jednacina . . . . . . . . . . . . 29

1.8.3 Kodirani racunski algoritam . . . . . . . . . . . . . . . . . . 30

1.8.4 Rezultati proracuna . . . . . . . . . . . . . . . . . . . . . . 31

LiteraturaDodatak 1Dodatak 2

Page 4: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1

Metoda konacnih elemenata

1.1 Uvod

Metoda konacnih elemenata (MKE) omogucava priblizno resavanje granicnih i/ilipocetnih problema. Sustina ove metode je u podeli kontinuuma na veliki brojelemenata jednostavnog oblika (segmenti, trouglovi, cetvorouglovi), tako da sepostigne dobro poklapanje granica fizickog i racunskog domena.

Zavisno promenljiva diferencijalne jednacine se izrazava u obliku linearne kombi-nacije izabranih interpolacionih funkcija (najcesce polinoma) i vrednosti te promen-ljive ili njenih izvoda u odredjenom broju cvorova elementa. Koristeci metodutezinskih ostataka ili principe varijacionog racuna, osnovne diferencijalne jedna-cine se transformisu u integralne jednacine pojedinacnih elemenata. Sabiranjemdoprinosa svih elemenata, formira se globalni sistem algebarskih jednacina, kojepri tome obuhvataju i zadate granicne i/ili pocetne uslove. Vrednosti zavisnopromenljivih u cvorovima dobijaju se kao resenje ovog sistema jednacina.

Prednost MKE u odnosu na druge metode je u mogucnosti lakseg i tacnijegobuhvatanja geometrijski slozenih racunskih oblasti u prostorno visedimenzionomproblemima, kao i mogucnosti lakog lokalnog povecanja gustine racunske mreze uzonama od interesa. Tacnost rezultata zavisi od gustine mreze (broja elemenata)i od tipa interpolacionih funkcija.

U nastavku se daje rezime MKE zasnovan na autorovoj knjizi [6]. Ovaj tekst jezamisljen kao dopunski materijal za lakse razumevanje gradiva. Iz tog razloga seiskljucvo bavi resavanjem linijskih problema, iako prednosti MKE dolaze doizrazaja tek u visedimenzionim problemima.

Za pracenje teksta koji sledi vazna je sledeca napomena:

Da bi se jasnije uocila struktura matricnih operacija, koriste se ravnopravno oz-nake za vektor-vrstu: a i < a >, za vektor-kolonu: aT i < a >T = a i zamatricu: A i [A]. Oznaka < a, b > predstavlja skalarni proizvod dva vektora.

1

Page 5: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

2 1. Metoda konacnih elemenata

1.2 Opsta formulacija MKE

Zakoni odrzanja mogu se napisati u obliku opste diferencijalne jednacine:

∂u

∂t+ L(u) + fΩ = 0, (1.1)

gde je Ω – racunska oblast, u – vektor zavisno promenljivih, L(u) – prostornidiferencijalni operator, a fΩ – vektor izvora/ponora u oblasti Ω.

Da bi se matricna jednacina (1.1) resila metodom konacnih elemenata (MKE),potrebno je da bude transformisana u odgovarajucu integralnu jednacinu.

Za formiranje integralnih jednacina postoje dva pristupa shematski prikazana naSlici 1.1.

Fizicki sistem:

Sistem parcijalnihdiferencijalnih jednacina

↓Metode ostatka (reziduuma)

↓Tezinske funkcije

Principi varijacionogracuna

↓Funkcionali

↓Uslovi stacionarnosti(jasan fizicki smisao)

Integralne forme (jednacine)

↓Diskretizacija (MKE)

↓Formiranje i resavanjesistema algebarskih jednacina

Slika 1.1: Metode za formiranje integralnih jednacina [6]

Metode ostatka (reziduuma). Neka je kontinualni fizicki sistem definisanjednacinom ustaljenog stanja:

L(u) + fΩ = 0 (1.2)

i neka je resenje problema funkcija u(x) koja zadovoljava skup odredjenih granicnihuslova na granici domena Ω.

Page 6: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.2. Opsta formulacija MKE 3

Ako funkcije u nisu tacno, vec priblizno resenje, jednakost (1.2) nece biti zadovo-ljena: L(u) + fΩ 6= 0, a velicina greske:

R(u) = L(u) + fΩ 6= 0 (1.3)

zove se reziduum ili ostatak. Kako je problem definisan matricnom jednacinom,odnosno sistemom jednacina, to je reziduum R vektor. Ako je u tacno resenjeproblema, vektor R je jednak nultom vektoru.

Greska ili reziduum se svodi na nulu u ,,prosecnom smislu” ako je skalarni proizvodfunkcije reziduuma R(u) i odredjenih tezinskih funkcija W jednak nuli [1, 2, 5, 6]:

I(u) =⟨W , R

⟩=

Ω

W · R(u)dΩ =

=

Ω

< W > L(u) + fΩ dΩ = 0. (1.4)

Imajuci u vidu definiciju skalarnog proizvoda i znacenje njegove nulte vrednosti,moze se reci da integralna jednacina (1.4) predstavlja uslov ortogonalnosti projek-cije reziduuma na podskup odredjenih tezinskih funkcija.

Metode reziduuma, ili metode tezinskih ostataka (MTO), sastoje se u iznalazenjufunkcija u za koje ce vaziti jednacina (1.4). Sva resenja u koja zadovoljavaju (1.2)istovremeno zadovoljavaju i (1.4), bez obzira na izbor tezinskih funkcija. Dimenzijevektora tezinskih funkcija zavise od broja nepoznatih (,,stepeni slobode”) datogproblema, a ove funkcije moraju biti diferencijabilne i moraju imati nulte vrednostina granicama, na kojima su granicnim uslovima zadate vrednosti u.

U zavisnosti od izbora tezinskih funkcija postoji nekoliko varijanti minimizacijereziduuma. Varijante MTO poznate su pod imenima ,,metoda kolokacije”, ,,me-toda podoblasti”, ,,metoda najmanjih kvadrata” i ,,metoda Galerkina” [1, 2, 3]itd.

Varijacione metode. Fizicki zakoni se mogu matematicki formulisati uslovom daizvesni integrali dostignu ekstremne vrednosti. Za razliku od metoda konacnih za-premina koje su zasnovane na diferencijalnom racunu funkcija, teorija MKE je za-snovana na varijacionom racunu koji se bavi ekstremnim vrednostima funkcionala– funkcija drugih funkcija. Tipican primer je linijski problem:

I(u) =

∫ x2

x1

Π

(

x, u(x),du(x)

dx, . . .

)

dx, (1.5)

gde je Π(. . .) – funkcional funkcija u(x), du(x)/dx itd. Problem je utvrditi onufunkciju u(x) i odgoravajuci funkcijonal Π(. . .) koji daje ekstremnu vrednost (mak-simalnu ili minimalnu) integralu I(u).

Page 7: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

4 1. Metoda konacnih elemenata

Varijacione metode se zasnivaju na principu stacionarnosti funkcionala koji imajasno fizicko tumacenje. (Na primer, u mehanici funkcional ima znacenje poten-cijalne energije sistema.) Uslov stacionarnosti se definise primenom varijacionogoperatora δ na funkcional (po analogiji sa primenom diferencijalnog operatora nafunkciju):

δΠ

(

x, u(x),du(x)

dx, . . .

)

= 0. (1.6)

Moze se pokazati da je uslov stacionarnosti za visedimenzioni problem (1.1) inte-gralna jednacina [6]:

I(u) =

Ω

δu

(∂u

∂t+ L(u) + fΩ

)

dΩ = 0, (1.7)

gde je δu – vektor malih promena (varijacija) zavisno promenljivih u.

Iz skupa dopustenih funkcija u (sa stanovista diferencijabilnosti i granicnih uslova),samo one funkcije koje zadovoljavaju jednacinu (1.1) cine funkcional stacionarnim,odnosno ispunjavaju uslov (1.7).

Ako se (zanemarujuci izvod po vremenu), uporede jednacine (1.7) i (1.4) vidi seda je formalno:

W = δu. (1.8)

Najpoznatija varijaciona metoda je metoda Ritza [2, 6, 8]. Resenja koja daje ovametoda identicna su resenjima koja se dobijaju primenom Galerkinove metode.

1.2.1 Diskretizacija racunske oblasti

Racunska oblast Ω deli se na konacan broj podoblasti – konacnih elemenata Ω(e),pri cemu se nepoznate u odredjuju u cvorovima elemenata (Slika 1.2-(a)).

Ako se pretpostavi da se u svakom cvoru javlja samo jedna nepoznata (u), inte-gralna jednacina elementa (1.7) postaje:

I(e) =

Ω

δu(e)

(∂u

∂t+ L(u) + fΩ

)

dΩ = 0. (1.9)

Do tacnog ili pribliznog resenja ove jednacine dolazi se na nivou svakog elementa,dok se konacno resenje problema dobija kao zbir pojedinacnih resenja:

e

I(e) = 0. (1.10)

Page 8: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.2. Opsta formulacija MKE 5

Slika 1.2: (a) diskretizacija racunske oblasti konacnim elementima; (b) jednacina

za cvor ,,i” sadrzi doprinos svih elemenata oko tog cvora, sa povrsine∑Mi

j=1 Ω(e).

Ako se podintegralne funkcije u (1.9) na odredjen nacin (koji je prikazan u nas-tavku), aproksimiraju po cvorovima, u izrazu (1.9) ce se pojaviti vektori izabranihinterpolacionih funkcija i vektor nepoznatih u cvorovima. Jednacine (1.9) i (1.10)tako postaju matricne jednacine. Sabiranje (1.10) podrazumeva da se, kao stopokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datogcvora. Takodje se podrazumeva da se u (1.10) uvedu i vrednosti u cvorovima kojesu zadate granicnim uslovima.

Ishod ovog nacelnog postupka je sistem algebarskih (obicno nelinearnih) jednacina,cijim resavanjem se odredjuju nepoznate vrednosti u svim cvorovima.

1.2.2 Linearne interpolacione funkcije

Razmatra se linijski (1D) problem, gde je nepoznata funkcija u = u(x). Racunskidomen Ω, koji u ovom slucaju predstavlja pravu odredjene duzine u pravcu ko-ordinatne osovine x, moze se podeliti na veci broj segmenata – elemenata Ω(e).Pretpostavlja se da su linearni elementi, sto znaci da je promena funkcije u(x) posvakom elementu linearna (Slika 1.3-(a)):

u(x)(e) = a + b · x. (1.11)

Slika 1.3: (a) linearni element; (b) interpolacione funkcije linearnog elementa.

Page 9: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

6 1. Metoda konacnih elemenata

Nepoznati koeficijenti prave a i b odredjuju se iz uslova da funkcija u(x) ima odre-djene vrednosti u cvorovima:

u(xi)(e) ≡ ui = a + b · xi

U(xi+1)(e) ≡ ui+1 = a + b · xi+1

(1.12)

ili, u matricnom obliku:

ui

ui+1

=

[1 xi

1 xi+1

]a

b

, (1.13)

odakle sledi resenje:

a

b

=

[1 xi

1 xi+1

]−1

ui

ui+1

, (1.14)

odnosno,

a =xi+1 · ui − xi · ui+1

∆xi

(1.15)

b =ui+1 − ui

∆xi

, (1.16)

gde je ∆xi = xi+1 − xi.

Zamenom u (1.11) dobija se:

u(e)(x) =xi+1 − x

∆xi︸ ︷︷ ︸

N(e)i

·ui +x − xi

∆xi︸ ︷︷ ︸

N(e)i+1

·ui+1, (1.17)

ili:

u(e)(x) = N(e)i · ui + N

(e)i+1 · ui+1 =< Ni(x)(e) Ni+1(x)(e) >

ui

ui+1

, (1.18)

ili skraceno:

u(e)(x) =< N(x) > un, (1.19)

gde vektor vrsta < N(x) >=< Ni(x)(e) Ni+1(x)(e) > sadrzi interpolacione (bazne)funkcije u globalnom koordinatnom sistemu (x), kao sto je prikazano na Slici 1.3-(b), dok vektor kolona un = ui ui+1T sadrzi nepoznate u cvorovima.

Page 10: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.2. Opsta formulacija MKE 7

1.2.2.1 Referentni linearni element

Da bi se racun uprostio i uvek na isti nacin sistematski sprovodio tako da seizbegne rad sa elementima razlicite duzine, uvodi se referentni element, u lokalnomkoordinatnom sistemu (Slika 1.4-(a)).

Slika 1.4: (a) referentni linearni element; (b) interpolacione funkcije u lokalnomkoordinatnom sistemu. Moze se primetiti da su u lokalnom sistemu (ξ) i globalnomsistemu (x) iste vrednosti u cvorovima (ui, ui+1).

Referentni element mora takodje biti linearan:

u(ξ) = a′ + b′ · ξ (1.20)

pod uslovom: u(−1) = ui i u(1) = ui+1. Odavde sledi:

ui = a′ + b′ · (−1)ui+1 = a′ + b′ · (+1),

(1.21)

ili u matricnom obliku:

ui

ui+1

=

[1 −1

1 1

]a′

b′

, (1.22)

odakle sledi resenje:

a′

b′

=

[1 −1

1 1

]−1ui

ui+1

=1

2

[1 1

−1 1

]ui

ui+1

, (1.23)

odnosno,

a′ =1

2(ui + ui+1) (1.24)

b′ =1

2(ui+1 − ui). (1.25)

Page 11: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

8 1. Metoda konacnih elemenata

Zamenom u (1.20) konacno je:

u(ξ) =1

2(1 − ξ)︸ ︷︷ ︸

N1

·ui +1

2(1 + ξ)︸ ︷︷ ︸

N2

·ui+1 =< N1(ξ) N2(ξ) >

ui

ui+1

, (1.26)

ili skraceno:

u(ξ) =< N(ξ) > un. (1.27)

U navedenom izrazu < N(ξ) >=< N1(ξ) N2(ξ) > su interpolacione funkcijereferentnog linearnog elementa, u lokalnom koordinatnom sistemu.

Izrazi (1.19) i (1.27) predstavljaju ,,interpolaciju po cvorovima elemenata” (,,nodalinterpolation”).

1.2.2.2 Pravila transformacije

Metrika prelaza iz jednog koordinatnog sistema u drugi obuhvata uslov jednozna-cnosti, kao i pravila transformacije funkcije, izvoda funkcije i integrala.

Jednoznacnost. Integracija se moze obaviti po referentnom elementu ako svakojtacki prostora (ξ) odgovara samo jedna tacka prostora (x). Ovaj uslov jednoznacnegeometrijske korespondencije polazi od pretpostavke da je x = x(ξ) i kaze dasvaka tacka ξ∗ u lokalnom koordinatnom sistemu referentnog elementa ima samojednu, odgovarajucu tacku x(ξ∗) = x∗ u globalnom koordinatnom sistemu stvarnogelementa.

Zavisnost x(ξ) se moze definisati na sledeci nacin:

x = x(ξ) =< N(ξ) > xn =< N1(ξ) N2(ξ) >

xi

xi+1

, (1.28)

pretpostavljajuci da su interpolacione funkcije geometrijske transformacije identi-cne interpolacionim funkcijama zavisno promenljive.

Uslov da geometrijska transformacija bude jednoznacna (,,bijektivna”) je da:

∣∣dx

∣∣ > 0. (1.29)

Ovo je specijalni slucaj uslova: |det[J ]| > 0 kod visedimenzionih problema, gde je[J ] – Jakobijeva matrica izvoda, a det[J ], njena determinanta.

Page 12: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.2. Opsta formulacija MKE 9

U linijskom problemu, Jakobijeva matrica se svodi samo na jedan element: [J ] =J11 = dx/dξ, pa je i njena determinanta: det[J ] = J11 = dx/dξ, ili u razvijenomobliku:

det[J ] =dx

dξ=

d

dξ(< N(ξ) > xn) =

d

dξ(< N1(ξ) N2(ξ) > xn) =

= <dN1

dN2

dξ>

xi

xi+1

=< −1/2 1/2 >

xi

xi+1

=

= −∆xi

2+

∆xi+1

2=

xi+1 − xi

2=

∆xi

2. (1.30)

Dakle, uslov jednoznacnosti transformacije je:

det[J ] =∆xi

2. (1.31)

Funkcija. Pravilo transformacije funkcije iz globalnog u lokalni koordinatni sistemje:

u(x) = u( (x(ξ) ) = u (< N(ξ) > xn) =< N(ξ) > u(xn) =

= < N(ξ) > un = u(ξ), (1.32)

pri cemu treba naglasiti da funkcije u(x) i u(ξ) nisu iste, ali su im iste vrednosti ucvorovima, sto je ocito ako se ima u vidu (1.18), odnosno (1.19). Ovim je dokazanopravilo tranformacije funkcije:

u(x) = u(ξ). (1.33)

Izvod funkcije. Pravilo transformacije izvoda funkcije se lako izvodi iz prethod-nih pravila:

du

dx=

du

dξ· dξ

dx=

du

dξ· [J ]−1. (1.34)

Ako se ima u vidu da je: [J ]−1 = 1/J11 = 2/∆xi, sledi:

du

dx=

du

dξ· 2

∆xi

. (1.35)

Page 13: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

10 1. Metoda konacnih elemenata

Integral. Kao u prethodnom slucaju, transformacija integrala direktno sledi izprethodno definisanih pravila:

∫ xi+1

xi

f(x) dx =

∫ +1

−1

f( x(ξ) ) · dx

dξdξ =

∫ +1

−1

f( x(ξ) ) · ∆xi

2dξ. (1.36)

Ako se ovo primeni na opstu formulaciju problema (1.9), dobija se:

I(e) =

∫ xi+1

xi

δu(x)

[∂u(x)

∂t+ L( u(x) ) + fΩ

]

dx =

=

∫ +1

−1

δu(ξ)

[du(ξ)

dt+ L( u(ξ) ) + fΩ

]

· ∆xi

2dξ. (1.37)

Naglasava se da se u MKE sistematski koristi integracija u lokalnom koordinatnomsistemu.

1.3 Matricna formulacija MKE

Integralna formulacija problema (1.9) u globalnom koordinatnom sistemu je:

I ≈ne∑

e=1

I(e) =

ne∑

e=1

Ω(e)

δu(e)

(∂u(e)

∂t+ L(u(e)) + fΩ

)

dΩ =

=

ne∑

e=1

Ω(e)

δu(e) ∂u(e)

∂tdΩ

︸ ︷︷ ︸

I(e)1

+

+

ne∑

e=1

Ω(e)

δu(e)(

L(u(e)) + fΩ

)

︸ ︷︷ ︸

I(e)2

= 0, (1.38)

gde simbol ,,e” oznacava proizvoljni element u skupu od ne elemenata na koje jeizdeljena racunska oblast.

Ako se primeni aproksimacija po cvorovima:

u(e) = < N > unδu(e) = < N > δun,

(1.39)

Page 14: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.3. Matricna formulacija MKE 11

integrali I(e)1 i I

(e)2 se mogu razviti na sledeci nacin:

I(e)1 =

Ω(e)

< N > δun∂

∂t

(

< N > un)

dΩ =

= < δun >

Ω(e)

N < N > dΩ

︸ ︷︷ ︸

[m]

dun

dt

(1.40)

I(e)2 =

Ω(e)

< N > δun(

L(< N > un) + fΩ

)

dΩ =

= < δun >( ∫

Ω(e)

N L(< N >) dΩ

︸ ︷︷ ︸

[k]

un +

Ω(e)

N fΩ dΩ

︸ ︷︷ ︸

)

. (1.41)

Moze se zapaziti da se u jednacinama (1.40) i (1.41) sada javlja elementarni vektorvarijacija promenljivih u cvorovima < δun >.

Integrali uz vektore nepoznatih u cvorovima elementa un, odnosno uz njihoveizvode po vremenu dun/dt, predstavljaju elementarne matrice [k] i [m]. VektorfΩ je elementarni vektor spoljasnjih uticaja1.

Clanovi elementarne matrice [m] su konstante – ne zavise od nepoznatih un, dokclanovi elementarne matrice [k] zavise od nepoznatih un kada je problem neline-aran.

Iz (1.40) i (1.41) sledi da za bilo koju varijaciju (promenu) u cvorovima < δun >,uslov (1.38) ce biti zadovoljen ako je:

ne∑

e=1

Ω(e)

N < N > dΩ

dun

dt

+ne∑

e=1

Ω(e)

NL(< N >) dΩun +

+ne∑

e=1

Ω(e)

NfΩ dΩ = 0.(1.42)

U linijskim problemima je: N = N(x), Ω(e) ∈ (xi, xi+1) i dΩ =dx.

U kontekstu metoda tezinskih ostataka (MTO), integrali (1.42) iskazuju uslov dagreska pribliznog resenja (ili ostatak, ,,rezidual”) bude jednak nuli. U opstemslucaju to se moze postici pomocu neke tezinske funkcije W (x).

1U teoriji konstrukcija se koriste termini: [m] – ,,matrica mase”, [k] – ,,matrica krutosti” i fΩ– ,,vektor opterecenja”. Matrici krutosti u hidrotehnici bi odgovarala ,,matrica konvektivnosti”ili ,,matrica difuzivnosti”, u zavisnosti od prirode problema.

Page 15: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

12 1. Metoda konacnih elemenata

Galerkinova varijanta MTO podrazumeva da su tezinske i interpolacione funkcijeidenticne:

Wi(x) ≡ Ni(x)Wi+1(x) ≡ Ni+1(x),

(1.43)

tako da izraz (1.42) predstvlja ustvari Galerkinovu formulaciju MKE.

1.4 Proracun elementarnih matrica i vektora

Za proracun elementarnih matrica mase [m] i konvektivnosti [k], kao i elemen-tarnog vektora fΩ, sistematski se koristi integracija u lokalnom koordinatnomsistemu, vodeci racuna o pravilima transformacije (1.31)-(1.36). Elementi elemen-tarnih matrica i elementarnog vektora su integrali!

Ako su podintegralne funkcije polinomi, elementi matrica se odredjuju analiticki, aako su podintegralne funkcije vrlo slozene, mora se primeniti numericka integracija.

1.4.1 Matrica mase [m]

Ova matrica, definisana u opstem slucaju:

[m] =

Ω(e)

N(x) < N(x) > dΩ,

u linijskom problemu koji se resava linearnim elementima ima oblik:

[m] =

∫ xi+1

xi

Ni

Ni+1

< Ni Ni+1 > dx. (1.44)

Kako je:

N < N >=

Ni

Ni+1

2×1

< Ni Ni+1 >1×2=

[N2

i Ni Ni+1

Ni+1 Ni N2i+1

]

2×2

sledi:

[m] =

∫ xi+1

xi

N2i dx

∫ xi+1

xi

Ni Ni+1 dx

∫ xi+1

xi

Ni+1 Ni dx

∫ xi+1

xi

N2i+1 dx

. (1.45)

Page 16: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.4. Proracun elementarnih matrica i vektora 13

Elementi ove matrice su koristeci pravila transformacije:

m11 =

∫ xi+1

xi

N2i dx =

∫ +1

−1

N1(ξ)2 · ∆xi

2dx =

∆xi

2

∫ +1

−1

N1(ξ)2 dξ (1.46)

m12 =

∫ xi+1

xi

Ni Ni+1 dx =∆xi

2

∫ +1

−1

N1 N2 dξ (1.47)

m21 =

∫ xi+1

xi

Ni+1 Ni dx =∆xi

2

∫ +1

−1

N2 N1 dξ (1.48)

m22 =

∫ xi+1

xi

N2i+1 dx =

∆xi

2

∫ +1

−1

N22 dξ. (1.49)

Vodeci racuna da je: N1 = 12(1−ξ) i N2 = 1

2(1+ξ), unapred su sracunati integraliza linearni referentni element pomocu pravila:

∫ 1

−1

ξi dξ =

0 neparno i

2

i + 1i = 0, parno i

(1.50)

Gotovi (,,sintetizovani”) izrazi dati su u Dodatku 1. Njihovim koriscenjem se mozepokazati da je:

m11 =∆xi

2· 2

3=

∆xi

3(1.51)

m12 =∆xi

2· 1

3=

∆xi

6(1.52)

m21 =∆xi

2· 1

3=

∆xi

6(1.53)

m22 =∆xi

2· 2

3=

∆xi

3, (1.54)

odnosno:

[m] =∆xi

3

1 1/2

1/2 1

. (1.55)

Page 17: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

14 1. Metoda konacnih elemenata

1.4.2 Matrica konvektivnosti [k]

Ova matrica, definisana u opstem slucaju:

[k](e) =

Ω(e)

N(x) < N(x) > dΩ,

u linijskom problemu koji se resava linearnim elementima ima oblik:

[k](e) =

∫ xi+1

xi

Ni

Ni+1

L(< Ni Ni+1 >) dx. (1.56)

Kakav ce konkretno biti oblik elemenata ove matrice zavisi od operatora L(u),odnosno L(< N >). Na primer, ako se pretpostavi L(u) = u:

NL(< N >) =

Ni

Ni+1

< Ni Ni+1 >=

[N2

i Ni Ni+1

Ni+1 Ni N2i+1

]

,

pa sledi da je u ovom slucaju [k] ≡ [m].

1.4.3 Elementarni vektor fΩ

Elementi ovog vektora su integrali proizvoda N i neke konstante fΩ, koja pred-stavlja izvor/ponor (,,spoljasnje opterecenje”). Ovi integrali se lako definisu pomocuizraza datih u Dodatku 1.

1.5 Numericka integracija

Ako su podintegralne funkcije clanova elementarne matrice [k] slozene funkcije,moze se primeniti neka numericka metoda integracije (,,kvadrature”), pa se dobijapriblizno resenje integrala. Najcesce se koristi Gaussova kvadratura zasnovana nazameni funkcije polinomom:

+1∫

−1

f(ξ) dξ ≈r∑

i=1

ωi · f(ξi), (1.57)

Page 18: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.5. Numericka integracija 15

gde su: r – broj integracionih tacaka (najcesce r ≤ 4), ωi – tezinski koeficijenti iξi – koordinate (apscise) tacaka koje se koriste u Gaussovom postupku.

U Tabeli 1.1 date su vrednosti apscisa i tezinskih faktora za linijske probleme [9].

Tabela 1.1: Vrednosti Gaussovih koeficijenata za linijske probleme

Broj tacaka Koordinate Tezinski faktori Najveci redr ξi ωi polinoma

1 0 2 1

2 ±1/√

3 = ±0.5773502691 1 3

3 0 0.8888888888 5

±√

3/5 = ±0.7745966692 0.5555555555

4 ±0.3399810435 0.6521451548 7±0.8611363115 0.3478548451

Moze se primetiti da su apscise ξi simetricne u odnosu na ξ=0, a vrednosti tezinskihfaktora ωi, koje odgovaraju simetricnim integracionim tackama, su jednake. Nu-mericka integracija pomocu Gaussove metode ilustrovace se jednim primerom.

Primer 1.1. Sracunati pribliznu vrednost integrala I =5∫

3

x3 dx.

Resenje. Koriscenjem lokalnog koordinatnog sistema:

I ≈∫ +1

−1

(x(ξ))3 · ∆x

2dξ,

gde je:

x(ξ) = N1(ξ) · x1 + N2(ξ) · x2 =1

2(1 − ξ) · 3 +

1

2(1 + ξ) · 5

i ∆x/2 = (5 − 3)/2 = 1, dobija se za dve Gaussove tacke (r = 2):

I =

∫ +1

−1

[1

2(1 − ξ) · 3 +

1

2(1 + ξ) · 5]3 · 1 · dξ ≈

≈2∑

i=1

ωi · [1

2(1 − ξ) · 3 +

1

2(1 + ξ) · 5]3 =

= ω1 · [1

2(1 − ξ1) · 3 +

1

2(1 + ξ1) · 5]3 + ω2 · [

1

2(1 − ξ2) · 3 +

1

2(1 + ξ2) · 5]3 =

Page 19: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

16 1. Metoda konacnih elemenata

= 1, 00 · [ 12(1 +

1√3) · 3 +

1

2(1 − 1√

3) · 5]3 +

+ 1, 00 · [ 12(1 − 1√

3) · 3 +

1

2(1 +

1√3) · 5]3 =

= 40, 094 + 95, 905 = 135, 999 ≈ 136, (1.58)

sto se moze lako proveriti pomocu analitickog resenja.

* * *

Iz prethodno pokazanog, vidi se da je u kontekstu MKE:

∫ xi+1

xi

f(x) dx =∆xi

2

∫ +1

−1

f(ξ) dξ ≈ ∆xi

2

r∑

i=1

ωi · f(ξi). (1.59)

Clanovi elementarne matrice konvektivnosti mogu se, u slucaju linijskih linearnihelemenata, numericki racunati na sledeci (simbolicki) nacin:

kij =

∫ xi+1

xi

f

(

u(x),du(x)

dx, . . .

)

dx =

=

∫ +1

−1

f(

u(ξ),du(ξ)

dξ· [J(ξ)]−1

︸ ︷︷ ︸

2

∆xi

, . . .)

|det[J ]|︸ ︷︷ ︸

∆xi

2

dξ ≈

≈r∑

i=1

ωi · f(

u(ξi),du(ξi)

dξ· 2

∆xi

, . . .

)∆xi

2. (1.60)

1.6 Globalna matrica i globalni vektor

Na osnovu (1.38)-(1.41) moze se sumiranjem elemenata, napisati globalni sistemjednacina:

I =∑

e

[

< δun > [m]

dun

dt

+ < δun > [k]un+ < δun > fΩ]

= 0, (1.61)

odnosno,

< δun >

(

[M ]

dun

dt

+ [K]un + F )

= 0, (1.62)

Page 20: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.6. Globalna matrica i globalni vektor 17

i konacno:

[M ]

dun

dt

+ [K]un = −F . (1.63)

U ovoj matricnoj diferencijalnoj jednacini prvog reda po vremenu, [M ] je glo-balna matrica mase, [K] je globalna matrica konvektivnosti/difuzivnosti, F jeglobalni vektor slobodnih clanova koji ukljucuje granicne uslove, a un je vektornepoznatih u cvorovima.

1.6.1 Problem ustaljenog stanja

U ovom slucaju je dun/dt = 0, pa se sistem (1.63) svodi na:

[K]un = F . (1.64)

Pri formiranju racunskog algoritma, treba voditi racuna o sledecim cinjenicama:

• Red elementarne matrice [k] jednak je broju nepoznatih (,,stepena slobode”)elementa; u slucaju linearnih elemenata, taj red je 2×2, jer su 2 nepoznate:ui i ui+1.

• Red globalne matrice [K] jednak je ukupnom broju nepoznatih u datomproblemu; na primer, ako je broj nepoznatih u cvoru jedan, onda je redmatrice [K] n × n, gde je n – ukupan broj cvorova u razmatranoj oblasti.

Postupak formiranja globalne matrice [K] sastoji se u prikupljanju (,,asembli-ranju”) elementarnih matrica i sprovodi se u dve etape:

(i) najpre se prosiruju elementarne matrice do dimenzija koje su odredjene re-dom globalne matrice, odnosno ukupnim brojem nepoznatih u datom problemu.Prosirenje elementarnih matrica se obavlja umetanjem nultih kolona i nultih redova– vrsta. Simbolicki ovo se moze prikazati na sledeci nacin:

[k](e) → [K](e).

(ii) Globalna matrica [K] se dobija sabiranjem prosirenih elementarnih matrica:

[K] =∑

e

[K](e) = [K](1) + [K](2) + [K](3) + . . .

Page 21: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

18 1. Metoda konacnih elemenata

Na isti nacin se, sabiranjem prosirenih elementarnih vektora, formira globalni vek-tor sistema:

F =∑

e

F (e) = F (1) + F (2) + F (3) + . . . (1.65)

Uvodjenje granicnih uslova obavlja se tako sto se izostavlja jednacina onog cvorau kome je granicni uslov zadat. U ostale jednacine se unose vrednosti zadatoggranicnog uslova, pa se tako dobijena konstanta ,,prebacuje” na desnu stranu, gdeulazi u sastav vektora slobodnih clanova F .

1.6.2 Problem neustaljenog stanja

Resavanje sistema jednacina (1.63):

[M ]

dun

dt

+ [K]un = F

zavisi od nacina na koji se izvod po vremenu zameni konacnom razlikom. Unastavku se prikazuju dve mogucnosti.

Eksplicitni Eulerov postupak. U ovom slucaju se izvod po vremenu aproksimirakonacnom razlikom unapred:

dun

dt

≈ 1

∆t

(

unt+∆t − unt

)

=1

∆t∆unt+∆t, (1.66)

pri cemu indeks ,,t” oznacava poznate, a indeks ,,t + ∆t”, nepoznate vrednosti.Vektor un sadrzi zavisno promenljive u cvorovima, a vektor ∆un, razlike vred-nosti un u trenutku t i trenutku t + ∆t.

Rezultat diskretizacije po vremenu je:

[M ] · 1

∆t∆unt+∆t + [K]tunt = F t, (1.67)

odnosno:

[M ] ∆unt+∆t = ∆t(

F − [K]un)

t. (1.68)

Page 22: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.7. Primer iz matematike 19

Direktnim resavanjem ovog sistema algebarskih jednacina dobija se vektor razlikaun, a odavde i trazeni vektor nepoznatih u trenutku t + ∆t:

unt+∆t = unt + ∆unt+∆t. (1.69)

Implicitni Eulerov postupak. Ako se u matricnoj jednacini (1.67), matrica[K] i vektori un i F , umesto na vremenskom nivou t, definisu na vremenskomnivou t + ∆t, dobija se implicitna Eulerova formulacija:

[M ] · 1

∆t∆unt+∆t + [K]t+∆tunt+∆t = F t+∆t. (1.70)

Oduzimanjem vektora [K]t+∆t · unt od obe strane ove jednacine:

[M ] ∆unt+∆t + [K]t+∆tunt+∆t − [K]t+∆t · unt =

= F t+∆t − [K]t+∆t · unt (1.71)

dobija se:

[M ] ∆unt+∆t + [K]t+∆t∆unt+∆t = F t+∆t − [K]t+∆t · unt, (1.72)

odnosno,

(

[M ] + [K]t+∆t

)

∆unt+∆t = ∆t(

F t+∆t − [K]t+∆t · unt

)

. (1.73)

Ova jednacina se moze direktno resiti po nepoznatim inkrementima ∆unt+∆t

samo ako je problem linearan, sto znaci da clanovi globalne matrice ne zaviseod nepoznatih vrednosti u cvorovima: [K] 6= [K(un)]. Ako to nije slucaj, vecje: [K] = [K(un)], problem se mora resavati iterativno, nekom od metoda zaresavanje sistema nelinearnih algebarskih jednacina, kao sto je na primer Gauss-Seidelova metoda.

1.7 Primer iz matematike

Resiti diferencijalnu jednacinu:

du

dx− u = 0 (1.74)

u oblasti 1 ≤ x ≤ 2, sa 2 linearna elementa iste duzine. Granicni uslov: u(1) = 1.Numericko resenje uporediti sa analitickim resenjem.

Page 23: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

20 1. Metoda konacnih elemenata

Resenje. U ovom slucaju je: L(u) ≡ du/dx−u. Na Slici 1.5 je prikazana racunskaoblast sa dva linearna elementa duzine ∆x(1) = ∆x(2) = ∆x = 0, 5 i tri cvora.

Slika 1.5: Racunska oblast sa dva konacna elementa i odgovarajucim linearniminterpolacionim funkcijama

1.7.1 Resavanje u globalnom koordinatnom sistemu

Interpolacione funkcije

Element br. 1

N(1)1 =

xi+1 − x

∆x=

1, 5− x

0, 5= 2(1, 5− x) = 3 − 2x;

dN(1)1

dx= −2 (1.75)

N(1)2 =

x − xi

∆x=

x − 1

0, 5= 2(x− 1) = 2x − 2;

dN(1)2

dx= 2 (1.76)

Element br. 2

N(2)2 =

xi+1 − x

∆x=

2 − x

0, 5= 2(2 − x) = 4 − 2x;

dN(2)2

dx= −2 (1.77)

N(2)3 =

x − xi

∆x=

x − 1, 5

0, 5= 2(x − 1, 5) = 2x− 3;

dN(2)3

dx= 2 (1.78)

Galerkinova formulacija za element

Ie =

∫ xi+1

xi

NL(< N >) dx

︸ ︷︷ ︸

[k]

·u = 0, (1.79)

Page 24: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.7. Primer iz matematike 21

gde je u konkretnom primeru:

L(< N >) =d < N >

dx− < N >=<

dN

dx> − < N > (1.80)

NL(< N >) = N <dN

dx> −N < N >

=

Ni

Nn+1

<dNi

dx

dNi+1

dx> −

Ni

Nn+1

< Ni Ni+1 >=

=

Ni

dNi

dxNi

dNi+1

dx

Ni+1dNi

dxNi+1

dNi+1

dx

[N2

i Ni Ni+1

Ni+1 Ni N2i+1

]

=

=

Ni

dNi

dx− N2

i Ni

dNi+1

dx− Ni Ni+1

Ni+1dNi

dx− Ni+1 Ni Ni+1

dNi+1

dx− N2

i+1

(1.81)

Elementarne matrice

Element br. 1

k(1)11 =

∫ 1,5

1

(

N(1)1

dN(1)1

dx− N

(1)21

)

dx =

=

∫ 1,5

1

[(3 − 2x)(−2) − (3 − 2x)2]dx = 0, 6666 (1.82)

k(1)12 =

∫ 1,5

1

(

N(1)1

dN(1)2

dx− N

(1)1 · N (1)

2

)

dx =

=

∫ 1,5

1

[(3 − 2x)(2) − (3 − 2x)(2x− 2)]dx = 0, 4166 (1.83)

k(1)21 =

∫ 1,5

1

(

N(1)2

dN(1)1

dx− N

(1)2 · N (1)

1

)

dx =

=

∫ 1,5

1

[(2x − 2)(−2) − (2x − 2)(3x− 2)]dx = −0, 5833 (1.84)

k(1)22 =

∫ 1,5

1

(

N(1)2

dN(1)2

dx− N

(1)22

)

dx =

=

∫ 1,5

1

[(2x − 2)(2) − (2x − 2)2]dx = 0, 3333 (1.85)

Page 25: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

22 1. Metoda konacnih elemenata

Element br. 2

k(2)11 =

∫ 2

1,5

(

N(2)2

dN(2)2

dx− N

(2)22

)

dx =

=

∫ 2

1,5

[(4 − 2x)(−2) − (4 − 2x)2]dx = −0, 66667 (1.86)

k(2)12 =

∫ 2

1,5

(

N(2)2

dN(2)3

dx− N

(2)2 · N (2)

3

)

dx =

=

∫ 2

1,5

[(4 − 2x)(2) − (4 − 2x)(2x − 3)]dx = 0, 41666 (1.87)

k(2)21 =

∫ 2

1,5

(

N(2)3

dN(2)2

dx− N

(2)3 · N (2)

2

)

dx =

=

∫ 2

1,5

[(2x− 3)(−2) − (2x − 3)(4 − 2x)]dx = −0, 5833 (1.88)

k(2)22 =

∫ 2

1,5

(

N(2)3

dN(2)3

dx− N

(2)23

)

dx =

=

∫ 2

1,5

[(2x− 3)(2) − (2x− 3)2]dx = 0, 3333 (1.89)

[k](1) = [k](2) =

[−0, 6666 0, 4166−0, 5833 0, 3333

]

(1.90)

Globalna matrica. Red globalne matrice je odredjen brojem nepoznatih (ste-pena slobode); u datom slucaju su 3 nepoznate, u tri racunska cvora. To znaci damatrice elemenata treba prosiriti dodavanjem jedne vrste, odnosno kolone:

−0,6666 0, 4166 0

−0,5833 0, 3333 0

0 0 0

︸ ︷︷ ︸

[K](1)

+

0 0 0

0 −0, 6666 0,4166

0 −0, 5833 0,3333

︸ ︷︷ ︸

[K](2)

=

−0, 6666 0, 4166 0

−0, 5833 −0, 3333 0,4166

0 −0, 5833 0,3333

︸ ︷︷ ︸

[K]

Resenje sistema

[K]u = 0, (1.91)

Page 26: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.7. Primer iz matematike 23

ili u razvijenom obliku:

−0, 6666 u1 + 0, 4166 u2 = 0−0, 5833 u1 − 0, 3333 u2 + 0, 4166 u3 = 0

− 0, 5833 u2 + 0, 3333 u3 = 0

(1.92)

Prva jednacina otpada – zamenjuje se granicnim uslovom: u1 = 1. Ostaje sistemod dve algebarske jednacine sa dve nepoznate:

−0, 3333 u2 + 0, 4166 u3 = 0, 5833−0, 5833 u2 + 0, 3333 u3 = 0,

(1.93)

odakle sledi resenje: u3 = 1, 75 · u2, odnosno:

u2 = 1, 4737

u3 = 2, 5789.

1.7.2 Resavanje u lokalnom koordinatnom sistemu

Koristec referentni element prikazan na Slici 1.4-(a), sa interpolacionim funkcijamaprikazanim na Slici 1.4-(b), a primenjujuci pravila transformacije (1.31)-(1.37),posebno (1.37), pri cemu je u konkretnom slucaju:

L(< N(ξ) >) =d < N(ξ) >

dξ· dξ

dx− < N(ξ) >=

= <dN(ξ)

dξ· 2

∆x> − < N(ξ) >=

= <dN1

dξ· 2

∆x

dN2

dξ· 2

∆x> − < N1 N2 >, (1.94)

moze se definisati integral u razvijenom obliku na nivou svakog elementa:

I(e) =

∫ 1

−1

(N1

N2

<dN1

dξ·

2

∆x

dN2

dξ·

2

∆x> −

N1

N2

< N1 N2 >

)∆x

2dξ =

=

∫ 1

−1

N1dN1

dξ·

2

∆xN1

dN2

dξ·

2

∆x

N2dN1

dξ·

2

∆xN2

dN2

dξ·

2

∆x

[N2

1 N1 · N2

N2 · N1 N22

]

∆x

2dξ =

Page 27: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

24 1. Metoda konacnih elemenata

=

∫ 1

−1

N1dN1

dξ·

2

∆x− N2

1 N1dN2

dξ·

2

∆x− N1 · N2

N2dN1

dξ·

2

∆x− N2 · N1 N2

dN2

dξ·

2

∆x− N2

2

∆x

2dξ =

=

∫ 1

−1

(

N1dN1

dξ− N2

1

∆x

2

)

∫ 1

−1

(

N1dN2

dξ− N1 · N2

∆x

2

)

∫ 1

−1

(

N2dN1

dξ− N2 · N1

∆x

2

)

∫ 1

−1

(

N2dN2

dξ− N2

2

∆x

2

)

. (1.95)

Imajuci u vidu da izraz (1.95) predstavlja matricu elementa [k], a koristeci gotoveizraze za vrednosti integrala po jedinicnom referentnom elementu iz Dodatka 1,pri cemu je: ∆x/2 = 0, 25, dobijaju se sledece vrednosti:

k(1)11 = −0, 5000− 0, 6666 · 0, 25 = −0, 6666

k(1)12 = +0, 5000− 0, 3333 · 0, 25 = +0, 4166

k(1)21 = −0, 5000− 0, 3333 · 0, 25 = −0, 5833

k(1)22 = +0, 5000− 0, 6666 · 0, 25 = +0, 3333.

Moze se konstatovati da su dobijene iste vrednosti kao u slucaju kada nije koriscenreferentni element, vec je integracija obavljena u globalnom koordinatnom sistemu.

1.7.3 Poredjenje sa analitickim resenjem

du

dx= u ⇒

∫du

u=

dx (1.96)

lnu = u + C ⇒ u = ex+C (1.97)

Za x = 1 i u(1) = 1 sledi:

1 = e1+C ⇒ ln 1 = (1 + C) ln e ⇒ 0 = (1 + C) ⇒ C = −1, (1.98)

pa je analiticko resenje:

u(x) = ex−1. (1.99)

Odavde je: u(1, 5) = e0,5 = 1, 6487 i u(2) = e1,00 = 2, 7183. Poredjenjem sanumerickim resenjem, moze se konstatovati da je greska priblizno 5–10%. Savecim brojem elemenata, moze se ocekivati da greska bude manja.

Page 28: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.8. Primer iz hidraulike 25

1.8 Primer iz hidraulike

Razmatra se promena nivoa u izdani sa slobodnom povrsinom pod uticajem kise istrujanje ka reci. Izdan je na horizontalnoj nepropusnoj podlozi, sa nepropusnomlevom granicom, dok se na desnoj granici nalazi reka (Slika 1.6). Pocetni uslov jedefinisan konstantnim nivoom h = 1, 0 m.

Slika 1.6: Racunska oblast i njena diskretizacija linijskim konacnim elementima

Problem se opisuje Boussinesqovom difuzionom jednacinom [7]:

∂h

∂t=

Kf

2λo

(∂2h2

∂x2

)

+ q, (1.100)

gde je Kf – koeficijent filtracije, λo – poroznost, a q – izvorni clan, koji je u ovomslucaju odredjen kisom datog intenziteta.

Sracunati primenom MKE promenu nivoa slobodne povrsine u izdani i odgo-varajuci dotok u reku za kisu ciji je hijetogram dat na Slici 1.7. Problem serazmatra po jedinici duzine recnog korita. Ostali podaci: Kf=50 m/h, λo=0,4.

Resenje. Na Slici 1.6 prikazana je diskretizacija racunske oblasti linijskim konacnimelementima.

1.8.1 Galerkinova formulacija

Jednacina (1.100) se moze formulisati u obliku (1.42):

ne∑

e=1

I(e) =

ne∑

e=1

[∫ xi+1

xi

N < N > dx

dhn

dt

− Kf

2λo

∫ xi+1

xi

NL(< N >) dx h2n −

∫ xi+1

xi

Nq dx

]

= 0. (1.101)

Page 29: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

26 1. Metoda konacnih elemenata

Slika 1.7: Hijetogram kise za definiciju izvornog clana u jednacini (1.100)

Slaba Galerkinova formulacija podrazumeva snizenje reda izvoda u operatoru L(h),sto se u 1D problemima moze postici parcijalnom integracijom (a primenom Green-ove teoreme u 2D i 3D problemima). Parcijalna integracija se u opstem slucajudefinise izrazom:

∫ x2

x1

AdB

dxdx = AB

∣∣∣

x2

x1

−∫ x2

x1

dA

dx· Bdx. (1.102)

Imajuci ovo u vidu, clan sa operatorom L u polaznoj jednacini (1.101):

∫ xi+1

xi

NL(< N >) dx =

∫ xi+1

xi

N · ∂

∂x

(∂ < N >

∂x

)

dx (1.103)

moze se transformisati na sledeci nacin:

∫ xi+1

xi

N︸︷︷︸

A

· ∂

∂x

(∂ < N >

∂x

)

︸ ︷︷ ︸

dB

dx

dx = N︸︷︷︸

A

· ∂ < N >

∂x︸ ︷︷ ︸

B

∣∣∣

xi+1

xi

−∫ xi+1

xi

∂N

∂x︸︷︷︸

dA

dx

· ∂ < N >

∂x︸ ︷︷ ︸

B

dx. (1.104)

Ovaj izraz pokazuje da se integral izvoda drugog reda transformise u integralproizvoda dva izvoda prvog reda, uz pojavu ,,novog” clana.

Page 30: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.8. Primer iz hidraulike 27

Ovi novi clanovi se kod susednih elemenata uzajamno potiru (jer su suprotnogznaka2), kada se doprinos elemenata prikuplja (,,asemblira”) u jednacine glob-alnog sistema. Ostaju samo vrednosti na granicama domena, a ove su definisanegranicnim uslovima. Iz ovog sledi da se jednacina (1.104) svodi na:

∫ xi+1

xi

N ∂

∂x

(∂ < N >

∂x

)

dx = −∫ xi+1

xi

∂N

∂x· ∂N

∂xdx. (1.105)

Zamenom u (1.101) dobija se:

∫ xi+1

xi

N < N > dx ·

dhn

dt

+Kf

2λo

∫ xi+1

xi

∂N

∂x· ∂N

∂xdx · h2

n −

−∫ xi+1

xi

N · q dx = 0. (1.106)

Prvi integral daje elementarnu matricu mase, drugi integral, elementarnu matricudifuzivnosti, a treci, elementarni vektor optrecenja. U nastavku se posebno definisesvaki od navedenih integrala.

Elementarna matrica mase je (videti Dodatak 1):

∫ xi+1

xi

N < N > dx =∆xi

3

1 1/2

1/2 1

. (1.107)

Elmentarna matrica difuzivnosti je (videti Dodatak 1):

∫ xi+1

xi

∂N∂x

· ∂ < N >

∂xdx =

1

∆xi

1 −1

−1 1

. (1.108)

Elementarni vektor opterecenja je (videti Dodatak 1):

q

∫ xi+1

xi

N dx = q · ∆xi

2

1

1

. (1.109)

2Za linearne elemente duzine ∆x je: dNi/dx=-1/∆x i dNi+1/dx=1/∆x, pa sledi:

Ni

Ni+1

< −1

∆x

1

∆x>=< −

Ni

∆x

Ni+1

∆x>

Page 31: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

28 1. Metoda konacnih elemenata

Zamenom u osnovnu jednacinu (1.106) za jedan element:

∆xi

3

1 1/2

1/2 1

dhi

dt

dhi+1

dt

+Kf

2λo

· 1

∆xi

1 −1

−1 1

h2i

h2i+1

− q · ∆xi

2

1

1

= 0. (1.110)

Ako se primeni eksplicitna shema, koristeci Eulerovu metodu za diskretizaciju povremenu:

∂h

∂t≈ hk+1 − hk

∆t, (1.111)

gde je k – oznaka vremenskog nivoa, jednacina (1.110) postaje:

∆xi

3∆t·

1 1/2

1/2 1

hk+1i − hk

i

hk+1i+1 − hk

i+1

=

= −Kf

2λo

· 1

∆xi

1 −1

−1 1

(hk

i

)2

(hk

i+1

)2

+ q · ∆xi

2

1

1

, (1.112)

odnosno,

∆xi

3

1 1/2

1/2 1

hk+1i

hk+1i+1

=

∆xi

3

1 1/2

1/2 1

hki

hki+1

− Kf

2λo

· 1

∆xi

1 −1

−1 1

(hk

i

)2

(hk

i+1

)2

+

+ q · ∆xi

2

1

1

. (1.113)

Page 32: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.8. Primer iz hidraulike 29

Elementi matrice koeficijenata uz nepoznate na vremenskom nivou k + 1 su:

kei,i = ∆xi/3

kei,i+1 = ∆xi/6

kei+1,i = ∆xi/6

kei+1,i+1 = ∆xi/3

(1.114)

Elementi vektora slobodnih clanova su:

bi =

(

hki

3+

hki+1

6

)

∆xi −Kf · ∆t

2λo · ∆xi

[(hk

i

)2 −(hk

i+1

)2]

+ q · ∆xi

2· ∆t (1.115)

bi+1 =

(

hki

6+

hki+1

3

)

∆xi −Kf · ∆t

2λo · ∆xi

[

−(hk

i

)2+(hk

i+1

)2]

+ q · ∆xi

2·∆t.(1.116)

1.8.2 Struktura globalnog sistema jednacina

Nacin formiranja globalnog sistema jednacina ilustrovace se primerom 3 elementasa 4 racunska cvora (Slika 1.8).

Slika 1.8: Racunski domen od 3 linijska elementa

Elemenatarne matrice su prosirene do reda 4×4, jer, s obzirom da postoje 4 nepoz-nate (po jedna u svakom cvoru), globalna matrica uz te nepoznate mora biti reda4 × 4. Struktura elementarnih matrica i njihovo sabiranje u globalnu matricushematski se moze prikazati na sledeci nacin:

k(1)

1,1k(1)

1,20 0

k(1)2,1

k(1)2,2

0 0

0 0 0 0

0 0 0 0

︸ ︷︷ ︸

[K](1)

+

0 0 0 0

0 k(2)2,2

k(2)2,3

0

0 k(2)

3,2k(2)

3,30

0 0 0 0

︸ ︷︷ ︸

[K](2)

+

0 0 0 0

0 0 0 0

0 0 k(3)

3,3k(3)

3,4

0 0 k(3)4,3

k(3)4,4

︸ ︷︷ ︸

[K](3)

=

+ + 0 0

+

⊕+ 0

0 +

⊕+

0 0 + +

︸ ︷︷ ︸

[K]

gde simbol + oznacava prenosenje clanova elementarnih matrica u globalnu ma-tricu, a simbol

⊕, njihovo sabiranje.

Page 33: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

30 1. Metoda konacnih elemenata

Formiranje globalnog vektora slobodnih clanova na osnovu prosirenih elementarnihvektora, shematski izgleda ovako:

b(1)1

b(1)2

0

0

︸ ︷︷ ︸

B(1)

+

0

b(2)2

b(2)3

0

︸ ︷︷ ︸

B(2)

+

0

0

b(3)3

b(3)4

︸ ︷︷ ︸

B(3)

=

+

+

︸ ︷︷ ︸

B

Matricna jednacina:

[K]hk+1 = B (1.117)

oznacava sistem nelinearnih algebarskih jednacina koji se resava iterativno, Gauss-Seidelovom metodom. Rezultat proracuna je vremenski raspored nivoa vode uizdani, na osnovu koga se, primenjujuci hipotezu Dupuita, u svakom trenutkumoze sracunati infiltracioni protok ka reci:

qr(t) = u(t) · h(t) = −Kf · ∂h(t)

∂x· h(t). (1.118)

Ovde se radi o protoku po jedinici duzine recnog korita [m2/h]. Dubina h i odgo-varajuci izvod ∂h/∂x definisu se na spoju izdani sa rekom.

1.8.3 Kodirani racunski algoritam

U Dodatku 2 je dat listing programa, koji je napisan u jeziku Fortran90. Program,pod imenom ,,K2mke”, objektno je struktuiran tako da sadrzi tri modula (,,klase”):

1. UlaznoIzlazniPodaci2. KonturniUslovi3. MKE

Imena modula ukazuju na nacin objektne dekompozicije.

Promenljive koje se odnose na ulazne podatke i rezultate proracuna, sa odgo-varajucim funkcijama za ucitavanje i stampanje, objedinjene su u modulu koji sezove ,,UlaznoIzlazniPodaci”. U ovom modulu koriste se i dve promenljive izve-denog tipa; promenljiva ,,izdan”, izvedenog tipa ,,Izdani”, sadrzi tematski srodnepodatke (koeficijent filtracije, poroznost) tipa ,,realni broj”, a promenljiva ,,kisa”,

Page 34: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

1.8. Primer iz hidraulike 31

izvedenog tipa ,,Kise”, sadrzi podatke za definisanje konkretnog hijetograma, gdesu vreme i intenzitet kise, dinamicki alocirani vektori tipa ,,realni broj”.

Modul ,,Konturni uslovi” preuzima sve iz prethodnog modula, a objedinjuje po-datke koji se odnose na pocetne i granicne uslove, kao i na funkcije koje sluzeza manipulaciju tih podataka. U konkretnom slucaju, to su funkcije ucitavanjapocetnog nivoa vode u izdani i kise, kao i funkcija za linearnu interpolaciju kisepo vremenu.

Poslednji modul ,,MKE”, koji preuzima sve iz prethodna dva modula, objedinjujesamo ono sto je uze vezano za metodu konacnih elemenata: formiranje globalnematrice koeficijenata uz nepoznate i globalnog vektora slobodnih clanova, kao iiterativno resavanje sistema nelinearnih algebarskih jednacina metodom Gauss-Seidela.

Glavni program ,,K2mke” je kratak; u njemu se definisu imena ulazno-izlaznihfajlova, ucitavaju ulazni podaci, otvara i zatvara racunski ciklus po vremenu, arezultati povremeno salju na stampanje.

1.8.4 Rezultati proracuna

Mnozenjem intenziteta kise sa povrsinom svakog elementa (duzinom elementa ×1 m), dobija se dotok na element od padavina, a time i vrednost izvornog clanau svakom racunskom cvoru. Vremenski raspored dotoka od kise u celoj racunskojoblasti dat je na Slici 1.9.

Slika 1.9: Zbirni dotok od kise za sve elemente

Sracunata dinamika nivoa vode u izdani prikazana je na Slici 1.10, a promenajedinicnog dotoka u reku, na Slici 1.11.

Page 35: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

32 1. Metoda konacnih elemenata

Slika 1.10: Promena nivoa u izdani tokom vremena

Slika 1.11: Promena jedinicnog dotoka u reku tokom vremena

Page 36: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

Literatura 33

Literatura

[1] Baker, A.J., Finite Element Computational Fluid Mechanics, HemispherePublishing Corporation, McGraw-Hill, 1985.

[2] Chung, T.J., Finite Element Analysis in Fluid Dynamics, McGraw-Hill, 1978.

[3] Connor, J.J., Brebbia, C.A., Finite Element Techniques for Fluid Flow,Newnes-Butterworths, 1976.

[4] Dhatt, G., Touzot, G., Une presentation de la methode des elements finis,Maloine, S.A., Paris, 1984.

[5] Hervouet, J-M., Hydrodynamics of Free Surface Flows - Modelling with theFinite Element Method, John Wiley & Sons, 2007.

[6] Jovanovic, M., Osnove numerickog modeliranja ravanskih otvorenih tokova,Gradjevinski fakultet, Beograd, 1998.

[7] Koutitas, C.G., Elements of Computational Hydraulics, Pentech Press, 1983.

[8] Pinder G.F, Gray, W.G., Finite Element Simulation in Surface and Subsur-face Hudrology, Academic Press, 1977.

[9] Radojkovic, M., Klem, N., Primena racunara u hidraulici, Gradjevinska knji-ga, Beograd, 1989.

[10] Sekulovic, M., Metod konacnih elemenata, Gradjevinska knjiga, 1984.

[11] Zienkiewicz, O., C., Taylor, R., L., The Finite Element Method, Fourth Edi-tion, McGraw-Hill, London, New York, 1989.

Page 37: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

34 Literatura

Page 38: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

35

Dodatak 1

1. Tablica vrednosti integrala za jedinicni referentni linearni element:

∫ 1

−1N1 dξ =

∫ 1

−1

1

2(1 − ξ) dξ 1,0000

∫ 1

−1N2 dξ =

∫ 1

−1

1

2(1 + ξ) dξ 1,0000

∫ 1

−1N2

1 dξ =∫ 1

−1

1

4(1 − ξ)2 dξ

2

3= 0, 6666

∫ 1

−1N2

2 dξ =∫ 1

−1

1

4(1 + ξ)2 dξ

2

3= 0, 6666

∫ 1

−1N1 · N2 dξ =

∫ 1

−1[ 12(1 − ξ) · 1

2(1 + ξ)] dξ

1

3= 0, 3333

∫ 1

−1N2 · N1 dξ =

∫ 1

−1[ 12(1 + ξ) · 1

2(1 − ξ)] dξ

1

3= 0, 3333

∫ 1

−1

N1

dN1

dξdξ =

∫ 1

−1

1

2(1 − ξ)(−

1

2) dξ −

1

2= −0, 5000

∫ 1

−1

N1

dN2

dξdξ =

∫ 1

−1

1

2(1 − ξ)(

1

2) dξ

1

2= 0, 5000

∫ 1

−1

N2

dN1

dξdξ =

∫ 1

−1

1

2(1 + ξ)(−

1

2) dξ −

1

2= −0, 5000

∫ 1

−1

N2

dN2

dξdξ =

∫ 1

−1

1

2(1 + ξ)(

1

2) dξ

1

2= 0, 5000

∫ 1

−1

dN1

dN1

dξdξ =

∫ 1

−1

(

−1

2

)(

−1

2

)

dξ1

2= 0, 5000

∫ 1

−1

dN2

dN2

dξdξ =

∫ 1

−1

(

1

2

)(

1

2

)

dξ1

2= 0, 5000

∫ 1

−1

dN1

dN2

dξdξ =

∫ 1

−1

(

−1

2

)(

1

2

)

dξ −1

2= −0, 5000

Page 39: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

36

2. Tablica vrednosti integrala za linijski linearni element:

xi+1

xi

Ni dx =∆xi

2

∫ 1

−1

N1 dξ =∆xi

2· 1 =

∆xi

2

xi+1

xi

Ni+1 dx =∆xi

2

∫ 1

−1

N2 dξ =∆xi

2· 1 =

∆xi

2

xi+1

xi

N2i

dx =∆xi

2

∫ 1

−1

N21 dξ =

∆xi

2·2

3=

∆xi

3

xi+1

xi

Ni · Ni+1 dx =∆xi

2

∫ 1

−1

N1 · N2 dξ =∆xi

2·1

3=

∆xi

6

xi+1

xi

Ni+1 ·Ni dx =∆xi

2

∫ 1

−1

N2 · N1 dξ =∆xi

2·1

3=

∆xi

6

xi+1

xi

N2i+1 dx =

∆xi

2

∫ 1

−1

N22 dξ =

∆xi

2·2

3=

∆xi

3

xi+1

xi

N dx =

xi+1

xi

Ni

Ni+1

dx =

xi+1

xi

Ni dx

xi+1

xi

Ni+1 dx

=

∆xi

2

∆xi

2

=∆xi

2

1

1

Page 40: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

37

xi+1

xi

N < N > dx =

xi+1

xi

Ni

Ni+1

< Ni Ni+1 > dx =

=

xi+1

xi

Ni dx

xi+1

xi

Ni+1 dx

<

xi+1

xi

Ni dx

xi+1

xi

Ni+1 dx >=

=

xi+1

xi

N2i

dx

xi+1

xi

Ni Ni+1 dx

xi+1

xi

Ni+1 Ni dx

xi+1

xi

N2i+1 dx

=

=

∆xi

3

∆xi

6

∆xi

6

∆xi

3

=∆xi

3

[

1 1/2

1/2 1

]

xi+1

xi

∂N

∂x·∂ < N >

∂xdx =

xi+1

xi

∂Ni

∂xdx

xi+1

xi

∂Ni+1

∂xdx

<

xi+1

xi

∂Ni

∂xdx

xi+1

xi

∂Ni+1

∂xdx >=

=

xi+1

xi

∂Ni

∂x·∂Ni

∂xdx

xi+1

xi

∂Ni

∂x·

∂Ni+1

∂xdx

xi+1

xi

∂Ni+1

∂x·

∂Ni

∂xdx

xi+1

xi

∂Ni+1

∂x·

∂Ni+1

∂xdx

=

=

1

∆xi

−1

∆xi

−1

∆xi

1

∆xi

=1

∆xi

[

1 −1

−1 1

]

Page 41: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

38

Dodatak 2

!-----------------------------------------------------------------------------

! Program: K2mke

! Funkcija: Neustaljeno 1D filtraciono strujanje ka reci

! Opis: Jednacina izdani sa slobodnom povrsinom resava se

! metodom konacnih elemenata (linearni elementi)

! Autor: M.Jovanovic, 1983, 1992, 2000, 2004.

! Okruzenje: Visual Fortran, V.6.6

!-----------------------------------------------------------------------------

!-----------------------------------------------------------------------------

MODULE UlaznoIzlazniPodaci

implicit none

character(75) :: text ! identifikacija/komentar

integer, parameter :: maxcv = 1000 ! maks. broj cvorova

integer, parameter :: maxdt = 1000 ! maks. broj vremenskih koraka

integer :: i,n ! indeksi

integer :: ncv ! broj cvorova

integer :: ne ! broj elemenata

integer :: ndt ! broj racunskih koraka

integer :: nprint ! korak stampanja rezultata

integer :: it ! broj iteracije

real :: c ! konstanta

real :: ho ! pocetna dubina (pocetni uslov)

real :: qr ! filtracioni dotok u reku (Dupuit)

real :: t, dt ! vreme, vremenski korak

real :: sumqe ! ukupni dotok od kise

real, allocatable, dimension( :,: ) :: k ! matrica koeficijenata

real, allocatable, dimension( : ) :: b ! vektor slobodnih clanova

real, allocatable, dimension( : ) :: qe ! izvorni clan (dotok)

real, allocatable, dimension( : ) :: h ! dubina iz prethodnog rac. koraka

real, allocatable, dimension( : ) :: hn ! dubina iz tekuceg rac. koraka

real, allocatable, dimension( : ) :: xc ! polozaj cvora (stacionaza)

real, allocatable, dimension( : ) :: dx ! duzina elemenata

TYPE :: Izdani

real :: Kf ! koeficijent filtracije

real :: epor ! efektivna poroznost

END TYPE Izdani

TYPE( Izdani ) :: izdan

TYPE :: Kise

integer :: nii ! broj podataka

real, allocatable, dimension( : ) :: ii ! intenzitet kise

real, allocatable, dimension( : ) :: tt ! vreme

END TYPE Kise

TYPE( Kise ) :: kisa

Page 42: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

39

contains

SUBROUTINE RacunskiParametri( ir1, iw2, iw3 )

integer, intent( in ) :: ir1, iw2, iw3

read ( ir1, "(A)" ) text

write( iw2, "(A)" ) text

write( iw3, "(A/)" ) text

write( iw3, "(9x,’t’,7x,’sumqe’,6x,’qr’)" )

read ( ir1, * ) ncv

if( ncv > maxcv ) stop ’Premasen broj cvorova!’

ne = ncv - 1

allocate( k( ncv,ncv ), b( ncv ), h( ncv ), hn(ncv) )

allocate( xc( ncv ), dx( ne ), qe( ncv ) )

read ( ir1, * ) ( dx( i ), i = 1, ne )

xc( 1 ) = 0.

do i = 2, ncv

xc( i ) = xc( i-1 ) + dx( i-1 )

enddo

read ( ir1, * ) izdan%Kf

read ( ir1, * ) izdan%epor

c = izdan%Kf / 2. / izdan%epor

read ( ir1, * ) ndt, dt, nprint

if( ndt > maxdt ) stop ’Premasen broj racunskih koraka!’

END SUBROUTINE RacunskiParametri

SUBROUTINE Rezultati( iw2, iw3 )

integer, intent( in ) :: iw2, iw3

write( iw2,"(//2x,’t=’,f10.3,’ it=’,i5,’ qr=’,f10.3/)" ), t,it,qr

write( iw2,"(9x,’x’,8x,’hn’)" )

do i = 1, ncv

write( iw2, "(2x,2f10.3)" ) xc(i), hn(i)

end do

write( iw3, "(2x,3f10.3)" ), t, sumqe, qr

END SUBROUTINE Rezultati

END MODULE UlaznoIzlazniPodaci

!-----------------------------------------------------------------------------

Page 43: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

40

!-----------------------------------------------------------------------------

MODULE KonturniUslovi

use UlaznoIzlazniPodaci

contains

SUBROUTINE IzvorniClan( ir1 )

integer, intent( in ) :: ir1

read ( ir1, * ) kisa%nii

if( kisa%nii > ndt ) stop ’Broj podataka za izvorni clan?!’

allocate( kisa%ii( ndt ), kisa%tt( kisa%nii ) )

kisa%ii = 0.

read ( ir1, * ) ( kisa%ii( i ), i = 1, kisa%nii )

read ( ir1, * ) ( kisa%tt( i ), i = 1, kisa%nii )

END SUBROUTINE IzvorniClan

SUBROUTINE PocetniUslov( ir1 )

integer, intent( in ) :: ir1

read ( ir1, * ) ho

do i = 1, ncv

h( i ) = ho; hn( i ) = ho

enddo

END SUBROUTINE PocetniUslov

FUNCTION flin1( Nx, x, y, xx )

integer, intent( in ) :: Nx

real, dimension( Nx ), intent( in ) :: x, y

real :: xx, flin1

integer :: j, ip, ik

if( xx < x( 1 ) .or. xx > x( Nx ) ) stop ’Interpolacija?’

do j = 2, Nx

if( xx <= x( j ) ) then

ip = j - 1; ik = j; exit

endif

enddo

flin1 = y(ip) + ( y(ik) - y(ip) )/( x(ik) - x(ip) ) * (xx - x(ip) )

END FUNCTION flin1

END MODULE KonturniUslovi

!-----------------------------------------------------------------------------

Page 44: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

41

!-----------------------------------------------------------------------------

MODULE MKE

use KonturniUslovi

contains

SUBROUTINE GlobalnaMatrica

k = 0. ! inicijalizacija

do i = 1, ne

k( i,i ) = k( i,i ) + dx( i ) / 3.

k( i,i+1 ) = k( i,i+1 ) + dx( i ) / 6.

k( i+1,i ) = k( i+1,i ) + dx( i ) / 6.

k( i+1,i+1 ) = k( i+1,i+1 ) + dx( i ) / 3.

enddo

END SUBROUTINE GlobalnaMatrica

SUBROUTINE VektorSlobodnihClanova

b = 0. ! inicijalizacija

do i = 1, ne

b( i ) = b( i ) + ( h( i ) / 3. + h( i+1 ) / 6. ) * dx( i ) &

- c * dt / dx( i ) * ( h( i )**2 - h( i+1 )**2 ) &

+ qe( i ) * dt / 2.

b( i+1 ) = b( i+1 ) + ( h( i ) / 6. + h( i+1 ) / 3. ) * dx( i ) &

- c * dt / dx( i ) * ( - h( i )**2 + h( i+1 )**2 ) &

+ qe( i ) * dt / 2.

enddo

END SUBROUTINE VektorSlobodnihClanova

SUBROUTINE GaussSeidel

integer, parameter :: itmax = 100 ! maks. broj iteracija

real :: Temp, Dif, Difmax ! racunski parametri

real, parameter :: eps = 1.e-4 ! tacnost

do it = 1, itmax

Difmax = 0.

do i = 2, ne

Temp = hn( i )

hn( i ) = ( b( i ) - k( i,i-1 ) * hn( i-1 ) &

- k( i,i+1 ) * hn( i+1 ) ) / k( i,i )

Dif = ABS( Temp - hn( i ) )

if( Dif > Difmax ) Difmax = Dif

enddo

if( Difmax <= eps ) return

enddo

stop ’Premasen broj iteracija!’

END SUBROUTINE GaussSeidel

END MODULE MKE

!-----------------------------------------------------------------------------

Page 45: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

42

PROGRAM K2mke

use MKE

character(12) :: datio, datu1, dati2, dati3

print "(5x,A)", "Ime fajla sa imenima I/O fajlova? "

read "(A)", datio

open( unit = 10, file = datio, status = "old" )

read( 10, "(A)" ) datu1 ! ulazni podaci

read( 10, "(A)" ) dati2 ! rezultati hn(x,t)

read( 10, "(A)" ) dati3 ! rezultati qr(t)

open( unit = 1, file = datu1, status = "old" )

open( unit = 2, file = dati2, status = "replace" )

open( unit = 3, file = dati3, status = "replace" )

call RacunskiParametri( 1, 2, 3 )

call IzvorniClan( 1 )

t = 0.

call PocetniUslov( 1 )

call GlobalnaMatrica

do n = 1, ndt ! ciklus po vremenu

t = t + dt

q = flin1( kisa%nii, kisa%tt, kisa%ii, t )

sumqe = 0.

do i = 1, ne

qe( i ) = q * dx( i ) ! izvorni clan (kisa->dotok)

sumqe = sumqe + qe( i )

enddo

qe( ncv ) = qe( ne )

call VektorSlobodnihClanova

call GaussSeidel; hn( 1 ) = hn( 2 )

if( n / nprint * nprint == n) then

qr = izdan%Kf * hn( ncv ) * ( hn( ne ) - hn( ncv ) ) / dx( ne )

call Rezultati( 2, 3 )

endif

do i = 1, ncv ! prenos promenljive

h( i ) = hn( i )

enddo

enddo

close( 1 ); close( 2 ); close( 3 ); close( 10 )

END PROGRAM K2mke

Page 46: prof. Miodrag B. Jovanovi´c Metoda konaˇcnih elemenatamjovanovic/nm/BaznaMKE.pdf · pokazuje skica na Slici 1.2-(b), uzme u obzir ,,doprinos” svih elemenata oko datog ˇcvora.

43

Fajl ,,K2mke.iof"

K2mke.dat ulazni podaci

K2mke.rez rezultati h(x,t)

K2mke.req rezultati qr(t)

Fajl ,,K2mke.dat"

Primer za program K2mke

21 ncv - broj cvorova

9*200 7*100 4*25 dx - duzine elemenata [m]

50 Kf - koef.filtracije [m/h]

0.4 epor - efektivna poroznost [-]

300, 1, 10 ndt [-], dt [h], nprint [-]

4 nqt - broj podataka za izvor

0 0.01 0 0 qq - intenzitet kise [m/h]

0 40 80 1000 tt - vreme [h]

1 ho - pocetni nivo u izdani [m]