Elementtimallinnusohjelmat
Lehtonen, Simo (2016-05-31)
Lehtonen, Simo
S. Lehtonen
31.05.2016
© 2016 Simo Lehtonen. Tämä Kohde on tekijänoikeuden ja/tai lähioikeuksien suojaama. Voit käyttää Kohdetta käyttöösi sovellettavan tekijänoikeutta ja lähioikeuksia koskevan lainsäädännön sallimilla tavoilla. Muunlaista käyttöä varten tarvitset oikeudenhaltijoiden luvan.
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:oulu-201606032255
https://urn.fi/URN:NBN:fi:oulu-201606032255
Tiivistelmä
Osittaisdifferentiaaliyhtälöiden numeerinen ratkaiseminen määrätyssä alueessa on yksi teknillisen matematiikan keskeisistä osa-alueista. Yksi yleisesti käytetty numeerinen menetelmä likiarvoisen ratkaisun laskemiseksi on elementtimenetelmä. Elementtimenetelmässä alueesta muodostetaan geometrinen malli, jolle luodaan elementeistä koostuva hila. Tämä mahdollistaa ratkaisun laskemisen paikallisesti kullekin elementille, josta koostetaan koko alueen kattava ratkaisu. Elementtien lukumäärä hilassa on usein niin suuri, ettei vaadittavia laskutoimituksia ole mielekästä tehdä käsin. Tästä johtuen elementtimenetelmä on tietokoneavusteista. Tarjolla on lukuisia ohjelmistoimplementaatioita, joista jotkut ovat ilmaisia ja toiset maksullisia. Myös toiminnallisuuden fokuksessa on eroja ohjelmien välillä.
Tässä työssä keskitytään mallin geometrian ja hilan luomiseen. Esiteltäväksi on otettu kolme ohjelmaa: Gmsh, FreeFem++ ja MATLAB. Kunkin ohjelman tekniset asiat sekä toiminnallisuus käydään läpi ja ohjelmien käyttämistä valaistaan kaksi- ja kolmiulotteisin esimerkein. Esimerkeissä tarkastellaan myös eri algoritmien, optimointimenetelmien, elementtien asteen ja koon vaikutusta elementtien laatuun. Hyvän lopputuloksen kannalta hyvälaatuiset elementit ovat tärkeitä. Työssä esitellään monta eri tapaa laskea elementtien laatu. Esimerkeissä laatutekijöitä havainnollistetaan kuvin ja taulukoin.
Työ havainnollistaa ohjelmien väliset erot lähestymistavassa määrittää mallin geometria. Gmsh tarjoaa monipuolisimmat työkalut geometrian ja hilan luomiseen sekä laatutarkkailuun. FreeFem++ on suoraviivaisin mallin määrittelyssä ja tarjoaa muassaan laajan ratkaisijavalikoiman. MATLABissa elementtimenetelmä on vain pieni osa koko toiminnallisuutta. MATLABilla oli ainoana ohjelmana vaikeuksia implementoida esimerkkien tehtävän määrittelyä, vaikka sen voidaankin katsoa suoriutuneen esimerkeistä. Solving partial differential equations numerically in a specified domain is one of the essential areas in technical mathematics. The finite element method is commonly used numerical method in order to obtain approximated solution. In the finite element method a geometrical model is constructed from the domain. A mesh composed of elements is generated for the model. This allows the ability to calculate a solution for each element separately from which a solution for the whole domain can be composed. It is not sensible to make the calculations with pen and paper because the number of elements is usually large. Hence the finite element method is computer-assisted. There are several software implementations, both free and commercial. There are also differences in focus between the different pieces of software.
In this thesis the main focus is generation of the geometry and the mesh of the model. Three pieces of software, Gmsh, FreeFem++ and MATLAB, are introduced. Technical information and functionality is presented for each piece of software. Two- and three-dimensional examples enlighten the use of them. In these examples element quality is also inspected regarding algorithms, optimization methods and an order and a size of the elements. High quality elements are essential for good results. Many ways to calculate element qualities are presented. In the examples quality measures are visualized by tables and figures.
This thesis shows that there are differences in how these pieces of software handle generation of the geometry. Gmsh provides the most versatile tools for generation of a geometry, a mesh and a quality measure. FreeFem++ is the most direct in its approach and offers a wide variety of solvers within it. Finite element method is only a small part of functionality in MATLAB. MATLAB was the only piece of software to have difficulties implementing the examples, although it did manage in a somewhat reasonable fashion.
Tässä työssä keskitytään mallin geometrian ja hilan luomiseen. Esiteltäväksi on otettu kolme ohjelmaa: Gmsh, FreeFem++ ja MATLAB. Kunkin ohjelman tekniset asiat sekä toiminnallisuus käydään läpi ja ohjelmien käyttämistä valaistaan kaksi- ja kolmiulotteisin esimerkein. Esimerkeissä tarkastellaan myös eri algoritmien, optimointimenetelmien, elementtien asteen ja koon vaikutusta elementtien laatuun. Hyvän lopputuloksen kannalta hyvälaatuiset elementit ovat tärkeitä. Työssä esitellään monta eri tapaa laskea elementtien laatu. Esimerkeissä laatutekijöitä havainnollistetaan kuvin ja taulukoin.
Työ havainnollistaa ohjelmien väliset erot lähestymistavassa määrittää mallin geometria. Gmsh tarjoaa monipuolisimmat työkalut geometrian ja hilan luomiseen sekä laatutarkkailuun. FreeFem++ on suoraviivaisin mallin määrittelyssä ja tarjoaa muassaan laajan ratkaisijavalikoiman. MATLABissa elementtimenetelmä on vain pieni osa koko toiminnallisuutta. MATLABilla oli ainoana ohjelmana vaikeuksia implementoida esimerkkien tehtävän määrittelyä, vaikka sen voidaankin katsoa suoriutuneen esimerkeistä.
In this thesis the main focus is generation of the geometry and the mesh of the model. Three pieces of software, Gmsh, FreeFem++ and MATLAB, are introduced. Technical information and functionality is presented for each piece of software. Two- and three-dimensional examples enlighten the use of them. In these examples element quality is also inspected regarding algorithms, optimization methods and an order and a size of the elements. High quality elements are essential for good results. Many ways to calculate element qualities are presented. In the examples quality measures are visualized by tables and figures.
This thesis shows that there are differences in how these pieces of software handle generation of the geometry. Gmsh provides the most versatile tools for generation of a geometry, a mesh and a quality measure. FreeFem++ is the most direct in its approach and offers a wide variety of solvers within it. Finite element method is only a small part of functionality in MATLAB. MATLAB was the only piece of software to have difficulties implementing the examples, although it did manage in a somewhat reasonable fashion.
Kokoelmat
- Avoin saatavuus [29905]