dc.contributor.advisor | Bjørndalen, John Markus | |
dc.contributor.advisor | Juselius, Jonas | |
dc.contributor.author | Indreberg, Marius | |
dc.date.accessioned | 2021-06-16T09:38:58Z | |
dc.date.available | 2021-06-16T09:38:58Z | |
dc.date.issued | 2021-05-31 | |
dc.description.abstract | Simulating large bodies of entities in various environments is an old science that traces back decades in computer science. There are existing software frameworks with well built mathematical models for approximating various environments. These frameworks are however built on imperative programming fundamentals often following a object oriented paradigm.
This thesis presents Particular a 3d particle simulator software library for simulating movements of independent entities on a time dependant three-dimensional vector field using a functional approach. Particular uses functional programming paradigms to create a quite customizable, flexible and maintainable library based on lambda functions with all relevant parameters encapsulated in closures.
Particular uses a functional implementation of a Entity Component System software architecture usually found in game development to create a highly performant, flexible, data oriented design. Which uncouples the data with the aforementioned lambda functions that predicate particle behaviour.
According to evaluations particular shows a significant performance increase with regards to execution time compared to comparison to other contemporary trajectory simulation frameworks such as opendrift. With some evaluations showing a 900% faster execution time under certain conditions. | en_US |
dc.identifier.uri | https://hdl.handle.net/10037/21447 | |
dc.language.iso | eng | en_US |
dc.publisher | UiT Norges arktiske universitet | en_US |
dc.publisher | UiT The Arctic University of Norway | en_US |
dc.rights.accessRights | openAccess | en_US |
dc.rights.holder | Copyright 2021 The Author(s) | |
dc.rights.uri | https://creativecommons.org/licenses/by-nc-sa/4.0 | en_US |
dc.rights | Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0) | en_US |
dc.subject.courseID | INF-3981 | |
dc.subject | VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Systemutvikling og – arbeid: 426 | en_US |
dc.subject | VDP::Mathematics and natural science: 400::Information and communication science: 420::System development and system design: 426 | en_US |
dc.subject | VDP::Matematikk og Naturvitenskap: 400::Informasjons- og kommunikasjonsvitenskap: 420::Teoretisk databehandling, programmeringsspråk og -teori: 421 | en_US |
dc.subject | VDP::Mathematics and natural science: 400::Information and communication science: 420::Theoretical computer science, programming languages and programming theory: 421 | en_US |
dc.title | Particular: A Functional Approach to 3D Particle Simulation | en_US |
dc.type | Master thesis | en_US |
dc.type | Mastergradsoppgave | en_US |