Vis enkel innførsel

dc.contributor.advisorHaugen, Bjørn
dc.contributor.authorHvalstad-Nilsen, Oskar
dc.date.accessioned2019-10-10T14:00:34Z
dc.date.available2019-10-10T14:00:34Z
dc.date.issued2019
dc.identifier.urihttp://hdl.handle.net/11250/2621457
dc.description.abstractElementmetoden kan brukes til å utføre datasimuleringer (FEA) av fysiske fenomener og er mye brukt innen konstruksjon og maskinteknikk. Siden FEA innebærer arbeidskrevende beregninger utføres det best av en datamaskin, hvor elementmodellen vanligvis overføres til løsningsprogramvaren via inputfiler. Disse inputfilene har som regel formater som er utviklet for ´en spesifikk FEAprogramvare, slik at å sikre kompabilitet mellom dem er komplisert. YAML 1.2 er et fritt tilgjengelig dataserialiseringsspråk for alle programmeringsspråk. Blant designmålene for YAML finner man menneskelig lesbarhet, dataportabilitet, uttrykkbarhet og enkel implementering. Disse egenskapene, kombinert med at det allerede eksisterer veldefinerte YAML-parsere, gjør dette til et interessant språk for inputfiler til FEA. Målet med denne oppgaven er: 1. Foreslå et YAML-basert inputfilformat for FEA av konstruksjoner, og 2. Implementere en prototypeparser for formatet i C++ ved hjelp av tilgjengelige verktøy med åpen kildekode. Denne oppgaven legger frem et grunnleggende YAML-basert inputfilformat for FEA av konstruksjoner. Formatet er basert på Bjørn Haugen’s inputfilformat for FEA, Cfem. Det har også likhetstrekk med USFOS’ strukturelle filformat, UFO, med hensyn til å definere datatyper. Formatet ble utviklet ved å definere en overordnet datastruktur, og ved å legge inn Cfem-datatyper, oversatt til YAML. Dermed kan det foreslåtte formatet representere en delmengde av datatypene i Cfem. Formatet er mindre restriktivt enn mange eksisterende formater, da det støtter vilkårlig rekkefølge blant både dataposter og attributter. Det mangler imidlertid komplisert funksjonalitet som finnes i mer modne inputfilformater for FEA. Prototypeparseren ble implementert i (objektorientert) C++, og bruker yaml-cpp til å lese YAMLfilene. Den lykkes i å lage en intern C++ representasjon av dataene i YAML-filen. Dermed kan prototypeparseren brukes til å verifisere det YAML-baserte inputfilformatet. Både det foreslåtte formatet og prototypeparseren er preget av at de er i begynnelsen av utviklingsfasen. De er minimalistiske og knappe, men de kan utvides. Dermed fungerer formatet og prototypeparseren som et konseptbevis: De viser at et YAML-basert inputfilformat for FEA av konstruksjoner er mulig, og de danner et grunnlag videre utvikling.
dc.description.abstractThe finite element method (FEM) can be used to perform finite element analysis (FEA) of any given physical phenomenon, and is widely used in the fields of structural and mechanical engineering. Since FEA is computationally laborious it is best performed by a computer, and the FEM model is typically conveyed to the solver software by input files. These input files are generally formatted for specific FEA software, hence interoperability between them is an intricate matter. YAML 1.2 is an openly accessible data serialization language for all programming languages. Among its design goals are human readability, data portability, expressiveness, and easy implementation. Its portability and expressiveness combined with the fact that well-defined YAML parsers already exist, makes it an interesting choice for FEA input files. The objectives of this thesis are to: 1. Propose a YAML based input file format for finite element analysis of structural problems, and 2. Implement a prototype parser for the proposed format using C++ and available open-source tools. This thesis proposes a basic YAML based input file format for FEA of structural problems. The format is based on Bjørn Haugen's Cfem input file format for FEA, and bears close resemblance to USFOS' structural file format, UFO, in terms of FEM data record definition. The format was developed by defining a top-level data structure in YAML and populating it with Cfem data record definitions, converted into the YAML language. Hence, the proposed format can represent a subset of the data types in Cfem. The format is less restrictive than many existing formats, as it supports arbitrary ordering of both data records and attributes. However, it lacks complex functionality featured in mature input file formats for FEA. The prototype parser was implemented in (object-oriented) C++, using yaml-cpp to parse the YAML character stream. The prototype parser successfully constructs an internal C++ representation of the data in the character stream. Thus, it can be used in connection with format verification. Both the proposed format and the prototype parser are characterized by being in their infancy. They are minimalistic and scarce, but they are extendible and function as a proof of concept: They prove that a YAML based input file format for FEA of structural problems is possible, and they form a basis for it.
dc.languageeng
dc.publisherNTNU
dc.titleYAML Based Input File Format For Finite Element Analysis
dc.typeMaster thesis


Tilhørende fil(er)

Thumbnail
Thumbnail

Denne innførselen finnes i følgende samling(er)

Vis enkel innførsel