21 |
[pt] MODELAGEM NUMÉRICA DE PROBLEMAS GEOTÉCNICOS DE GRANDES DEFORMAÇÕES MEDIANTE O MÉTODO DO PONTO MATERIAL / [en] NUMERICAL MODELING OF GEOTECHNICAL PROBLEMS OF LARGE DEFORMATIONS USING THE MATERIAL POINT METHODFABRICIO FERNANDEZ 18 May 2021 (has links)
[pt] Os problemas geotécnicos e geológicos envolvem a descrição do comportamento de materiais tais como solo e rocha e sua eventual interação com fluidos e estruturas. Em geral, a evolução desses problemas é caracterizada por grandes deformações e deslocamentos, descontinuidades, heterogeneidades e um comportamento constitutivo complexo. A abordagem deste tipo de problemas requer técnicas numéricas que levem em conta essas características, sem apresentar inconvenientes numéricos associados à distorção
dos elementos como acontece no método dos elementos finitos (FEM). A presente tese desenvolve um algoritmo computacional baseado no método do ponto material (MPM) para aproximar a solução das equações governantes dos fenômenos mencionados. O algoritmo é baseado numa formulação
dinâmica tridimensional do contínuo, considerando grandes deformações. Os amortecimentos de Rayleigh o local não viscoso são incorporados para modelar problemas dinâmicos e quase-estáticos. A geração dinâmica das poro-pressões é formulada assumindo o meio poroso saturado e um ponto material para discretizar a mistura. Diversas técnicas de suavização das pressões são avaliadas em problemas de impacto sobre meios saturados. Diferentes modelos constitutivos são implementados para modelar tanto a
formação da superfície de ruptura e o processo de escoamento da massa de solo durante as instabilidades, quanto a gênese, evolução e quantificação de zona de falhas nos processos geológicos. Para a abordagem da discretização de problemas de escala geológica de grande número de partículas usando o MPM, uma metodologia é proposta e verificada com a discretização do deslizamento do Daguangbao, na China. Visando à diminuição do tempo computacional, o algoritmo é implementado segundo o paradigma de programação paralela. / [en] Geotechnical and geological problems involve the description of the
behavior of materials such as soil and rock, and their eventual interaction
with fluids and structures. In general, the evolution of these problems is characterized by large deformations and displacements, discontinuities, heterogeneities and complex constitutive behavior. Addressing these problems requires numerical techniques that take these characteristics into account,
without numerical drawbacks associated with element distortion as occurs in the finite element method (FEM). In this thesis is developed a computational algorithm based on the material point method (MPM) to approximate the solution of the governing equations to the mentioned phenomena. The algorithm is based on a three-dimensional dynamic formulation of the continuum considering large deformations. Rayleigh damping and non-viscous local damping are incorporated to model dynamic and quasi-static problems.
The dynamic generation of pore pressures is formulated assuming the saturated porous medium and a single material point to discretize the mixture. Different techniques are evaluated to mitigate spurious pressure in impact problems on saturated media. Different constitutive models are implemented
to model the failure surface and the soil mass flow process during slope instabilities, as well as the genesis, evolution and failure zone quantification in geological processes. To address the discretization of large-scale
geological problems using MPM, a methodology is proposed and validated with the discretization of the Daguangbao landslide, in China. In order to decrease the computational time, the algorithm is implemented according to the parallel programming paradigm.
|
22 |
[pt] CATALOGANDO ANTIPADRÕES DE INJEÇÃO DE DEPENDÊNCIA EM SISTEMAS DE SOFTWARE / [en] CATALOGING DEPENDENCY INJECTION ANTI-PATTERNS IN SOFTWARE SYSTEMSRODRIGO NUNES LAIGNER 19 June 2020 (has links)
[pt] Contexto Injeção de Dependência (DI) é um mecanismo comumente aplicado para desacoplar classes de suas dependências com o objetivo de prover uma melhor modularização do software. No contexto de Java, a existência de uma especificação de DI e frameworks populares, como o Spring, facilitam o emprego de DI em projetos de software. Entretanto, más práticas de implementação de DI podem trazer más consequências, como maior acoplamento, dificultando alcançar o principal objetivo de DI. Apesar de
a literatura sugerir a existência de anti-padrões de DI, não há uma documentação detalhada de tais más práticas. Em adição, não há evidência da ocorrência e da percepção de utilidade dos mesmos do ponto de vista de desenvovedores. Objetivos Nosso objetivo é revisar os anti-padrões de DI reportados com o objetivo de analisar sua completude e propor um novo catálogo de anti-padrões de DI para Java. Método Nós propomos um catálogo contendo 12 anti-padrões de DI para Java. Nós selecionamos 4 projetos
open-source e 2 projetos closed-source que adotam um framework de DI e desenvolvemos uma ferramenta que analisa estaticamente a ocorrência dos anti-padrões de DI candidatos no código fonte das aplicações. Em adição, nós conduzimos uma pesquisa por meio de entrevistas face a face com três
desenvolvedores experientes que regularmente aplicam DI em seus projetos. Nós estendemos a pesquisa com o objetivo de obter a percepção de um conjunto de 15 desenvolvedores experientes e novatos por meio de um questionário online Resultados Ao menos 9 anti-padrões de DI apareceram frequentemente nos projetos de software analisados. Em adição, a avaliação recebida dos desenvolvedores confirmaram a relevância do catálogo. Por fim, os respondentes expressaram o desejo de refatorar as instâncias de antipadrões de DI propostas. Conclusões O catálogo contém anti-padrões de DI que ocorrem na prática e são úteis. Compartilhar com praticantes da indústria os permitirá evitar a introdução de anti-padrões em seus projetos de software. / [en] Background Dependency Injection (DI) is a commonly applied mechanism to decouple classes from their dependencies in order to provide better modularization of software. In the context of Java, the availability
of a DI specification and popular frameworks, such as Spring, facilitate DI usage in software projects. However, bad DI implementation practices can have negative consequences, such as increasing coupling, hindering the achievement of DI s main goal. Even though the literature suggests the existence of DI anti-patterns, there is no detailed documentation of such bad practices. Moreover, there is no evidence on their occurrence and perceived usefulness from the developer s point of view. Aims Our goal is to review
the reported DI anti-patterns in order to analyze their completeness and to propose and evaluate a novel catalog of Java DI anti-patterns. Method We propose a catalog containing 12 Java DI anti-patterns. We selected 4 opensource and 2 closed-source software projects that adopt a DI framework and developed a tool to statically analyze the occurrence of the candidate DI anti-patterns within their source code. Also, we conducted a survey through face to face interviews with three experienced developers that regularly
apply DI. We extended the survey in order to gather the perception of a set of 15 expert and novice developers through an online questionnaire. Results At least 9 different DI anti-patterns appeared frequently in the analyzed projects. In addition, the feedback received from the developers
confirmed the relevance of the catalog. Besides, the respondents expressed their willingness to refactor instances of anti-patterns from source code. Conclusions The catalog contains Java DI anti-patterns that occur in practice and are useful. Sharing it with practitioners may help them to avoid such anti-patterns.
|
Page generated in 0.0441 seconds