Fabritseeritud lahendite meetod

Fabritseeritud lahendite meetod (inglise keeles Method of Manufactured Solutions) on metodoloogia osatuletistega diferentsiaalvõrrandite süsteemi analüütiliste lahendite leidmiseks. Fabritseeritud lahendite meetodit kasutatakse diferentsiaalvõrrandite süsteeme lahendavate numbriliste algoritmide verifitseerimisel.[1]

Diferentsiaalvõrrandite numbriliste lahendajate verifitseerimine muuda

Osatuletistega diferentsiaalvõrrandisüsteemide numbriline lahendamine arvutiprogrammide abil on tänapäevaste teadusarvutuste oluline osa. Sealjuures on oluline kontrollida, kas kasutatav numbriline algoritm on korrektselt implementeeritud. Viimane tegevus nõuab omakorda teadaolevalt korrektset, analüütilisel kujul lahendit. Selle leidmine praktikas esilekerkivate keerulisemate võrrandite, määramispiirkondade ning ääretingimuste korral ei pruugi võrrandit "toore jõuga" lahendades võimalikuks osutuda. Sümmeetrilistest erijuhtudest tuletatud analüütilised lahendid võivad sealjuures jätta tuvastamata olulisi koodis esinevaid vigu.[2]

Fabritseeritud lahendite meetod lahendab "lahendi leidmise probleemi", fikseerides lahendi ning leides seejärel viimase jaoks sobiva, kuid algse ülesandega piisavalt sarnase diferentsiaalvõrrandi. Meetodi kasutamine reaalse arvutiprogrammi puhul võib seega nõuda väiksemaid muudatusi programmi koodis, tõstes seevastu oluliselt hinnangut koodi (matemaatilise) korrektsuse osas.

Meetodi kirjeldus muuda

Fabritseeritud lahendite meetodi idee võib esitada järgmiselt.[1] Olgu meil diferentsiaalvõrrand kujul

 

millele otsitakse numbriliselt korrektset, kuid mitte ilmtingimata sisulise (füüsikalise) tähendusega lahendit  . Selleks valime diferentsiaalvõrrandi operaatori   asemele viimasega sarnase operaatori   nii, et eelnevalt valitud lahend oleks saadud diferentsiaalvõrrandi lahendiks:

 

Lihtsaim viis   leidmiseks on teisendus:

 

kus  .

Ääre- ja algtingimused määratakse fabritseeritud lahendi   pidevust arvestades.

Näide lahendi fabritseerimisest difusioonivõrrandile muuda

Näitena vaatleme meetodi rakendamist ajast sõltumatu kahemõõtmelise difusioonivõrrandi   lahendamisele Jacobi iteratsioonimeetodiga. Valime fabritseeritud lahendiks  . Diferentsiaalvõrrandi operaatoriks on

 

seega

 

Seega on funktsioon   järgmise diferentsiaalvõrrandi lahendiks.

 

Kui ruudukujulistest elementidest küljepikkusega   koosneval võrel Jacobi meetodiga algset diferentsiaalvõrrandit lahendav iteratsioonireegel on järgmine:

 

siis fabritseeritud lahendite meetodi kasutamiseks tuleb iteratsioonireeglisse lisada jääkliige  

 

Fabritseeritud lahendiga testimisel seatakse jääkliikme väärtuseks  , algset ülesannet lahendades seevastu  .

Viited muuda

  1. 1,0 1,1 Patrick J. Roache. Building PDE Codes to be Verifiable and Validatable. Computing in Science and Engineering, vol. 6, no. 5, pp. 30-38, Sep./Oct. 2004, doi:10.1109/MCSE.2004.33
  2. Kambiz Salari and Patrick Knupp. Code Verification by the Method of Manufactured Solutions. Technical report. Sandia National Laboratories, June 2000.