Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS
| Ano de defesa: | 2024 |
|---|---|
| Autor(a) principal: | |
| Orientador(a): | |
| Banca de defesa: | , |
| Tipo de documento: | Dissertação |
| Tipo de acesso: | Acesso aberto |
| Idioma: | por |
| Instituição de defesa: |
Universidade Federal de Juiz de Fora (UFJF)
|
| Programa de Pós-Graduação: |
Programa de Pós-graduação em Engenharia Elétrica
|
| Departamento: |
Faculdade de Engenharia
|
| País: |
Brasil
|
| Palavras-chave em Português: | |
| Área do conhecimento CNPq: | |
| Link de acesso: | https://repositorio.ufjf.br/jspui/handle/ufjf/17139 |
Resumo: | Esta dissertação apresenta a implementação de um método alternado implícito para solucionar um problema de estabilidade transitória que envolve um sistema elétrico de potência de grande porte. Para isso, o sistema é dividido em três elementos (ou subsistemas): a rede elétrica de transmissão, os geradores elétricos dinâmicos (bem como os equipamentos dinâmicos associados) e a rede de distribuição. Considerando o desmembramento proposto, cada um dos subsistemas pode ser modelado em domínios distintos, como por exemplo domínios da frequência e do tempo. Além disso, torna-se possível atribuir ferramentas computacionais e métodos apropriados de solução para cada subsistema. Como resultado, pode-se esperar que a simulação ofereça uma maior flexibilidade na modelagem, possibilidade de reutilização dos modelos e potenciais ganhos de desempenho computacional. O primeiro subsistema, correspondente à rede de transmissão e suas cargas (sejam lineares ou não lineares), é representado por sua sequência positiva através da linguagem Python, onde é implementado o método de solução nodal. Para o segundo subsistema, correspondente às máquinas elétricas, deve-se considerar a sua natureza dinâmica e, portanto, a ferramenta computacional adotada é a Functional Mockup Interface (FMI), que consiste em uma interface padronizada e gratuita que visa o acoplamento entre modelos matemáticos e simuladores. Os modelos, ou bibliotecas, que adotam a interface FMI são chamados Functional Mock-up Units (FMU), e podem ser classificados como dois tipos distintos: Co-Simulation (CS) e Model Exchange (ME). Este estudo adota a FMU do tipo ME, cuja solução deve ser realizada por um solucionador externo baseado no método de integração trapezoidal. O terceiro e último subsistema, correspondente à rede de distribuição, é representado através de um módulo baseado no programa OpenDSS, que por sua vez consiste em um simulador de sistemas elétricos de distribuição e Recursos Energéticos Distribuídos (RED). Para a comunicação em Python entre a rede de transmissão e os outros subsistemas, os modelos de máquinas síncronas são implementados pelo programa OMEdit, encapsulados em FMUs por um compilador em Modelica e importados para o ambiente em Python pela biblioteca PyFMI, enquanto o subsistema de distribuição é importado pelo módulo OpenDSSDirect. Definidos os subsistemas, os resultados obtidos pela simulação proposta com FMU do tipo ME coincidem de forma satisfatória com os obtidos pelo ANATEM, um programa de simulação dinâmica no domínio no tempo e análise de transitórios eletromecânicos. |
| id |
UFJF_5ce189a4161e0b7cf8b982451e9d4404 |
|---|---|
| oai_identifier_str |
oai:hermes.cpd.ufjf.br:ufjf/17139 |
| network_acronym_str |
UFJF |
| network_name_str |
Repositório Institucional da UFJF |
| repository_id_str |
|
| spelling |
Tomim, Marcelo Arocahttp://lattes.cnpq.br/4949699647485158Aquino, Antonio Felipe da Cunha dehttp://lattes.cnpq.br/7345315535113637Passos Filho, João Albertohttp://lattes.cnpq.br/0004473428354479http://lattes.cnpq.br/7285970706818484Fava, Ricardo Proba2024-08-12T10:34:46Z2024-08-092024-08-12T10:34:46Z2024-05-09https://repositorio.ufjf.br/jspui/handle/ufjf/17139Esta dissertação apresenta a implementação de um método alternado implícito para solucionar um problema de estabilidade transitória que envolve um sistema elétrico de potência de grande porte. Para isso, o sistema é dividido em três elementos (ou subsistemas): a rede elétrica de transmissão, os geradores elétricos dinâmicos (bem como os equipamentos dinâmicos associados) e a rede de distribuição. Considerando o desmembramento proposto, cada um dos subsistemas pode ser modelado em domínios distintos, como por exemplo domínios da frequência e do tempo. Além disso, torna-se possível atribuir ferramentas computacionais e métodos apropriados de solução para cada subsistema. Como resultado, pode-se esperar que a simulação ofereça uma maior flexibilidade na modelagem, possibilidade de reutilização dos modelos e potenciais ganhos de desempenho computacional. O primeiro subsistema, correspondente à rede de transmissão e suas cargas (sejam lineares ou não lineares), é representado por sua sequência positiva através da linguagem Python, onde é implementado o método de solução nodal. Para o segundo subsistema, correspondente às máquinas elétricas, deve-se considerar a sua natureza dinâmica e, portanto, a ferramenta computacional adotada é a Functional Mockup Interface (FMI), que consiste em uma interface padronizada e gratuita que visa o acoplamento entre modelos matemáticos e simuladores. Os modelos, ou bibliotecas, que adotam a interface FMI são chamados Functional Mock-up Units (FMU), e podem ser classificados como dois tipos distintos: Co-Simulation (CS) e Model Exchange (ME). Este estudo adota a FMU do tipo ME, cuja solução deve ser realizada por um solucionador externo baseado no método de integração trapezoidal. O terceiro e último subsistema, correspondente à rede de distribuição, é representado através de um módulo baseado no programa OpenDSS, que por sua vez consiste em um simulador de sistemas elétricos de distribuição e Recursos Energéticos Distribuídos (RED). Para a comunicação em Python entre a rede de transmissão e os outros subsistemas, os modelos de máquinas síncronas são implementados pelo programa OMEdit, encapsulados em FMUs por um compilador em Modelica e importados para o ambiente em Python pela biblioteca PyFMI, enquanto o subsistema de distribuição é importado pelo módulo OpenDSSDirect. Definidos os subsistemas, os resultados obtidos pela simulação proposta com FMU do tipo ME coincidem de forma satisfatória com os obtidos pelo ANATEM, um programa de simulação dinâmica no domínio no tempo e análise de transitórios eletromecânicos.This master thesis presents the implementation of an implicit alternating method to solve a transient stability problem involving a large electrical power system. To achieve this, the system is split into three elements (or subsystems): the electrical transmission network, the dynamic electrical generators (as well as the associated dynamic equipment) and the distribution network. Considering the proposed dismemberment, each one of the subsystems can be modeled in different domains, such as frequency and time domains. Furthermore, it’s possible to assign appropriate computational tools and solution methods to each subsystem. As a result, the simulation is expected to offer greater modeling flexibility, potential for model reuse, and computational performance improvement. The first subsystem, corresponding to the transmission network and its loads (whether linear or non-linear), is represented by its equivalent positive sequence circuit using Python language, where the nodal solution method is implemented. For the second subsystem, corresponding to electrical machines, its dynamic nature must be considered and, therefore, the adopted computational tool is the Functional Mock-up Interface (FMI), which consists of a standardized and free interface that aims at coupling between mathematical models and simulators. The models, or libraries, that adopt the FMI interface are called Functional Mock-up Units (FMU), and can be classified as two different types: Co-Simulation (CS) and Model Exchange (ME). This study adopts the ME-type FMU, whose solution must be performed by an external solver based on the trapezoidal integration method. The third and final subsystem, corresponding to the distribution network, is represented through a package based on the OpenDSS, which consists of a simulator of electrical distribution systems and Distributed Energy Resources (RED). For Python-based communication between the transmission network and the other subsystems, synchronous machine models are implemented by the software OMEdit, encapsulated into FMUs by a Modelica compiler and imported into the Python environment by PyFMI library, while the distribution subsystem is imported by the OpenDSSDirect package. With the defined subsystems, the results obtained by the proposed simulation with an ME-type FMU match satisfactorily with those obtained by ANATEM, a program of time-domain dynamic simulation and analysis of electromechanical transients.porUniversidade Federal de Juiz de Fora (UFJF)Programa de Pós-graduação em Engenharia ElétricaUFJFBrasilFaculdade de EngenhariaAttribution-ShareAlike 3.0 Brazilhttp://creativecommons.org/licenses/by-sa/3.0/br/info:eu-repo/semantics/openAccessCNPQ::ENGENHARIAS::ENGENHARIA ELETRICACálculo do fluxo de potênciaEstabilidade transitóriaFMUSimulação no tempoOpenDSSOpenModelicaPower flow calculationTransient stabilityTime simulationEstratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSSinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/masterThesisreponame:Repositório Institucional da UFJFinstname:Universidade Federal de Juiz de Fora (UFJF)instacron:UFJFORIGINALricardoprobafava.pdfricardoprobafava.pdfapplication/pdf4906869https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/1/ricardoprobafava.pdfedf02aa66653c428c1ba8e279b37824eMD51CC-LICENSElicense_rdflicense_rdfapplication/rdf+xml; charset=utf-81031https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/2/license_rdf9b85e4235558a2887c2be3998124b615MD52LICENSElicense.txtlicense.txttext/plain; charset=utf-81748https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/3/license.txt8a4605be74aa9ea9d79846c1fba20a33MD53TEXTricardoprobafava.pdf.txtricardoprobafava.pdf.txtExtracted texttext/plain232323https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/4/ricardoprobafava.pdf.txte4cd474c8bcfa15048782507d2c94ff5MD54THUMBNAILricardoprobafava.pdf.jpgricardoprobafava.pdf.jpgGenerated Thumbnailimage/jpeg1168https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/5/ricardoprobafava.pdf.jpg641fc1217c911f192c26074584b3a8c3MD55ufjf/171392024-08-13 03:04:19.246oai:hermes.cpd.ufjf.br:ufjf/17139Tk9URTogUExBQ0UgWU9VUiBPV04gTElDRU5TRSBIRVJFClRoaXMgc2FtcGxlIGxpY2Vuc2UgaXMgcHJvdmlkZWQgZm9yIGluZm9ybWF0aW9uYWwgcHVycG9zZXMgb25seS4KCk5PTi1FWENMVVNJVkUgRElTVFJJQlVUSU9OIExJQ0VOU0UKCkJ5IHNpZ25pbmcgYW5kIHN1Ym1pdHRpbmcgdGhpcyBsaWNlbnNlLCB5b3UgKHRoZSBhdXRob3Iocykgb3IgY29weXJpZ2h0Cm93bmVyKSBncmFudHMgdG8gRFNwYWNlIFVuaXZlcnNpdHkgKERTVSkgdGhlIG5vbi1leGNsdXNpdmUgcmlnaHQgdG8gcmVwcm9kdWNlLAp0cmFuc2xhdGUgKGFzIGRlZmluZWQgYmVsb3cpLCBhbmQvb3IgZGlzdHJpYnV0ZSB5b3VyIHN1Ym1pc3Npb24gKGluY2x1ZGluZwp0aGUgYWJzdHJhY3QpIHdvcmxkd2lkZSBpbiBwcmludCBhbmQgZWxlY3Ryb25pYyBmb3JtYXQgYW5kIGluIGFueSBtZWRpdW0sCmluY2x1ZGluZyBidXQgbm90IGxpbWl0ZWQgdG8gYXVkaW8gb3IgdmlkZW8uCgpZb3UgYWdyZWUgdGhhdCBEU1UgbWF5LCB3aXRob3V0IGNoYW5naW5nIHRoZSBjb250ZW50LCB0cmFuc2xhdGUgdGhlCnN1Ym1pc3Npb24gdG8gYW55IG1lZGl1bSBvciBmb3JtYXQgZm9yIHRoZSBwdXJwb3NlIG9mIHByZXNlcnZhdGlvbi4KCllvdSBhbHNvIGFncmVlIHRoYXQgRFNVIG1heSBrZWVwIG1vcmUgdGhhbiBvbmUgY29weSBvZiB0aGlzIHN1Ym1pc3Npb24gZm9yCnB1cnBvc2VzIG9mIHNlY3VyaXR5LCBiYWNrLXVwIGFuZCBwcmVzZXJ2YXRpb24uCgpZb3UgcmVwcmVzZW50IHRoYXQgdGhlIHN1Ym1pc3Npb24gaXMgeW91ciBvcmlnaW5hbCB3b3JrLCBhbmQgdGhhdCB5b3UgaGF2ZQp0aGUgcmlnaHQgdG8gZ3JhbnQgdGhlIHJpZ2h0cyBjb250YWluZWQgaW4gdGhpcyBsaWNlbnNlLiBZb3UgYWxzbyByZXByZXNlbnQKdGhhdCB5b3VyIHN1Ym1pc3Npb24gZG9lcyBub3QsIHRvIHRoZSBiZXN0IG9mIHlvdXIga25vd2xlZGdlLCBpbmZyaW5nZSB1cG9uCmFueW9uZSdzIGNvcHlyaWdodC4KCklmIHRoZSBzdWJtaXNzaW9uIGNvbnRhaW5zIG1hdGVyaWFsIGZvciB3aGljaCB5b3UgZG8gbm90IGhvbGQgY29weXJpZ2h0LAp5b3UgcmVwcmVzZW50IHRoYXQgeW91IGhhdmUgb2J0YWluZWQgdGhlIHVucmVzdHJpY3RlZCBwZXJtaXNzaW9uIG9mIHRoZQpjb3B5cmlnaHQgb3duZXIgdG8gZ3JhbnQgRFNVIHRoZSByaWdodHMgcmVxdWlyZWQgYnkgdGhpcyBsaWNlbnNlLCBhbmQgdGhhdApzdWNoIHRoaXJkLXBhcnR5IG93bmVkIG1hdGVyaWFsIGlzIGNsZWFybHkgaWRlbnRpZmllZCBhbmQgYWNrbm93bGVkZ2VkCndpdGhpbiB0aGUgdGV4dCBvciBjb250ZW50IG9mIHRoZSBzdWJtaXNzaW9uLgoKSUYgVEhFIFNVQk1JU1NJT04gSVMgQkFTRUQgVVBPTiBXT1JLIFRIQVQgSEFTIEJFRU4gU1BPTlNPUkVEIE9SIFNVUFBPUlRFRApCWSBBTiBBR0VOQ1kgT1IgT1JHQU5JWkFUSU9OIE9USEVSIFRIQU4gRFNVLCBZT1UgUkVQUkVTRU5UIFRIQVQgWU9VIEhBVkUKRlVMRklMTEVEIEFOWSBSSUdIVCBPRiBSRVZJRVcgT1IgT1RIRVIgT0JMSUdBVElPTlMgUkVRVUlSRUQgQlkgU1VDSApDT05UUkFDVCBPUiBBR1JFRU1FTlQuCgpEU1Ugd2lsbCBjbGVhcmx5IGlkZW50aWZ5IHlvdXIgbmFtZShzKSBhcyB0aGUgYXV0aG9yKHMpIG9yIG93bmVyKHMpIG9mIHRoZQpzdWJtaXNzaW9uLCBhbmQgd2lsbCBub3QgbWFrZSBhbnkgYWx0ZXJhdGlvbiwgb3RoZXIgdGhhbiBhcyBhbGxvd2VkIGJ5IHRoaXMKbGljZW5zZSwgdG8geW91ciBzdWJtaXNzaW9uLgo=Repositório InstitucionalPUBhttps://repositorio.ufjf.br/oai/requestopendoar:2024-08-13T06:04:19Repositório Institucional da UFJF - Universidade Federal de Juiz de Fora (UFJF)false |
| dc.title.pt_BR.fl_str_mv |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| title |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| spellingShingle |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS Fava, Ricardo Proba CNPQ::ENGENHARIAS::ENGENHARIA ELETRICA Cálculo do fluxo de potência Estabilidade transitória FMU Simulação no tempo OpenDSS OpenModelica Power flow calculation Transient stability Time simulation |
| title_short |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| title_full |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| title_fullStr |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| title_full_unstemmed |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| title_sort |
Estratégia de simulação de transitórios eletromecânicos com emprego de unidades de simulação funcional e OpenDSS |
| author |
Fava, Ricardo Proba |
| author_facet |
Fava, Ricardo Proba |
| author_role |
author |
| dc.contributor.advisor1.fl_str_mv |
Tomim, Marcelo Aroca |
| dc.contributor.advisor1Lattes.fl_str_mv |
http://lattes.cnpq.br/4949699647485158 |
| dc.contributor.referee1.fl_str_mv |
Aquino, Antonio Felipe da Cunha de |
| dc.contributor.referee1Lattes.fl_str_mv |
http://lattes.cnpq.br/7345315535113637 |
| dc.contributor.referee2.fl_str_mv |
Passos Filho, João Alberto |
| dc.contributor.referee2Lattes.fl_str_mv |
http://lattes.cnpq.br/0004473428354479 |
| dc.contributor.authorLattes.fl_str_mv |
http://lattes.cnpq.br/7285970706818484 |
| dc.contributor.author.fl_str_mv |
Fava, Ricardo Proba |
| contributor_str_mv |
Tomim, Marcelo Aroca Aquino, Antonio Felipe da Cunha de Passos Filho, João Alberto |
| dc.subject.cnpq.fl_str_mv |
CNPQ::ENGENHARIAS::ENGENHARIA ELETRICA |
| topic |
CNPQ::ENGENHARIAS::ENGENHARIA ELETRICA Cálculo do fluxo de potência Estabilidade transitória FMU Simulação no tempo OpenDSS OpenModelica Power flow calculation Transient stability Time simulation |
| dc.subject.por.fl_str_mv |
Cálculo do fluxo de potência Estabilidade transitória FMU Simulação no tempo OpenDSS OpenModelica Power flow calculation Transient stability Time simulation |
| description |
Esta dissertação apresenta a implementação de um método alternado implícito para solucionar um problema de estabilidade transitória que envolve um sistema elétrico de potência de grande porte. Para isso, o sistema é dividido em três elementos (ou subsistemas): a rede elétrica de transmissão, os geradores elétricos dinâmicos (bem como os equipamentos dinâmicos associados) e a rede de distribuição. Considerando o desmembramento proposto, cada um dos subsistemas pode ser modelado em domínios distintos, como por exemplo domínios da frequência e do tempo. Além disso, torna-se possível atribuir ferramentas computacionais e métodos apropriados de solução para cada subsistema. Como resultado, pode-se esperar que a simulação ofereça uma maior flexibilidade na modelagem, possibilidade de reutilização dos modelos e potenciais ganhos de desempenho computacional. O primeiro subsistema, correspondente à rede de transmissão e suas cargas (sejam lineares ou não lineares), é representado por sua sequência positiva através da linguagem Python, onde é implementado o método de solução nodal. Para o segundo subsistema, correspondente às máquinas elétricas, deve-se considerar a sua natureza dinâmica e, portanto, a ferramenta computacional adotada é a Functional Mockup Interface (FMI), que consiste em uma interface padronizada e gratuita que visa o acoplamento entre modelos matemáticos e simuladores. Os modelos, ou bibliotecas, que adotam a interface FMI são chamados Functional Mock-up Units (FMU), e podem ser classificados como dois tipos distintos: Co-Simulation (CS) e Model Exchange (ME). Este estudo adota a FMU do tipo ME, cuja solução deve ser realizada por um solucionador externo baseado no método de integração trapezoidal. O terceiro e último subsistema, correspondente à rede de distribuição, é representado através de um módulo baseado no programa OpenDSS, que por sua vez consiste em um simulador de sistemas elétricos de distribuição e Recursos Energéticos Distribuídos (RED). Para a comunicação em Python entre a rede de transmissão e os outros subsistemas, os modelos de máquinas síncronas são implementados pelo programa OMEdit, encapsulados em FMUs por um compilador em Modelica e importados para o ambiente em Python pela biblioteca PyFMI, enquanto o subsistema de distribuição é importado pelo módulo OpenDSSDirect. Definidos os subsistemas, os resultados obtidos pela simulação proposta com FMU do tipo ME coincidem de forma satisfatória com os obtidos pelo ANATEM, um programa de simulação dinâmica no domínio no tempo e análise de transitórios eletromecânicos. |
| publishDate |
2024 |
| dc.date.accessioned.fl_str_mv |
2024-08-12T10:34:46Z |
| dc.date.available.fl_str_mv |
2024-08-09 2024-08-12T10:34:46Z |
| dc.date.issued.fl_str_mv |
2024-05-09 |
| 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.uri.fl_str_mv |
https://repositorio.ufjf.br/jspui/handle/ufjf/17139 |
| url |
https://repositorio.ufjf.br/jspui/handle/ufjf/17139 |
| dc.language.iso.fl_str_mv |
por |
| language |
por |
| dc.rights.driver.fl_str_mv |
Attribution-ShareAlike 3.0 Brazil http://creativecommons.org/licenses/by-sa/3.0/br/ info:eu-repo/semantics/openAccess |
| rights_invalid_str_mv |
Attribution-ShareAlike 3.0 Brazil http://creativecommons.org/licenses/by-sa/3.0/br/ |
| eu_rights_str_mv |
openAccess |
| dc.publisher.none.fl_str_mv |
Universidade Federal de Juiz de Fora (UFJF) |
| dc.publisher.program.fl_str_mv |
Programa de Pós-graduação em Engenharia Elétrica |
| dc.publisher.initials.fl_str_mv |
UFJF |
| dc.publisher.country.fl_str_mv |
Brasil |
| dc.publisher.department.fl_str_mv |
Faculdade de Engenharia |
| publisher.none.fl_str_mv |
Universidade Federal de Juiz de Fora (UFJF) |
| dc.source.none.fl_str_mv |
reponame:Repositório Institucional da UFJF instname:Universidade Federal de Juiz de Fora (UFJF) instacron:UFJF |
| instname_str |
Universidade Federal de Juiz de Fora (UFJF) |
| instacron_str |
UFJF |
| institution |
UFJF |
| reponame_str |
Repositório Institucional da UFJF |
| collection |
Repositório Institucional da UFJF |
| bitstream.url.fl_str_mv |
https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/1/ricardoprobafava.pdf https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/2/license_rdf https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/3/license.txt https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/4/ricardoprobafava.pdf.txt https://repositorio.ufjf.br/jspui/bitstream/ufjf/17139/5/ricardoprobafava.pdf.jpg |
| bitstream.checksum.fl_str_mv |
edf02aa66653c428c1ba8e279b37824e 9b85e4235558a2887c2be3998124b615 8a4605be74aa9ea9d79846c1fba20a33 e4cd474c8bcfa15048782507d2c94ff5 641fc1217c911f192c26074584b3a8c3 |
| bitstream.checksumAlgorithm.fl_str_mv |
MD5 MD5 MD5 MD5 MD5 |
| repository.name.fl_str_mv |
Repositório Institucional da UFJF - Universidade Federal de Juiz de Fora (UFJF) |
| repository.mail.fl_str_mv |
|
| _version_ |
1833922321822253056 |