Functional programming applied to electrical engineering
Autor(a) principal: | |
---|---|
Data de Publicação: | 2019 |
Tipo de documento: | Dissertação |
Idioma: | eng |
Título da fonte: | Repositório Institucional da UNIFEI (RIUNIFEI) |
Texto Completo: | https://repositorio.unifei.edu.br/jspui/handle/123456789/2105 |
Resumo: | Many engineering projects rely on software to execute simulations and analysis of a wide variety of domains. Computer programs are great allies of the engineers when it comes to simulations, including the ones for electromagnetic transient analysis. However, a single programming paradigm (the imperative paradigm) seems to have dominated most of the commercial and academic applications. This work presents and implements an algorithm to analyse simple electromagnetic transient circuits adopting functional programming. The code uses the nodal analysis found on industry programs like the EMTP (Electromagnetic Transients Program). The results of adopting the Haskell language and functional programming are very favourable to the engineering community: programs with higher chances to have fewer bugs, with concise implementations and with more focus on the mathematical aspects of the algorithm. |
id |
UFEI_f83da741a14edbd991778d08a69a188f |
---|---|
oai_identifier_str |
oai:repositorio.unifei.edu.br:123456789/2105 |
network_acronym_str |
UFEI |
network_name_str |
Repositório Institucional da UNIFEI (RIUNIFEI) |
repository_id_str |
7044 |
spelling |
2019-12-042020-01-31T18:40:25Z2020-01-31T18:40:25ZTAVANTE, Hanneli Carolina Andreazzi. Functional programming applied to electrical engineering. 2019. 87 f. Dissertação (Mestrado em Engenharia Elétrica) – Universidade Federal de Itajubá, Itajubá, 2019.https://repositorio.unifei.edu.br/jspui/handle/123456789/2105Many engineering projects rely on software to execute simulations and analysis of a wide variety of domains. Computer programs are great allies of the engineers when it comes to simulations, including the ones for electromagnetic transient analysis. However, a single programming paradigm (the imperative paradigm) seems to have dominated most of the commercial and academic applications. This work presents and implements an algorithm to analyse simple electromagnetic transient circuits adopting functional programming. The code uses the nodal analysis found on industry programs like the EMTP (Electromagnetic Transients Program). The results of adopting the Haskell language and functional programming are very favourable to the engineering community: programs with higher chances to have fewer bugs, with concise implementations and with more focus on the mathematical aspects of the algorithm.Functional programming applied to electrical engineeringinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisItajubáUNIFEI - Universidade Federal de Itajubá87 p.Programação funcionalAnálise transitória eletromagnéticaHaskellProgramming languagesFunctional programmingElectromagnetic transient analysisHaskellProgramming languagesBONATO, Benedito DonizettiCOUTINHO, Maurilio P.Engenharia ElétricaCNPQ::Engenharia ElétricaProgramação Aplicada à Engenharia ElétricaTAVANTE, Hanneli Carolina AndreazziPrograma de Pós-Graduação: Mestrado - Engenharia ElétricaIESTI - Instituto de Engenharia de Sistemas e Tecnologia da Informaçãoengreponame:Repositório Institucional da UNIFEI (RIUNIFEI)instname:Universidade Federal de Itajubá (UNIFEI)instacron:UNIFEIinfo:eu-repo/semantics/openAccessORIGINALDissertação_2020015.pdfDissertação_2020015.pdfapplication/pdf4063235https://repositorio.unifei.edu.br/jspui/bitstream/123456789/2105/1/Disserta%c3%a7%c3%a3o_2020015.pdf810581bf60bafc626408a508d77485b7MD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.unifei.edu.br/jspui/bitstream/123456789/2105/2/license.txt8a4605be74aa9ea9d79846c1fba20a33MD52123456789/21052024-02-20 14:02:17.318oai:repositorio.unifei.edu.br:123456789/2105Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.unifei.edu.br/oai/requestrepositorio@unifei.edu.br || geraldocarlos@unifei.edu.bropendoar:70442024-02-20T17:02:17Repositório Institucional da UNIFEI (RIUNIFEI) - Universidade Federal de Itajubá (UNIFEI)false |
dc.title.pt_BR.fl_str_mv |
Functional programming applied to electrical engineering |
title |
Functional programming applied to electrical engineering |
spellingShingle |
Functional programming applied to electrical engineering TAVANTE, Hanneli Carolina Andreazzi |
title_short |
Functional programming applied to electrical engineering |
title_full |
Functional programming applied to electrical engineering |
title_fullStr |
Functional programming applied to electrical engineering |
title_full_unstemmed |
Functional programming applied to electrical engineering |
title_sort |
Functional programming applied to electrical engineering |
author |
TAVANTE, Hanneli Carolina Andreazzi |
author_facet |
TAVANTE, Hanneli Carolina Andreazzi |
author_role |
author |
dc.contributor.author.fl_str_mv |
TAVANTE, Hanneli Carolina Andreazzi |
description |
Many engineering projects rely on software to execute simulations and analysis of a wide variety of domains. Computer programs are great allies of the engineers when it comes to simulations, including the ones for electromagnetic transient analysis. However, a single programming paradigm (the imperative paradigm) seems to have dominated most of the commercial and academic applications. This work presents and implements an algorithm to analyse simple electromagnetic transient circuits adopting functional programming. The code uses the nodal analysis found on industry programs like the EMTP (Electromagnetic Transients Program). The results of adopting the Haskell language and functional programming are very favourable to the engineering community: programs with higher chances to have fewer bugs, with concise implementations and with more focus on the mathematical aspects of the algorithm. |
publishDate |
2019 |
dc.date.issued.fl_str_mv |
2019-12-04 |
dc.date.available.fl_str_mv |
2020-01-31T18:40:25Z |
dc.date.accessioned.fl_str_mv |
2020-01-31T18:40:25Z |
dc.type.status.fl_str_mv |
info:eu-repo/semantics/publishedVersion |
dc.type.driver.fl_str_mv |
info:eu-repo/semantics/masterThesis |
format |
masterThesis |
status_str |
publishedVersion |
dc.identifier.citation.fl_str_mv |
TAVANTE, Hanneli Carolina Andreazzi. Functional programming applied to electrical engineering. 2019. 87 f. Dissertação (Mestrado em Engenharia Elétrica) – Universidade Federal de Itajubá, Itajubá, 2019. |
dc.identifier.uri.fl_str_mv |
https://repositorio.unifei.edu.br/jspui/handle/123456789/2105 |
identifier_str_mv |
TAVANTE, Hanneli Carolina Andreazzi. Functional programming applied to electrical engineering. 2019. 87 f. Dissertação (Mestrado em Engenharia Elétrica) – Universidade Federal de Itajubá, Itajubá, 2019. |
url |
https://repositorio.unifei.edu.br/jspui/handle/123456789/2105 |
dc.language.iso.fl_str_mv |
eng |
language |
eng |
dc.rights.driver.fl_str_mv |
info:eu-repo/semantics/openAccess |
eu_rights_str_mv |
openAccess |
dc.publisher.program.fl_str_mv |
Programa de Pós-Graduação: Mestrado - Engenharia Elétrica |
dc.publisher.department.fl_str_mv |
IESTI - Instituto de Engenharia de Sistemas e Tecnologia da Informação |
dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UNIFEI (RIUNIFEI) instname:Universidade Federal de Itajubá (UNIFEI) instacron:UNIFEI |
instname_str |
Universidade Federal de Itajubá (UNIFEI) |
instacron_str |
UNIFEI |
institution |
UNIFEI |
reponame_str |
Repositório Institucional da UNIFEI (RIUNIFEI) |
collection |
Repositório Institucional da UNIFEI (RIUNIFEI) |
bitstream.url.fl_str_mv |
https://repositorio.unifei.edu.br/jspui/bitstream/123456789/2105/1/Disserta%c3%a7%c3%a3o_2020015.pdf https://repositorio.unifei.edu.br/jspui/bitstream/123456789/2105/2/license.txt |
bitstream.checksum.fl_str_mv |
810581bf60bafc626408a508d77485b7 8a4605be74aa9ea9d79846c1fba20a33 |
bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 |
repository.name.fl_str_mv |
Repositório Institucional da UNIFEI (RIUNIFEI) - Universidade Federal de Itajubá (UNIFEI) |
repository.mail.fl_str_mv |
repositorio@unifei.edu.br || geraldocarlos@unifei.edu.br |
_version_ |
1801863196491907072 |