desenvolvimento de software para avaliaÇÃo de …

53
DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE ACRÉSCIMOS DE TENSÕES EM SOLOS COMO FERRAMENTA DIDÁTICA PARA O ENSINO DA GEOTECNIA NICHOLAS VERES BARROS Brasília, 11 de Julho de 2018 UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL

Upload: others

Post on 29-Apr-2022

5 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

DESENVOLVIMENTO DE SOFTWARE PARA

AVALIAÇÃO DE ACRÉSCIMOS DE TENSÕES

EM SOLOS COMO FERRAMENTA DIDÁTICA

PARA O ENSINO DA GEOTECNIA

NICHOLAS VERES BARROS

Brasília, 11 de Julho de 2018

UNIVERSIDADE DE BRASÍLIA FACULDADE DE TECNOLOGIA

DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL

Page 2: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

i

UNIVERSIDADE DE BRASÍLIA

FACULDADE DE TECNOLOGIA

DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL

DESENVOLVIMENTO DE SOFTWARE PARA

AVALIAÇÃO DE ACRÉSCIMOS DE TENSÕES

EM SOLOS COMO FERRAMENTA DIDÁTICA

PARA O ENSINO DA GEOTECNIA

NICHOLAS VERES BARROS

ORIENTADOR: PROF. ANDRÉ LUÍS BRASIL CAVALCANTE

MONOGRAFIA DE PROJETO FINAL

Page 3: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

ii

BRASÍLIA – DF, 11 DE JULHO DE 2018

UNIVERSIDADE DE BRASÍLIA

FACULDADE DE TECNOLOGIA

DEPARTAMENTO DE ENGENHARIA CIVIL E AMBIENTAL

DESENVOLVIMENTO DE SOFTWARE PARA

AVALIAÇÃO DE ACRÉSCIMOS DE TENSÕES

EM SOLOS COMO FERRAMENTA DIDÁTICA

PARA O ENSINO DA GEOTECNIA

NICHOLAS VERES BARROS

MONOGRAFIA DE PROJETO FINAL SUBMETIDA AO DEPARTAMENTO DE

ENGENHARIA CIVIL E AMBIENTAL DA FACULDADE DE TECNOLOGIA DA

UNIVERSIDADE DE BRASÍLIA, COMO PARTE DOS REQUISITOS NECESSÁRIOS

PARA A OBTENÇÃO DO GRAU DE BACHAREL EM ENGENHARIA CIVIL.

APROVADA POR:

Prof. André Luís Brasil Cavalcante, Ph.D. (ENC-UnB)

(Orientador)

Prof. Luis Fernando Martins Ribeiro, Ph.D. (ENC-UnB)

(Examinador interno)

Dr.ª Mylane Viana Hortegal, Ph.D. (UnB)

(Examinadora externa)

BRASÍLIA/DF, 11 DE JULHO DE 2O18

Page 4: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

iii

FICHA CATALOGRÁFICA

REFERÊNCIA BIBLIOGRÁFICA

BARROS, N.V. (2018). Desenvolvimento de Software para Avaliação de Acréscimos de

Tensões em Solos como Ferramenta Didática para o Ensino da Geotecnia. Publicação

G.PF-001/18, Departamento de Engenharia Civil e Ambiental, Universidade de Brasília,

Brasília, DF, ix, 43 p.

CESSÃO DE DIREITOS

NOME DO AUTOR: Nicholas Veres Barros

TÍTULO DA MONOGRAFIA DE PROJETO FINAL: Desenvolvimento de Software para

Avaliação de Acréscimos de Tensões em Solos como Ferramenta Didática para o Ensino da

Geotecnia.

GRAU / ANO: Bacharel em Engenharia Civil / 2018.

É concedida à Universidade de Brasília a permissão para reproduzir cópias desta monografia

de Projeto Final e para emprestar ou vender tais cópias somente para propósitos acadêmicos e

científicos. O autor reserva outros direitos de publicação e nenhuma parte desta monografia de

Projeto Final pode ser reproduzida sem a autorização por escrito do autor.

________________________

Nicholas Veres Barros

Condomínio RK, Conj. Centauros, Qd. K, n° 17

73.252-200 – Sobradinho/DF - Brasil

[email protected]

BARROS, NICHOLAS VERES

Desenvolvimento de Software para Avaliação de Acréscimos de Tensões em Solos como

Ferramenta Didática para o Ensino da Geotecnia

[Distrito Federal] 2018.

ix, 43 p., 210 x 279 mm (ENC/FT/UnB, Bacharel, Engenharia Civil, 2018)

Monografia de Projeto Final. Universidade de Brasília. Faculdade de Tecnologia.

Departamento de Engenharia Civil e Ambiental.

1.Acréscimos de tensão 3.Solução de Boussinesq

2.Teoria da Elasticidade 4.Solução de Newmark

5. Solução de Geddes 6. Wolfram Mathematica

I ENC/FT/UnB II Título (Bacharel)

Page 5: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

iv

AGRADECIMENTOS

Agradeço a meu caro orientador, Professor André Brasil, pelo carinho e dedicação com

os quais tem acompanhado a mim e a meus colegas do grupo de pesquisa. Acredito com

convicção que o futuro reserva conquistas ainda melhores que aquelas que todos tivemos até

aqui.

Muito obrigado aos colegas de curso André, Aline, Bruno e Lucas, que me

acompanharam todos estes anos, atravessando as várias provações e me ajudando ao longo do

caminho.

Aos colegas e amigos do grupo de pesquisa, muito obrigado por todo o apoio. Tive a

maravilhosa oportunidade de aprender com vocês, e espero continuar fazendo-o nos anos que

se seguirão.

Agradeço também a meus amigos Amanda e Igor, que desde o início desta empreitada

estiveram comigo e cujas companhias não esquecerei, estando vocês perto ou longe. Os

momentos que passamos juntos fizeram valer todo o esforço até aqui, e espero que tenhamos

ainda outros adiante. Desejo o melhor a vocês, de coração.

Meus mais sinceros agradecimentos aos amigos que desde muito cedo estiveram por

perto, Marlon, João, Rodrigo e Luy. Ainda que não percebam, vocês me auxiliaram em cada

passo do caminho, comemorando comigo as coisas pequenas e grandes, ano após ano.

Obrigado a Alessandra, amiga que tem me aturado nestas últimas semanas e cuja

companhia foi essencial para este trabalho. Agradeço pelos momentos que passou comigo e

pelas conversas que tivemos, ainda que curtos.

Muito obrigado a Dhara, amiga que encontrei por acaso, mas por quem tenho grande

apreço. Te agradeço por estar ao meu lado durante os últimos semestres, pelas pequenas pérolas

de sabedoria e por acreditar em mim nos momentos que mais tenho necessitado. Espero um dia

poder devolver o carinho.

Muito obrigado a todos vocês. Tenho muito a vos agradecer, porém me faltam maneiras

de expressar. Deixo nesta página estes breves agradecimentos que de nenhuma maneira

compensam o que vocês fizeram e têm feito por mim.

Page 6: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

v

Desenvolvimento de Software para Avaliação de Acréscimos de Tensões em Solos como

Ferramenta Didática para o Ensino da Geotecnia

Resumo

Este trabalho trata do desenvolvimento de um código no software Wolfram Mathematica para

o cálculo de acréscimos de tensão partindo de soluções analíticas oriundas da Teoria da

Elasticidade para alguns casos de carregamentos comuns, sendo elas a Solução de

Boussinesq (1883) para cargas pontuais, a Solução de Newmark (1935) para retângulos de carga

uniforme e a Solução de Geddes (1966) para cargas verticais aplicadas ao longo da

profundidade do solo. São apresentados algoritmos para o cálculo dessas soluções que

permitem a utilização de vários carregamentos simultâneos, resultando no acréscimo de tensões

total destes carregamentos, além de um programa que implementa tais algoritmos e que permite

a visualização da distribuição dos acréscimos de tensão vertical total no solo para uma

combinação de cargas.

Palavras-chave: Acréscimos de tensão, Teoria da Elasticidade, Solução de Boussinesq,

Solução de Newmark, Solução de Geddes, Wolfram Mathematica.

Page 7: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

vi

Development of Software for Evaluation of Stress Increases in Soils as a Didactic Tool

for the Teaching of Geotechnics

Abstract This paper deals with the development of code for Wolfram Mathematica to calculate stress

increases using analytical solutions from Elastic Theory for some of the most common loading

conditions, i.e. Boussinesq’s Solution (1883) for vertical point loads, Newmark’s Solution

(1935) for uniform rectangular loaded areas and Geddes’ Solution (1966) for vertical loads

distributed uniformly with depth. Algorithms are presented for the calculation of these solutions

in a way which allows for the use of multiple simultaneous loadings, resulting in their total

vertical stress increase, and also a program which implements these algorithms, allowing the

visualization of the total vertical stress increase distribution in soil for a given combination of

loads.

Key-words: Stress increases, Elastic Theory, Boussinesq’s Solution, Newmark’s Solution,

Geddes’ Solution, Wolfram Mathematica.

Page 8: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

vii

Lista de Figuras

Figura 2.1 – Tensões normais e tangenciais ao elemento de solo (Das, 2014). ......................... 4 Figura 2.2 – Tensões para o equilíbrio do elemento infinitesimal (Das, 2014). ........................ 5 Figura 2.3 – Carga pontual vertical aplicada sobre a superfície do meio (Das, 2014) ............... 7 Figura 2.4 – Acréscimo de tensão vertical diretamente abaixo do canto da área retangular

carregada (Das, 2014) ................................................................................................................. 9 Figura 2.5 – Retângulos auxiliares para cálculo da tensão vertical dentro da área carregada

original ...................................................................................................................................... 10 Figura 2.6 – Retângulos auxiliares para cálculo da tensão vertical fora da área carregada

original ...................................................................................................................................... 10

Figura 2.7 – Carga vertical distribuída uniformemente num comprimento ao longo da

profundidade do solo (Geddes, 1966)....................................................................................... 11 Figura 3.1 – Modificação do sistema de coordenadas para a Solução de Boussinesq ............. 13

Figura 3.2 – Sistema de coordenadas no centro da área carregada na Solução de Newmark .. 15 Figura 3.3 – Sistema de coordenadas comum aos retângulos carregados na Solução de

Newmark .................................................................................................................................. 16

Figura 3.4 – Divisão do meio em regiões ................................................................................. 16 Figura 3.5 – Retângulos auxiliares para a região 1................................................................... 17 Figura 3.6 – Retângulos auxiliares para as regiões 2 a 4. ......................................................... 18

Figura 4.1 – Interface inicial do programa ............................................................................... 23 Figura 4.2 – Seleção da linha “Iniciar”..................................................................................... 24

Figura 4.3 – Interface primária do programa após execução da linha “Iniciar” ....................... 24 Figura 4.4 – Painéis com parâmetros das cargas ...................................................................... 25 Figura 4.5 – Painel com as propriedades da malha de cálculo ................................................. 26

Figura 4.6 – Painel com posicionamento das cargas ................................................................ 27

Figura 4.7 – Seleção e execução da linha “Visualizar” ............................................................ 28 Figura 4.8 – Interface secundária do programa com a visualização dos resultados ................. 28 Figura 4.9 – Painel de sliders ................................................................................................... 29

Figura 4.10 – Painel de visualização da posição das cargas e das linhas de corte ................... 30

Figura 4.11 – Painéis de visualização dos cortes transversais com isóbaras ............................ 31 Figura 4.12 – Dados de entrada do programa para o exemplo ................................................. 33 Figura 4.13 – Interface secundária do programa para o exemplo ............................................ 34 Figura 4.14 – Resultados do programa para o exemplo com x = -3,71m, y = -1,51m, z = 0,1m.

.................................................................................................................................................. 35

Figura 4.15 – Resultados do programa para o exemplo com x = -1,41m, y = -0,01m, z = 2,5m.

.................................................................................................................................................. 36

Lista de Tabelas

Tabela 3.1 – Limites das regiões do algoritmo ......................................................................... 17

Tabela 3.2 – Parâmetros m e n para a região 1 ......................................................................... 19 Tabela 3.3 – Parâmetros m e n para a região 2 ......................................................................... 19 Tabela 3.4 – Parâmetros m e n para a região 3 ......................................................................... 20 Tabela 3.5 – Parâmetros m e n para a região 4 ......................................................................... 20

Page 9: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

viii

Lista de Símbolos

B – comprimento do retângulo de carga da Solução de Newmark [L]

D – comprimento em que a carga vertical P se distribui [L]

E – módulo de elasticidade axial [FL-2]

εx – deformação axial no eixo x [adimensional]

εy – deformação axial no eixo y [adimensional]

εz – deformação axial no eixo z [adimensional]

G – módulo de elasticidade transversal [FL-2]

γxy – deformação rotacional do plano xy [adimensional]

γxz – deformação rotacional do plano xz [adimensional]

γyz – deformação rotacional do plano yz [adimensional]

L – largura do retângulo de carga da Solução de Newmark [L]

ν – coeficiente de Poisson [adimensional]

P – carga vertical da Solução de Geddes [F]

Q – intensidade da carga vertical pontual da Solução de Boussinesq [F]

q – intensidade da carga uniforme distribuída da Solução de Newmark [FL-2]

σx – tensão axial paralela ao eixo x [FL-2]

σy – tensão axial paralela ao eixo y [FL-2]

σz – tensão axial paralela ao eixo z [FL-2]

Δσx – acréscimo de tensão horizontal no eixo x [FL-2]

Δσy – acréscimo de tensão horizontal no eixo y [FL-2]

Δσz – acréscimo de tensão vertical no eixo z [FL-2]

τxy – tensão tangencial no plano normal ao eixo x e sentido paralelo ao eixo y [FL-2]

τyx – tensão tangencial no plano normal ao eixo y e sentido paralelo ao eixo x [FL-2]

τxz – tensão tangencial no plano normal ao eixo x e sentido paralelo ao eixo z [FL-2]

τzx – tensão tangencial no plano normal ao eixo z e sentido paralelo ao eixo x [FL-2]

τyz – tensão tangencial no plano normal ao eixo y e sentido paralelo ao eixo z [FL-2]

τzy – tensão tangencial no plano normal ao eixo z e sentido paralelo ao eixo y [FL-2]

u – deslocamento no sentido do eixo x [L]

v – deslocamento no sentido do eixo y [L]

w – deslocamento no sentido do eixo z [L]

Page 10: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

ix

Sumário FICHA CATALOGRÁFICA .................................................................................................... iii

AGRADECIMENTOS .............................................................................................................. iv

Resumo ....................................................................................................................................... v

Abstract ...................................................................................................................................... vi

Lista de Figuras ........................................................................................................................ vii

Lista de Tabelas ........................................................................................................................ vii

Lista de Símbolos .................................................................................................................... viii

Sumário ...................................................................................................................................... ix

1. INTRODUÇÃO .................................................................................................................. 1

1.1 Objetivo geral .............................................................................................................. 1

1.2 Objetivos específicos ................................................................................................... 2

1.3 Justificativa .................................................................................................................. 2

1.4 Organização do trabalho .............................................................................................. 3

2. REVISÃO BIBLIOGRÁFICA ........................................................................................... 4

2.1 A Teoria da Elasticidade .............................................................................................. 4

2.1.1 A Solução de Boussinesq ..................................................................................... 7

2.1.2 A Solução de Newmark ........................................................................................ 8

2.1.3 A Solução de Geddes .......................................................................................... 11

3. METODOLOGIA ............................................................................................................. 13

3.1 Algoritmo para computação da Solução de Boussinesq ............................................ 14

3.2 Algoritmo para computação da Solução de Newmark .............................................. 15

3.3 Algoritmo para computação da Solução de Geddes .................................................. 21

4. RESULTADOS E ANÁLISE ........................................................................................... 23

4.1 Interface e funcionamento do programa ......................................................................... 23

4.2 Exemplo de carregamento .............................................................................................. 31

5. CONCLUSÕES ................................................................................................................ 37

6. Referências Bibliográficas ................................................................................................ 38

7. Apêndice – Código do programa ...................................................................................... 39

Page 11: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

1

1. INTRODUÇÃO

As tensões no solo são um assunto de elevada importância na Engenharia, dado que sua

determinação é necessária para a avaliação de vários fenômenos relacionados, como os

recalques em estruturas, adensamento do solo à longo prazo, ruptura do solo em taludes e

estabilidade de estruturas de contenção de terra. Existem na literatura várias soluções para a

determinação das tensões, sendo uma delas o uso da Teoria da Elasticidade (Das, 2014); dentro

desta teoria, foram desenvolvidas várias soluções analíticas para o cálculo das tensões

provocadas por certas condições de carregamento, como são os casos das Soluções de

Boussinesq, Newmark e Geddes.

Atualmente, a disseminação dos computadores como ferramentas de engenharia e a

evolução de sua capacidade de processamento tem permitido o desenvolvimento de softwares

para facilitar o cálculo e visualização de vários fenômenos e problemas relacionados. Neste

sentido, viu-se a necessidade do desenvolvimento de uma ferramenta didática que permita a

visualização da distribuição dos acréscimos de tensão provocados por tais carregamentos e que

melhore o entendimento intuitivo do tópico apresentado.

No presente trabalho, são propostos algoritmos para o cálculo dos acréscimos de tensão

para casos de carregamento comuns que ampliam as soluções encontradas na literatura para

permitir a consideração de vários carregamentos simultâneos; em seguida, é mostrado o

programa desenvolvido no software Wolfram Mathematica 11.2 que implementa os algoritmos

propostos e gera isóbaras (bulbos de tensão) para carregamentos simultâneos.

1.1 Objetivo geral

Este trabalho possui como objetivo o desenvolvimento de um código no software

Wolfram Mathematica para o cálculo e visualização de acréscimos de tensão utilizando as

soluções analíticas da Teoria da Elasticidade para alguns casos de carregamentos comuns,

porém provendo algoritmos que ampliem as soluções encontradas na literatura de modo a

permitir a consideração de vários carregamentos simultâneos. O programa deve gerar gráficos

mostrando as isóbaras (bulbos de tensão) para várias cargas simultâneas.

Page 12: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

2

1.2 Objetivos específicos

Os objetivos específicos são:

- Desenvolvimento de um algoritmo para o cálculo e visualização da Solução de

Boussinesq, que considera cargas pontuais verticais aplicadas sobre a superfície de um meio

semi-infinito elástico-linear;

- Desenvolvimento de um algoritmo para o cálculo e visualização da Solução de

Newmark, que considera retângulos de cargas uniformes aplicados sobre a superfície do meio,

de maneira semelhante à Solução de Boussinesq;

- Desenvolvimento de um algoritmo para o cálculo e visualização da Solução de Geddes,

que considera cargas verticais distribuídas em um determinado comprimento ao longo da

profundidade do solo, de maneira semelhante a estacas transmitindo cargas por atrito lateral;

- Implementação dos algoritmos em um programa que permita calcular os acréscimos

de tensão em qualquer ponto de um determinado meio contínuo (resguardadas as hipóteses

simplificadoras das soluções analíticas utilizadas) provocados pela atuação de várias cargas

simultâneas e que permita visualizar as isóbaras provocadas pelo carregamento.

1.3 Justificativa

A avaliação das tensões no solo provocadas por vários tipos de carregamentos é de

elevada importância na Engenharia, em especial no ramo da Geotecnia. Estas tensões se

distribuem tridimensionalmente ao longo do solo, sendo tal distribuição grandemente afetada

pelo posicionamento, formato e intensidade dos carregamentos aplicados; além disso, as

soluções comumente apresentadas em sala de aula para cálculo dos acréscimos não permite a

consideração de várias cargas simultâneas e na maioria das vezes não é possível visualizar a

distribuição das tensões no solo.

Assim, viu-se a necessidade do desenvolvimento de uma ferramenta didática que

permita a visualização da distribuição dos acréscimos de tensão provocados por tais

carregamentos e que melhore o entendimento intuitivo do tópico apresentado. Esta ferramenta

deve ser capaz de calcular acréscimos de tensão em qualquer ponto do meio (resguardadas as

hipóteses simplificadoras das soluções analíticas utilizadas) de modo a permitir a geração de

isóbaras (bulbos de tensão) para visualização da distribuição das tensões.

Page 13: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

3

1.4 Organização do trabalho

Este documento está dividido em quatro capítulos. Abaixo, encontra-se um resumo dos

assuntos abordados em cada capítulo.

O capítulo 1 possui a introdução ao assunto abordado neste trabalho, assim como os

seus objetivos, justificativas e uma relação dos capítulos subsequentes.

O capítulo 2 contém uma revisão bibliográfica dos temas necessários à realização do

experimento, tratando da Teoria da Elasticidade e das soluções de Boussinesq, Newmark e

Geddes oriundas dessa teoria.

O capítulo 3 apresenta a metodologia para o desenvolvimento do código, apresentando

os algoritmos que serão usados para cada uma das soluções apresentadas de modo a permitir a

que vários carregamentos sejam considerados em conjunto.

O capítulo 4 mostra as interfaces do programa desenvolvido e seu funcionamento, além

de um exemplo de carregamento com cargas múltiplas de diferentes tipos.

O capítulo 5 contém as conclusões do trabalho.

O capítulo 6 abrange as referências bibliográficas utilizadas durante a realização desta

monografia.

O capítulo 7 contém o código do programa desenvolvido no software Wolfram

Mathematica 11.2.

Page 14: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

4

2. REVISÃO BIBLIOGRÁFICA

2.1 A Teoria da Elasticidade

A Teoria da Elasticidade é utilizada no estudo das tensões e deformações em meios

contínuos provocadas por um carregamento determinado. Na mecânica dos solos, esta teoria

tem a função de estimar recalques e conduzir análises de estabilidade do solo e das estruturas

de contenção deste. Para isso, usualmente se considera o meio como sendo isotrópico,

homogêneo e elástico-linear, apesar do solo naturalmente não se adequar completamente a

qualquer uma destas características; no entanto, os resultados derivados deste tipo de análise

podem ser aplicados aos problemas de mecânica dos solos desde que isto seja feito com

prudência (Das, 2014; Poulos & Davis, 1974).

A Figura 2.1 a seguir apresenta um elemento infinitesimal de solo de lados dx, dy e dz.

As tensões normais às paredes do elemento são dadas por σx, σy, σz, sendo suas direções

paralelas aos eixos x, y e z, respectivamente; estas tensões são consideradas positivas quando

dirigidas para dentro do elemento, ou seja, quando são tensões de compressão. As tensões

tangenciais às paredes do elemento são dadas por τxy, τyx, τyz, τzy, τzx, e τxz, sendo estas as tensões

de cisalhamento do solo; quanto à notação, uma tensão τij é tangencial ao plano normal ao eixo i

e tem sua direção paralela ao eixo j, sendo positiva se direcionada no sentido negativo do eixo j

enquanto age num plano cuja normal aponta fora do elemento no sentido positivo do eixo i.

Todas as tensões mostradas na Figura 2.1 são positivas.

Figura 2.1 – Tensões normais e tangenciais ao elemento de solo (Das, 2014).

Page 15: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

5

Para que o elemento de solo mostrado esteja em equilíbrio, é necessário que a soma das

tensões agindo numa mesma direção seja nula. Assim, para as tensões mostradas na Figura 2.2

a seguir, tem-se as seguintes equações de equilíbrio:

Figura 2.2 – Tensões para o equilíbrio do elemento infinitesimal (Das, 2014).

0

0

0

yxx zx

y xy zy

yzxzz

x y z

y x z

z x y

(2.1)

xy yx

xz zx

yz zy

(2.2)

Page 16: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

6

Dado um carregamento determinado, o elemento infinitesimal irá se deformar, sendo os

deslocamentos nas direções x, y e z dados por u, v e w, respectivamente. As deformações axiais

εx, εy e εz na direção dos eixos x, y e z são dadas pelas equações a seguir:

x

y

z

u

x

v

y

w

z

(2.3)

Além das deformações axiais, o carregamento provoca ainda deformações rotacionais

por cisalhamento γxy, γxz, γyz, sendo estas dadas pelas equações a seguir:

xy

xz

yz

u v

y x

u w

z x

v w

z y

(2.4)

Considerando o solo como um material elástico e isotrópico, as deformações axiais e

rotacionais podem ser dadas pela Lei de Hooke. Assim, as Equações (2.3) e (2.4) podem ser

escritas da seguinte forma:

1

1

1

x x y z

y y x z

z z x y

E

E

E

(2.5)

Page 17: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

7

xy

xy

xzxz

yz

yz

G

G

G

(2.6)

2(1 )

EG

(2.7)

onde,

E = módulo de elasticidade axial [FL-2];

G = módulo de elasticidade transversal [FL-2];

ν = coeficiente de Poisson [adimensional].

2.1.1 A Solução de Boussinesq

A aplicação da Teoria da Elasticidade para o caso de uma carga pontual vertical aplicada

sobre a superfície de um meio isotrópico, elástico, homogêneo e semi-infinito foi feita por

Boussinesq (1883), sendo então conhecida por Solução de Boussinesq. As equações a seguir

apresentam os acréscimos de tensão vertical e horizontais Δσz, Δσx e Δσy, sendo o sistema de

coordenadas centrado no ponto de aplicação da carga como mostrado na Figura 2.3 a seguir:

Figura 2.3 – Carga pontual vertical aplicada sobre a superfície do meio (Das, 2014)

Page 18: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

8

3

5

3 .

2z

Q z

R

(2.8)

2 2 2 2

5 2 3 2

3(1 2 )

2 ( )x

Q x z x y y z

R Rr R z R r

(2.9)

2 2 2 2

5 2 3 2

3(1 2 )

2 ( )y

Q y z y x x z

R Rr R z R r

(2.10)

1/22 2

1/22 2 2

r x y

R x y z

(2.11)

onde,

Q = intensidade da carga pontual [F];

x = coordenada x do ponto de cálculo do acréscimo de tensão [L];

y = coordenada y do ponto de cálculo do acréscimo de tensão [L];

z = coordenada z do ponto de cálculo do acréscimo de tensão [L];

r = distância entre o ponto de aplicação da carga e o ponto de cálculo, em planta [L];

R = distância entre o ponto de aplicação da carga e o ponto de cálculo, espacial [L];

ν = coeficiente de Poisson [adimensional].

2.1.2 A Solução de Newmark

A Solução de Newmark trata da aplicação da Teoria da Elasticidade para o caso de uma

carga retangular uniforme. Esta solução foi desenvolvida por Newmark (1935) e calcula o

acréscimo de tensão vertical Δσz a partir da integração da Equação (2.8) da Solução de

Boussinesq, substituindo a carga pontual Q por uma carga uniforme de intensidade q atuando

numa área infinitesimal dx.dy. O acréscimo de tensão vertical Δσz calculado num ponto

diretamente abaixo do canto da área carregada é dado como a seguir:

`

Page 19: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

9

2 2 2 2 2 2 2 21

2 2 2 2 2 2 2 2 2 2 2 2

2 2 2 2 2 21

2 2 2 2 2 2 2 2 2 2

2 1 2 2 1 .tan , se 1

4 1 1 1

2 1 2 2 1tan ,

4 1 1 1

z

q m n m n m n m n m n m n

m n m n m n m n m n m n

q m n m n m n m n m n

m n m n m n m n m n

2 2

2 2

. se 1

m n

m n

(2.12)

/

/

m B z

n L z

(2.13)

onde,

q = intensidade do carregamento uniforme [FL-2];

B = comprimento do retângulo de carregamento [L];

L = largura do retângulo de carregamento [L];

z = coordenada z do ponto de cálculo do acréscimo de tensão [L];

m = parâmetro de influência do comprimento B na profundidade z [adimensional];

n = parâmetro de influência da largura L na profundidade z [adimensional].

Figura 2.4 – Acréscimo de tensão vertical diretamente abaixo do canto da área retangular carregada (Das, 2014)

Page 20: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

10

Apesar da solução calcular o acréscimo de tensão vertical apenas diretamente abaixo do

canto da área carregada, é possível calcular esta tensão em qualquer ponto do meio contínuo

superpondo vários retângulos de carregamento de mesma intensidade conforme mostrado na

Figura 2.5 e na Figura 2.6 a seguir:

Figura 2.5 – Retângulos auxiliares para cálculo da tensão vertical dentro da área carregada original

Figura 2.6 – Retângulos auxiliares para cálculo da tensão vertical fora da área carregada original

Page 21: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

11

2.1.3 A Solução de Geddes

A Solução de Geddes (1966) trata da Teoria da Elasticidade aplicada ao caso de uma

carga vertical distribuída uniformemente em um determinado comprimento ao longo da

profundidade do meio contínuo, sendo semelhante ao caso de uma carga aplicada numa estaca

cujo atrito lateral é uniforme ao longo de seu comprimento no solo, conforme a Figura 2.7 a

seguir. Neste caso, o acréscimo de tensão vertical Δσz é dado por:

Figura 2.7 – Carga vertical distribuída uniformemente num comprimento ao longo da profundidade do solo

(Geddes, 1966)

2

2 2

2 2

2

3 3 3

4 452 2

2 2 2 2

3 5 5

12 2 2 1 2 1 2 2

2 2

14 4 1 4 1 1

8 1

16 6 1

4

z

m m m

n n n n

A B F

m mm m m m

P n n n n

D A F B

m nm m mn m

m n n n

B F B

(2.14)

1/2

2 2x yn

D

zm

D

(2.15)

Page 22: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

12

1/222

1/222

1/22 2

1

1

A n m

B n m

F n m

(2.16)

onde,

P = intensidade da carga vertical (carga sobre a estaca) [F];

x = coordenada x do ponto de cálculo do acréscimo de tensão [L];

y = coordenada y do ponto de cálculo do acréscimo de tensão [L];

z = coordenada z do ponto de cálculo do acréscimo de tensão [L];

D = comprimento em que a carga vertical se distribui (comprimento da estaca) [L];

n = distância entre o ponto de aplic. Da carga e o ponto de cálculo, em planta [adimensional];

m = profundidade adimensional [adimensional];

ν = coeficiente de Poisson [adimensional].

Quando n = 0 e m > 1, o ponto onde o acréscimo de tensão está sendo calculado

encontra-se diretamente abaixo da ponta da estaca. Neste caso, a Equação (2.14) deve ser

substituída por:

2

2 3

4 1 2 2 2 2 4 2 4

8 1 1 1 1 1z

mP m

D m m m m m

(2.17)

Page 23: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

13

3. METODOLOGIA

As soluções oriundas da Teoria da Elasticidade apresentadas na seção anterior serão

implementadas no software Wolfram Mathematica 11.2, entretanto o código implementado no

software deverá permitir a aplicação de vários carregamentos simultâneos de modo que se tenha

o acréscimo de tensão total além dos acréscimos individuais. Para isso, é necessário fazer

algumas modificações nas soluções apresentadas e gerar algoritmos para permitir o cálculo

simultâneo.

A primeira modificação a ser feita é adotar um único sistema de coordenadas

independente dos pontos de aplicação das cargas para todas as soluções apresentadas. Note das

Equações (2.8) a (2.11) da Solução de Boussinesq e das Equações (2.14) a (2.17) da Solução

de Geddes que os acréscimos de tensão estão sendo calculados a partir do ponto de aplicação

dos carregamentos (conforme Figura 2.3 e Figura 2.7); além disso, nas Equações (2.12) e (2.13)

da Solução de Newmark, o acréscimo de tensão vertical é calculado em um ponto abaixo do

canto da área retangular carregada (conforme Figura 2.4).

A modificação dos sistemas de coordenadas das soluções deve ser feita de modo a

permitir a aplicação de carregamentos simultâneos e facilitar a implementação computacional

das mesmas, criando um sistema de coordenadas comum a todas elas. Isto pode ser feito de

maneira simples substituindo as coordenadas x e y nas Equações mencionadas anteriormente

por (x – xi) e (y – yi), respectivamente, onde xi e yi são as coordenadas do ponto de aplicação

das cargas no novo sistema de coordenadas. A Figura 3.1 a seguir exemplifica esta situação

para a Solução de Boussinesq,

Figura 3.1 – Modificação do sistema de coordenadas para a Solução de Boussinesq

Page 24: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

14

A segunda modificação a ser feita diz respeito exclusivamente à Solução de Newmark,

e é o desenvolvimento de um algoritmo que permita, ao mesmo tempo, calcular o acréscimo de

tensão vertical em qualquer ponto do meio contínuo, não somente abaixo do canto da área

carregada, e considerar várias áreas carregadas.

As modificações citadas serão discutidas com maior detalhe nas seções a seguir, onde

serão mostradas também as Equações modificadas para comportar as mudanças necessárias.

3.1 Algoritmo para computação da Solução de Boussinesq

De modo a facilitar a aplicação computacional da Solução de Boussinesq e permitir o

cálculo simultâneo de várias cargas pontuais, é necessário adotar um sistema de coordenadas

independente do ponto de aplicação das cargas, ou seja, todas as cargas devem ter um sistema

de coordenadas em comum.

Assim, seja Qi a intensidade das i-ésima carga pontual, e sejam xi e yi as coordenadas

dessa carga no sistema de coordenadas comum a todas as cargas. Os acréscimos de tensão

individuais podem ser calculados substituindo x e y nas Equações (2.8) a (2.11) por x – xi e y –

yi, respectivamente, e o acréscimo de tensão total pode ser calculado sobrepondo os efeitos dos

acréscimos individuais, uma vez que o meio considerado é elástico-linear; dessa maneira, as

Equações citadas são dadas a seguir, sendo o novo sistema de coordenadas semelhante ao da

Figura 3.1:

33

, 521 1

Qn nz iz z i

Ri ii

(3.1)

2 2 2 23( ) ( ) ( ) ( )

(1 2 ), 5 2 3 22 ( )1 1

Q x x z x x y y y y zn ni i i i i

x x iR R r R z R ri i

i i i i i i

(3.2)

2 2 2 23( ) ( ) ( ) ( )

(1 2 ), 5 2 3 22 ( )1 1

y

Q y y z y y x x x x zn ni i i i i

y iR R r R z R ri i

i i i i i i

(3.3)

1/22 2

1/22 2 2

( ) ( )

( ) ( )

i i i

i i i

r x x y y

R x x y y z

(3.4)

Page 25: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

15

onde,

Qi = intensidade da i-ésima carga pontual [F];

x = coordenada x do ponto de cálculo do acréscimo de tensão [L];

y = coordenada y do ponto de cálculo do acréscimo de tensão [L];

xi = coordenada x do ponto de aplicação da i-ésima carga pontual [L];

yi = coordenada y do ponto de aplicação da i-ésima carga pontual [L];

z = coordenada z do ponto de cálculo do acréscimo de tensão [L];

ri = distância entre o ponto de aplic. Da i-ésima carga e o ponto de cálculo, em planta [L];

Ri = distância entre o ponto de aplic. Da i-ésima carga e o ponto de cálculo, espacial [L];

ν = coeficiente de Poisson [adimensional];

n = quantidade de cargas pontuais [adimensional].

3.2 Algoritmo para computação da Solução de Newmark

A Solução de Newmark apresenta dificuldades maiores que as outras soluções para a

implementação computacional devido ao fato do acréscimo de tensão ser calculado no canto da

área carregada e da necessidade de trabalhar com vários retângulos para calcular o acréscimo

nos pontos que não se encontram diretamente abaixo do canto.

De maneira semelhante ao caso da Solução de Boussinesq, para que se possa calcular o

acréscimo de tensão devido a vários carregamentos simultâneos e aplicar esta solução

computacional, deve ser adotado um sistema de coordenadas comum a todos os retângulos

carregados; para isso, o primeiro passo é trazer o sistema de coordenadas do canto da área

carregada para o seu centro, conforme a Figura 3.2 a seguir.

Figura 3.2 – Sistema de coordenadas no centro da área carregada na Solução de Newmark

O segundo passo é adotar o sistema de coordenadas comum a todos os retângulos

carregados, tendo como base o sistema de coordenadas mostrado anteriormente. De maneira

semelhante à Solução de Boussinesq, as coordenadas no sistema antigo podem ser trazidas ao

Page 26: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

16

novo sistema substituindo x e y por (x – xj) e (y – yj), respectivamente, onde xj e yj são as

coordenadas do centro do j-ésimo retângulo carregado, como mostrado na Figura 3.3 a seguir.

Figura 3.3 – Sistema de coordenadas comum aos retângulos carregados na Solução de Newmark

O último passo é adotar um método para o cálculo dos acréscimos de tensão fora dos

pontos diretamente abaixo do canto de cada retângulo carregado. Para isso, o meio ao redor do

retângulo de carregamento deve ser dividido em regiões conforme a Figura 3.4 a seguir:

Figura 3.4 – Divisão do meio em regiões

Na Figura 3.4, as regiões de número 1 são aquelas internas ao retângulo carregado,

enquanto todas as regiões 2 a 4 são externas ao retângulo. Matematicamente, os limites das

regiões no sistema de coordenadas comum a todos os retângulos são dados na Tabela 3.1 a

seguir:

Page 27: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

17

Tabela 3.1 – Limites das regiões do algoritmo

Região Limite x Limite y

1 2j

j

Lx x

2j

jBy y

2 2j

jLx x 2

jj

By y

3 2j

jLx x

2j

jBy y

4 2j

jLx x

2j

jBy y

Com os limites das regiões definidos conforme a Tabela 3.1, é possível localizar o ponto

onde se pretende determinar o acréscimo de tensão em relação ao retângulo de carga. Definida

a localização do ponto, o retângulo de carga deve ser dividido em quatro retângulos auxiliares

de modo a permitir o cálculo do acréscimo, sendo o método utilizado na divisão e os parâmetros

adotados dependentes da região em que o ponto se localiza; a Figura 3.5 e a Figura 3.6 a seguir

mostram os retângulos auxiliares utilizados:

Figura 3.5 – Retângulos auxiliares para a região 1

I II

III IV

Page 28: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

18

(a) (b)

(c) (d)

Figura 3.6 – Retângulos auxiliares para as regiões 2 a 4.

(a) Retângulo auxiliar I. (b) Retângulo auxiliar II. (c) Retângulo auxiliar III. (d) Retângulo auxiliar IV.

Dessa forma, o acréscimo de tensão provocado por um retângulo de carga pode ser

calculado a partir dos acréscimos dos retângulos auxiliares sobrepondo os efeitos dos mesmos

a partir das Equações (3.5) e (3.6) a seguir:

4

, ,

1

, na região 1z j z ji

i

(3.5)

2 4

, , ,

1 3

, nas regiões 2 a 4z j z ji z ji

i i

(3.6)

onde,

i = número do retângulo auxiliar (I a IV) [adimensional];

j = número do retângulo de carregamento [adimensional].

I

II

III

IV

Page 29: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

19

Os acréscimos de tensão dos retângulos auxiliares são calculados pela Equação (2.12),

porém os parâmetros m e n usados devem ser aqueles mostrados na Tabela 3.2 a Tabela 3.5 a

seguir:

Tabela 3.2 – Parâmetros m e n para a região 1

Retângulo

auxiliar mi ni

I ( )

2j

j

By y

z

( )2

jj

Lx x

z

II ( )

2j

j

By y

z

( )2

jj

Lx x

z

III ( )

2j

j

By y

z

( )2

jj

Lx x

z

IV ( )

2j

j

By y

z

( )2

jj

Lx x

z

Tabela 3.3 – Parâmetros m e n para a região 2

Retângulo

auxiliar mi ni

I 2j

jBy y

z

( )2

jj

Lx x

z

II 2j

jBy y

z

( )2

jj

Lx x

z

III 2j

j

By y

z

( )2

jj

Lx x

z

IV 2j

j

By y

z

( )2

jj

Lx x

z

Page 30: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

20

Tabela 3.4 – Parâmetros m e n para a região 3

Retângulo

auxiliar mi ni

I

( )2

jj

By y

z

2j

j

Lx x

z

II

( )2

jj

By y

z

2j

j

Lx x

z

III

( )2

jj

By y

z

2j

jLx x

z

IV

( )2

jj

By y

z

2j

jLx x

z

Tabela 3.5 – Parâmetros m e n para a região 4

Retângulo

auxiliar mi ni

I 2j

jBy y

z

2j

j

Lx x

z

II 2j

j

By y

z

2j

jLx x

z

III 2j

j

By y

z

2

jj

Lx x

z

IV 2j

jBy y

z

2j

jLx x

z

Por fim, para calcular o acréscimo de tensão provocado por vários retângulos de carga,

faz-se a sobreposição dos acréscimos individuais de cada retângulo a partir dos retângulos

auxiliares de cada um destes. Assim, o acréscimo de tensão vertical total é dado pela

Equação (3.7) a seguir:

,

1

k

z z jj

(3.7)

Page 31: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

21

onde,

j = número do retângulo de carregamento [adimensional];

k = quantidade de retângulos de carregamento [adimensional].

3.3 Algoritmo para computação da Solução de Geddes

A solução de Geddes pode ser manipulada de maneira semelhante à de Boussinesq de

modo a facilitar sua aplicação computacional e permitir o cálculo simultâneo de várias cargas,

bastando substituir x e y nas Equações (2.14) a (2.17) por x – xi e y – yi (onde xi e yi são as

coordenadas dos centros de aplicação das cargas), respectivamente, para que todas as cargas

tenham um sistema de coordenadas comum. O acréscimo de tensão vertical Δσz,i da i-ésima

carga é dado por:

2

2 2

2 2

2

, 3 3 3

4 452 2

2 2 2 2

3 5 5

12 2 2 1 2 1 2 2

2 2

14 4 1 4 1 1

8 1

16 6 . 1

4

i i i

i i i i

i i i

i i

i i i i

i i ii i

z i

i i i i

i i

i i i i i

i i i i

i i i

m m m

n n n n

A B F

m mm m m m

n n nP n

D A F B

m nm m m n m

m n n n

B F B

(3.8)

1/2

2 2

i i

i

i

i

i

x x y yn

D

zm

D

(3.9)

1/222

1/222

1/22 2

1

1

i i i

i i i

i i i

A n m

B n m

F n m

(3.10)

Page 32: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

22

onde,

Pi = intensidade da i-ésima carga vertical (carga sobre a i-ésima estaca) [F];

x = coordenada x do ponto de cálculo do acréscimo de tensão [L];

y = coordenada y do ponto de cálculo do acréscimo de tensão [L];

xi = coordenada x do ponto de aplicação da i-ésima carga pontual [L];

yi = coordenada y do ponto de aplicação da i-ésima carga pontual [L];

z = coordenada z do ponto de cálculo do acréscimo de tensão [L];

ni = distância entre o ponto de aplic. Da i-ésima carga e o ponto de cálculo, em planta [L];

mi = profundidade adimensional [L];

Di = comprimento em que a i-ésima carga se distribui (comprimento da i-ésima estaca) [L];

ν = coeficiente de Poisson [adimensional].

Quando ni = 0 e mi > 1, o ponto onde o acréscimo de tensão está sendo calculado

encontra-se diretamente abaixo da ponta da estaca. Neste caso, a Equação (3.8) deve ser

substituída por:

2

, 2 3

4 1 2 2 2 2 4 2 4

8 1 1 1 1 1

ii iz i

i i i i i i

mP m

D m m m m m

(3.11)

O acréscimo de tensão total provocado pelas várias cargas pode ser calculado pela

sobreposição dos acréscimos individuais, uma vez que o meio considerado é elástico-linear.

Assim:

,

1

n

z z ii

(3.12)

Page 33: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

23

4. RESULTADOS E ANÁLISE

O resultado deste trabalho é um programa desenvolvido no Wolfram Mathematica 11.2

capaz de calcular acréscimos de tensão vertical para qualquer combinação de carregamentos

pontuais, uniformemente distribuídos retangulares e uniformemente distribuídos em

profundidade. São gerados gráficos contendo as isóbaras dos acréscimos de tensão vertical total

(ou seja, da combinação de todos os carregamentos) ao longo de um meio contínuo estipulado

pelo usuário. A seguir, são mostrados as interfaces do programa, o seu funcionamento e um

exemplo de carregamento.

4.1 Interface e funcionamento do programa

A interface inicial do programa é mostrada na Figura 4.1 a seguir. Ela conta com duas

linhas de código: a primeira, chamada “Iniciar”, gera a interface primária do programa quando

executada, que contém dados de um carregamento padrão (de forma que o usuário veja como

devem ser passados os parâmetros ao programa) que podem ser alterados, uma tela para

visualização das cargas colocadas no programa e um botão para gerar os resultados para o

carregamento escolhido; a segunda linha de código, chamada “Visualizar”, gera a interface

secundária, que contém a visualização dos resultados gerados na interface primária, devendo

ser executada após ter sido finalizada a geração dos resultados.

Figura 4.1 – Interface inicial do programa

As linhas de código “Iniciar” e “Visualizar” são executadas ao se apertar a combinação

de teclas Shift + Enter após selecioná-las. Na Figura 4.2 a seguir, a linha “Iniciar” é selecionada

e então executada, gerando a interface primária do programa na Figura 4.3.

Page 34: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

24

Figura 4.2 – Seleção da linha “Iniciar”

Figura 4.3 – Interface primária do programa após execução da linha “Iniciar”

A interface primária do programa, chamada “Parâmetros dos Carregamentos” e

mostrada na Figura 4.3 anterior, contém quatro painéis com linhas para entradas de valores pelo

usuário, uma tela com a visualização do posicionamento das cargas e dois botões chamados

“Atualizar visualização” e “Gerar resultados”. A interface primária apresenta, como padrão,

uma combinação de cargas contendo múltiplas cargas pontuais, estacas e retângulos de

carregamento, de forma a indicar ao usuário como deve ser feita a entrada dos valores no

programa.

Os três primeiros painéis desta interface dizem respeito aos parâmetros dos

carregamentos que serão utilizados, sendo o painel esquerdo relativo a cargas pontuais, o painel

central relativo a áreas retangulares uniformemente carregadas e o painel direito relativo a

estacas, conforme a Figura 4.4 a seguir.

Page 35: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

25

(a) (b)

(c)

Figura 4.4 – Painéis com parâmetros das cargas

(a) Painel para cargas pontuais. (b) Painel para áreas retangulares unif. Carregadas. (c) Painel para estacas.

As chaves “{ }” mostradas na Figura 4.4 correspondem a listas de parâmetros. Cada

elemento de uma lista diz respeito a uma carga individual. Assim, na Figura 4.4.a, os três

elementos da lista da primeira linha representam cargas pontuais de intensidade 200, 300 e 400,

respectivamente; de maneira semelhante, os três elementos da lista da segunda linha

representam as coordenadas em x dos pontos de aplicação das cargas, sendo as coordenadas

iguais a x1 = -5, x2 = -3 e x3 = - 2,5 para as cargas de intensidade 200, 300 e 400,

respectivamente.

Note que as unidades das cargas e dimensões não são mencionadas em nenhum

momento. Isto se deve ao fato de que o usuário pode arbitrar por utilizar qualquer sistema de

unidades, sendo os resultados mostrados também nas unidades arbitradas pelo usuário; assim,

se as cargas mostradas na Figura 4.4.a tem intensidades em quilonewtons (kN) e as coordenadas

x e y estão em metros (m), os resultados do programa utilizarão as mesmas unidades, de modo

que todas as dimensões mostradas estarão em metros e todas as tensões em quilopascals (kPa

ou kN/m2).

Note ainda que o separador decimal utilizado pelo programa é o ponto “.” E não a

vírgula “,”. No Wolfram Mathematica 11.2, a vírgula é usada para separar elementos dentro de

listas, enquanto o ponto é usado como separador decimal.

Page 36: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

26

Os acréscimos de tensão são calculados pelo programa utilizando uma malha

tridimensional de pontos distribuídos uniformemente conforme os parâmetros passados pelo

usuário. O painel esquerdo no centro da interface primária, mostrado na Figura 4.5 a seguir, diz

respeito às propriedades da malha de cálculo do programa.

Figura 4.5 – Painel com as propriedades da malha de cálculo

Neste painel, as linhas de nome “Limite” são responsáveis pelas dimensões externas da

malha (comprimento, altura e largura), enquanto as linhas de nome “Espaçamento” são

responsáveis pelas dimensões internas (espaçamentos entre pontos da malha nos eixos x, y e z).

Assim, para os dados mostrados na Figura 4.5, a malha irá das coordenadas x = -10 até x = 10

no eixo x, das coordenadas y = -10 até y = 10 no eixo y e das coordenadas z = 0,1 até z = 10,1

no eixo z, sendo os pontos da malha espaçados de 2,15 unidades no eixo x, 2,15 unidades no

eixo y e 5 unidades no eixo z.

Deve ser notado que, caso os espaçamentos adotados não sejam compatíveis com os

limites arbitrados, as dimensões da malha serão reduzidas de modo a manter o espaçamento

adotado. Assim, no caso mostrado na Figura 4.5, a malha irá das coordenadas x = -10 até

x = 9,35 e de y = -10 até y = 9,35, mantendo os espaçamentos de 2,15 unidades arbitrados para

ambos os eixos; os resultados serão calculados então dentro do intervalo [-10 ; 9,35] nos eixos

x e y, não sendo exibidos resultados para os pontos no intervalo (9,35 ; 10].

Os limites e espaçamentos da malha mostrados na Figura 4.5 são valores padrão do

programa, utilizados apenas de forma a indicar ao usuário como deve ser feita a entrada destes

dados na interface. De forma a garantir a qualidade do resultado do programa, o usuário deve

escolher os limites da malha de acordo com seus pontos de interesse no meio contínuo (ou seja,

de forma que os pontos em que se deseja visualizar os acréscimos de tensão se encontrem dentro

Page 37: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

27

dos limites da malha.), e arbitrar espaçamentos pequenos o suficiente para que os resultados

gerados provenham a qualidade esperada; como será visto na Figura 4.11, a qualidade dos

gráficos gerados mantendo-se os espaçamentos padrão do programa é propositalmente baixa

(para que as interfaces sejam geradas rapidamente), devendo ser alterados para conferir a

qualidade desejada.

O último painel da interface primária, mostrado na Figura 4.6 a seguir, exibe o

posicionamento das cargas e os limites da malha conforme adotado pelo usuário nos painéis

anteriores.

Figura 4.6 – Painel com posicionamento das cargas

Neste painel, as cargas pontuais são marcadas por círculos cortados “⊗”, os centros das

áreas retangulares são marcados por quadrados cheios “■” (sendo suas dimensões dadas pelas

regiões retangulares coloridas), e as estacas são marcadas por círculos cheios “●”. Sobre cada

uma das cargas é mostrada uma lista contendo a intensidade do carregamento, a posição em x

e a posição em y, nesta ordem; assim, a estaca de intensidade de carga igual a 400 locada em

x = -5 e y = 0 é mostrada por um círculo cheio “●” com uma lista igual a {400, -5, 0} sobre ele.

A visualização da posição dos carregamentos e dos limites da malha não é atualizada

automaticamente. Para isso, é necessário pressionar o botão “Atualizar visualização” mostrado

na Figura 4.3 após modificar os valores de interesse nos painéis desejados.

Page 38: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

28

Por fim, após todos os valores de interesse terem sido passados ao programa pelo

usuário, basta pressionar o botão “Gerar resultados” para que o programa realize os cálculos

necessários. O último passo é selecionar a linha “Visualizar” e executá-la pressionando

Shift+Enter, conforme mostrado na Figura 4.7 a seguir para gerar a interface secundária que

contém a visualização dos resultados.

Figura 4.7 – Seleção e execução da linha “Visualizar”

Figura 4.8 – Interface secundária do programa com a visualização dos resultados

Page 39: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

29

A interface secundária do programa, chamada “Visualização dos Resultados” e

mostrada na Figura 4.8 anterior, contém um painel para seleção dos cortes transversais, uma

tela para visualização da posição das cargas e das linhas de corte, e três painéis para visualização

das isóbaras geradas para os cortes selecionados.

O primeiro painel desta interface, mostrado na figura a seguir, contém sliders que

permitem variar as coordenadas x, y e z do posicionamento das linhas de corte onde são geradas

as isóbaras. Os sliders variam cada coordenada em incrementos iguais aos espaçamentos

indicados pelo usuário na Figura 4.5. A medida que um slider é variado, o painel de visualização

das cargas mostra automaticamente a nova posição das linhas de corte e o painel contendo as

isóbaras relativas à nova linha de corte é atualizado. O botão “+” ao lado de cada slider permite

ver os valores assumidos pelas coordenadas x, y e z, além de conter funções adicionais, como

variar o slider automaticamente.

(a) (b)

Figura 4.9 – Painel de sliders

(a) Sliders para as coordenadas x, y e z. (b) Sliders com funções adicionais habilitadas.

O painel de visualização das cargas e das linhas de corte, mostrado na Figura 4.10 a seguir,

é semelhante aquele da Figura 4.6. A diferença está na presença de duas linhas, uma vertical e

outra horizontal, que mostram a posição dos cortes transversais selecionados dependendo a

posição dos sliders da Figura 4.9, e de uma pequena tela com o valor do acréscimo de tensão

vertical Δσz para o ponto selecionado.

Page 40: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

30

Figura 4.10 – Painel de visualização da posição das cargas e das linhas de corte

Os três outros painéis, mostrados na Figura 4.11 a seguir, contém os cortes

transversais selecionados com os sliders com suas isóbaras. Próximo a cada gráfico, é

mostrada uma legenda em cores indicando os valores das tensões em cada isóbara.

(a) (b)

Page 41: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

31

(c)

Figura 4.11 – Painéis de visualização dos cortes transversais com isóbaras

(a) Painel de corte para x fixo. (b) Painel de corte para y fixo. (c) Painel de corte para z fixo.

Note que a qualidade das isóbaras mostradas na Figura 4.11 é um tanto precária. Isso se

deve aos espaçamentos padrões adotados, que são muito grandes em relação às dimensões da

malha. Para refinar os resultados, basta diminuir os espaçamentos entre os pontos nas direções

desejadas. Vale destacar que, apesar das isóbaras serem pouco definidas, os valores de

acréscimo de tensão em cada ponto são exatos (segunda as soluções adotadas), já que foram

calculados por soluções analíticas e não por processo numérico.

4.2 Exemplo de carregamento

O exemplo a seguir irá gerar os resultados para o seguinte carregamento:

Três cargas pontuais Q1, Q2 e Q3:

o Intesidades dos carregamentos:

Q1 = 200 kN;

Q2 = 300 kN;

Q3 = 400 kN.

o Pontos de aplicação:

(x1,y1) = (-4,5; -4,5);

(x2,y2) = (-3,0; -3,0);

(x3,y3) = (-2,5; -2,5).

Page 42: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

32

Duas áreas retangulares uniformemente carregadas q1 e q2:

o Intesidades dos carregamentos:

q1 = 250 kN/m2;

q2 = 315 kN/m2.

o Lados:

L1 = 2,0m e B1 = 2,0m;

L2 = 1,4m e B2 = 1,4m.

o Coordenadas dos centros dos retângulos:

(x1,y1) = (-1,5; -3,0);

(x2,y2) = (-1,5; 3,0).

Duas estacas P1 e P2:

o Intesidades dos carregamentos:

P1 = 300 kN;

P2 = 400 kN.

o Comprimentos das estacas:

D1 = 2,0m;

D3 = 3,0m;

o Coeficiente de Poisson do solo:

ν = 0,3.

o Coordenadas das estacas:

(x1,y1) = (-1,5; -3,0);

(x2,y2) = (-1,5; 3,0).

Os valores adotados para a malha de cálculo são:

Limites horizontais:

o x- = -5,51m e x+ = 3,01m;

o y- = -5,01m e y+ = 4,01m.

Limites verticais:

o z superior = 0,1 m e z inferior = 5,1 m.

Espaçamentos entre pontos:

o Eixo x = 0,1m;

o Eixo y = 0,1m;

o Eixo z = 0,2m.

Page 43: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

33

O carregamento citado e as propriedades da malha foram escolhidos de modo a gerar

resultados que propositalmente necessitariam de um tempo de execução alto porém que seriam

de alta qualidade. Isto foi feito de modo a verificar a estabilidade do programa durante a

execução e demonstrar a o nível que os resultados podem alcançar.

Figura 4.12 – Dados de entrada do programa para o exemplo

A Figura 4.12 mostrada anteriormente contém os dados de entrada para o carregamento

do exemplo e as propriedades adotadas para a malha, além da visualização do posicionamento

das cargas em questão.

A Figura 4.13 a seguir mostra a interface secundária do programa com os resultados

obtidos após pressionar o botão “Gerar resultados” e executar a linha “Visualizar”. Note que a

qualidade das isóbaras geradas para o exemplo é bastante superior àquela das isóbaras geradas

pelo carregamento padrão do programa, isso porque os espaçamentos entre pontos foram

bastante reduzidos em relação aos limites de cálculo do meio, gerando uma maior quantidade

de resultados; em contrapartida, o tempo de execução necessário para geração dos resultados é

bastante elevado (cerca de uma hora), já que há cerca de 210 mil pontos nesta malha, devendo

ser executado um número ainda maior de operações devido à quantidade de cargas do

Page 44: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

34

carregamento. Deve ser notado que não é necessário um número tão grande de pontos para

obtenção de isóbaras de boa qualidade.

Figura 4.13 – Interface secundária do programa para o exemplo

A Figura 4.14 e a Figura 4.15, mostradas a seguir, exibem algumas isóbaras para alguns

cortes transversais e valores de acréscimos de tensão para determinados pontos do meio.

Page 45: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

35

(a) (b)

(b) ©(d)

Figura 4.14 – Resultados do programa para o exemplo com x = -3,71m, y = -1,51m, z = 0,1m.

(a) Valores das coordenadas, posição das cargas e dos cortes. (b) Isóbaras em corte transversal para

x = -3,71m. (c) Isóbaras em corte transversal para y = -1,51m. (d) Isóbaras em corte transversal para

z = 0,1m.

Page 46: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

36

(a) (b)

(c) (d)

Figura 4.15 – Resultados do programa para o exemplo com x = -1,41m, y = -0,01m, z = 2,5m.

(a) Valores das coordenadas, posição das cargas e dos cortes. (b) Isóbaras em corte transversal para x = -1,41m.

(c) Isóbaras em corte transversal para y = -0,01m. (d) Isóbaras em corte transversal para z = 2,5m.

Page 47: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

37

5. CONCLUSÕES

O trabalho desenvolvido atingiu todos os objetivos propostos. Em primeiro lugar, os

algoritmos desenvolvidos para as Soluções de Boussinesq, Newmark e Geddes ampliam a

capacidade destas, permitindo o cálculo de acréscimos de tensão vertical em qualquer ponto do

meio contínuo para qualquer combinação de cargas pontuais, áreas retangulares uniformemente

carregadas e cargas distribuídas uniformemente ao longo da profundidade do meio; as soluções

analíticas mencionadas foram modificadas por meio de uma mudança de sistema de

coordenadas que visa desassociar as cargas consideradas do centro do sistema de coordenadas,

permitindo que todas as cargas de uma combinação tenham um sistema em comum a partir do

qual os acréscimos individuais podem ser somados.

Em segundo lugar, o programa desenvolvido implementou os algoritmos propostos

com sucesso, sendo capaz de calcular os acréscimos e de gerar gráficos para visualização da

distribuição dos acréscimos de tensão. Foram desenvolvidos um conjunto de interfaces que

permitem ao usuário do programa alterar as condições de carregamento do meio facilmente e

visualizar a distribuição do acréscimo de tensão vertical por meio de isóbaras. O programa

utiliza uma malha tridimensional de dimensões e espaçamentos controlados pelo usuário; os

acréscimos são calculados pelas soluções analíticas de Boussinesq, Newmark e Geddes em cada

ponto da malha (sendo portanto um processo exato, e não numérico), gerando isóbaras a partir

dos valores calculados. As isóbaras geradas facilitam a visualização da distribuição da tensão

provocada pelo carregamento e permitem um melhor entendimento do fenômeno em questão.

Quanto a possíveis trabalhos futuros, recomenda-se:

Desenvolvimento de algoritmos que permitam o cálculo dos acréscimos

de tensão horizontais e tangenciais para as soluções analíticas;

Implementação de soluções analíticas para mais tipos de carregamentos;

Implementação de uma solução analítica para estacas que leve em conta

o diâmetro das mesmas;

Implementação do cálculo dos recalques elásticos das soluções

consideradas;

Implementação do cálculo de recalques por adensamento, para o caso de

solos de baixa permeabilidade;

Implementação de algoritmo que permita a visualização do fluxo de água

provocado pelos acréscimos de tensão durante o adensamento.

Page 48: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

38

6. Referências Bibliográficas

Boussinesq, J. (1883). Application des Potentials a L’Etude de L’Equilibre et due Mouvement

des Solides Elastiques. Paris: Gauthier-Villars.

Das, M. B (2014). Advanced Soil Mechanics. 4th ed. New York: CRC Press.

Geddes, J. D. (1966). Stresses in foundation soils due to vertical subsurface loading.

Géotechnique, Volume 16 Issue 3, p. 231 – 255.

Newmark, N. M. (1935). Simplified computation of vertical pressure in elastic foundations.

University of Illinois Engineering Experiment Station, Circular 24.

Poulos, H. G. & Davis, E. H. (1974). Elastic Solutions for Soil and Rock Mechanics. New York:

John Wiley & Sons Inc.

Page 49: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

39

7. Apêndice – Código do programa

Page 50: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

40

Código para carregamento padrão e interface primária do programa (entrada de dados):

LaunchKernels[];

Q = {200, 300, 400};

xi = {-5, -3, 2.5};

yi = {-5, -3, 2.5};

nQ = 3;

q = {250, 315};

xj = {-1.5, 5};

yj = {-1.5, 5};

l = {2., 1.4};

b = {2., 1.4};

nq = 2;

P = {300, 400};

xk = {0, -5};

yk = {0, 0};

d = {10, 12};

ν = 0.3;

nP = 2;

gridx = 2.15;

gridy = 2.15;

gridz = 5;

limxEsq = -10;

limxDir = 10;

limyEsq = -10;

limyDir = 10;

limzSup = 0.1;

limzInf = 10.1;

Status = 0;

PositQ = Table[{xi[[i]], yi[[i]]}, {i, 1, nQ}];

Positq = Table[{xj[[i]], yj[[i]]}, {i, 1, nq}];

PositP = Table[{xk[[i]], yk[[i]]}, {i, 1, nP}];

Graphsq = Table[RegionPlot[xj[[i]] - l[[i]]/2 < x < xj[[i]] + l[[i]]/2 && yj[[i]] - b[[i]]/2 < y < yj[[i]] +

b[[i]]/2, {x, limxEsq, limxDir}, {y, limyEsq, limyDir},

AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq - limxDir]], {i, 1, nq}];

GraphsQ = Table[ListPlot[Labeled[{PositQ[[i]]}, {{Q[[i]], PositQ[[i]][[1]], PositQ[[i]][[2]]}},

{PositQ[[i]][[1]], PositQ[[i]][[2]]}], PlotMarkers -> {"⊗", 10},

AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq - limxDir]], {i, 1, nQ}];

GraphsP = Table[ListPlot[Labeled[{PositP[[i]]}, {{P[[i]], PositP[[i]][[1]], PositP[[i]][[2]]}},

{PositP[[i]][[1]], PositP[[i]][[2]]}], PlotMarkers -> {"●", 10},

AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq - limxDir]], {i, 1, nP}];

GraphsPosq = Table[ListPlot[Labeled[{Positq[[i]]}, {{q[[i]], Positq[[i]][[1]], Positq[[i]][[2]]}},

{Positq[[i]][[1]], Positq[[i]][[2]]}], PlotMarkers -> {"◼", 15},

AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq - limxDir]], {i, 1, nq}];

Panel[Grid[{{Panel["PARÂMETROS DOS CARREGAMENTOS"]},

{Panel[Grid[{{Panel[Panel[Grid[Transpose[{{"Intens. das cargas", "Coord. x das cargas", "Coord. y das

cargas", "Qnt. de cargas"}, {InputField[Dynamic[Q]], InputField[Dynamic[xi]],

InputField[Dynamic[yi]], InputField[Dynamic[nQ]]}}]], "CARGAS PONTUAIS - Boussinesq", Top],

Background -> None],

Panel[Panel[Grid[Transpose[{{"Intens. dos carreg.", "Coord. x dos centros dos ret.", "Coord. y dos

centros dos ret.", "Lados L dos ret. (x)", "Lados B dos ret. (y)",

"Qnt. de retângulos"}, {InputField[Dynamic[q]], InputField[Dynamic[xj]], InputField[Dynamic[yj]],

InputField[Dynamic[l]], InputField[Dynamic[b]], InputField[

Dynamic[nq]]}}]], "CARGAS UNIFORMEMENTE DISTR. - Newmark", Top], Background -> None],

Panel[Panel[Grid[Transpose[{{"Cargas das estacas", "Coord. x das estacas", "Coord. y das estacas",

"Comprimentos das est.", "Poisson (ν)", "Qnt. de estacas"},

{InputField[Dynamic[P]], InputField[Dynamic[xk]], InputField[Dynamic[yk]],

InputField[Dynamic[d]], InputField[Dynamic[ν]], InputField[Dynamic[nP]]}}]], "ESTACAS - Geddes",

Top], Background -> None]}}], Background -> LightGray]},

Page 51: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

41

{Panel[Grid[{{Panel[Panel[Grid[Transpose[{{"Limite x-", "Limite x+", "Limite y-", "Limite y+", "Limite z

sup.", "Limite z inf.", "Espaçamento em x", "Espaçamento em y",

"Espaçamento em z"}, {InputField[Dynamic[limxEsq]], InputField[Dynamic[limxDir]],

InputField[Dynamic[limyEsq]], InputField[Dynamic[limyDir]], InputField[Dynamic[limzSup]],

InputField[Dynamic[limzInf]], InputField[Dynamic[gridx]], InputField[Dynamic[gridy]],

InputField[Dynamic[gridz]]}}]], "PROPRIEDADES DA MALHA", Top], Background -> None,

ImageMargins -> 60], Dynamic[Panel[Panel[Panel[Labeled[Show[Graphsq, GraphsQ, GraphsP,

GraphsPosq], {"Y", "X"}, {Left, Bottom}]], "POSIÇÃO DAS CARGAS", Top,

Background -> None]]]}}], Background -> LightGray]},

{Grid[{{Panel[Button["Atualizar visualização", PositQ = Table[{xi[[i]], yi[[i]]}, {i, 1, nQ}]; Positq =

Table[{xj[[i]], yj[[i]]}, {i, 1, nq}];

PositP = Table[{xk[[i]], yk[[i]]}, {i, 1, nP}]; Graphsq = Table[RegionPlot[xj[[i]] - l[[i]]/2 < x < xj[[i]]

+ l[[i]]/2 && yj[[i]] - b[[i]]/2 < y < yj[[i]] + b[[i]]/2,

{x, limxEsq, limxDir}, {y, limyEsq, limyDir}, AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq -

limxDir]], {i, 1, nq}];

GraphsQ = Table[ListPlot[Labeled[{PositQ[[i]]}, {{Q[[i]], PositQ[[i]][[1]], PositQ[[i]][[2]]}},

{PositQ[[i]][[1]], PositQ[[i]][[2]]}], PlotMarkers -> {"⊗", 10},

AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq - limxDir]], {i, 1, nQ}]; GraphsP =

Table[ListPlot[Labeled[{PositP[[i]]}, {{P[[i]], PositP[[i]][[1]], PositP[[i]][[2]]}}, {

PositP[[i]][[1]], PositP[[i]][[2]]}], PlotMarkers -> {"●", 10}, AspectRatio -> Abs[limyEsq -

limyDir]/Abs[limxEsq - limxDir]], {i, 1, nP}];

GraphsPosq = Table[ListPlot[Labeled[{Positq[[i]]}, {{q[[i]], Positq[[i]][[1]], Positq[[i]][[2]]}},

{Positq[[i]][[1]], Positq[[i]][[2]]}], PlotMarkers -> {"◼", 15},

AspectRatio -> Abs[limyEsq - limyDir]/Abs[limxEsq - limxDir]], {i, 1, nq}]; ]],

Panel[Button["Gerar resultados", BousZ[x_, y_, z_] := If[nQ != 0, ((3*z^3)/(2*Pi))*Module[{i},

Sum[Q[[i]]/Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2 + z^2]^5, {i, nQ}]], 0];

BousX[x_, y_, z_] := If[nQ != 0, Module[{i}, Sum[(Q[[i]]/(2*Pi))*(3*(x - xi[[i]])^2*(-z/Sqrt[(x -

xi[[i]])^2 + (y - yi[[i]])^2 + z^2]^5) -

(1 - 2*ν)*(((x - xi[[i]])^2 - (y - yi[[i]])^2)/(Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2 + z^2]*Sqrt[(x -

xi[[i]])^2 + (y - yi[[i]])^2]^2*

(Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2 + z^2] - z)) + ((y - yi[[i]])^2*(-z))/(Sqrt[(x - xi[[i]])^2 + (y -

yi[[i]])^2 + z^2]^3*Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2]^

2))), {i, nQ}]], 0]; BousY[x_, y_, z_] := If[nQ != 0, Module[{i}, Sum[(Q[[i]]/(2*Pi))*(3*(y -

yi[[i]])^2*(-z/Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2 + z^2]^5) -

(1 - 2*ν)*(((y - yi[[i]])^2 - (x - xi[[i]])^2)/(Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2 + z^2]*Sqrt[(x -

xi[[i]])^2 + (y - yi[[i]])^2]^2*

(Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2 + z^2] - z)) + (x - xi[[i]])^2*(-z/(Sqrt[(x - xi[[i]])^2 + (y -

yi[[i]])^2 + z^2]^3*Sqrt[(x - xi[[i]])^2 + (y - yi[[i]])^2]^

2)))), {i, nQ}]], 0]; Case[x_, y_] := Which[Abs[x - xj[[j]]] <= 0.5*l[[j]] && Abs[y - yj[[j]]] <=

0.5*b[[j]], 1, Abs[x - xj[[j]]] <= 0.5*l[[j]] &&

Abs[y - yj[[j]]] > 0.5*b[[j]], 2, Abs[x - xj[[j]]] > 0.5*l[[j]] && Abs[y - yj[[j]]] <= 0.5*b[[j]], 3,

Abs[x - xj[[j]]] > 0.5*l[[j]] && Abs[y - yj[[j]]] > 0.5*b[[j]], 4];

m[x_, y_, z_] := Which[Case[x, y] == 1, Which[r == 1 || r == 2, Abs[(y - yj[[j]]) - 0.5*b[[j]]]/z, r == 3

|| r == 4, Abs[(y - yj[[j]]) + 0.5*b[[j]]]/z], Case[x, y] == 2,

Which[r == 1 || r == 2, (Abs[y - yj[[j]]] + 0.5*b[[j]])/z, r == 3 || r == 4, (Abs[y - yj[[j]]] -

0.5*b[[j]])/z], Case[x, y] == 3,

Which[r == 1 || r == 3, Abs[(y - yj[[j]]) - 0.5*b[[j]]]/z, r == 2 || r == 4, Abs[(y - yj[[j]]) +

0.5*b[[j]]]/z], Case[x, y] == 4,

Which[r == 1 || r == 4, (Abs[y - yj[[j]]] + 0.5*b[[j]])/z, r == 2 || r == 3, (Abs[y - yj[[j]]] -

0.5*b[[j]])/z]];

n[x_, y_, z_] := Which[Case[x, y] == 1 || Case[x, y] == 2, Which[r == 1 || r == 3, Abs[(x - xj[[j]]) +

0.5*l[[j]]]/z, r == 2 || r == 4, Abs[(x - xj[[j]]) - 0.5*l[[j]]]/z],

Case[x, y] == 3, Which[r == 1 || r == 2, (Abs[x - xj[[j]]] + 0.5*l[[j]])/z, r == 3 || r == 4, (Abs[x -

xj[[j]]] - 0.5*l[[j]])/z], Case[x, y] == 4,

Which[r == 1 || r == 3, (Abs[x - xj[[j]]] + 0.5*l[[j]])/z, r == 2 || r == 4, (Abs[x - xj[[j]]] -

0.5*l[[j]])/z]];

NewAux[x_, y_, z_] := Table[(q[[j]]/(4*Pi))*((2*m[x, y, z]*n[x, y, z]*(Sqrt[m[x, y, z]^2 + n[x, y, z]^2 +

1]/(m[x, y, z]^2 + n[x, y, z]^2 + m[x, y, z]^2*n[x, y, z]^2 + 1)))*

((m[x, y, z]^2 + n[x, y, z]^2 + 2)/(m[x, y, z]^2 + n[x, y, z]^2 + 1)) + If[m[x, y, z]^2 + n[x, y, z]^2 + 1

>= m[x, y, z]^2*n[x, y, z]^2,

Page 52: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

42

ArcTan[2*m[x, y, z]*n[x, y, z]*(Sqrt[m[x, y, z]^2 + n[x, y, z]^2 + 1]/(m[x, y, z]^2 + n[x, y, z]^2 - m[x,

y, z]^2*n[x, y, z]^2 + 1))],

ArcTan[2*m[x, y, z]*n[x, y, z]*(Sqrt[m[x, y, z]^2 + n[x, y, z]^2 + 1]/(m[x, y, z]^2 + n[x, y, z]^2 - m[x,

y, z]^2*n[x, y, z]^2 + 1))] + Pi]), {r, 1, 4, 1}];

NewIndZ[x_, y_, z_] := If[Case[x, y] == 1, Sum[NewAux[x, y, z][[i]], {i, 1, 4}], Sum[NewAux[x, y,

z][[i]], {i, 1, 2}] - Sum[NewAux[x, y, z][[i]], {i, 3, 4}]];

NewTotZ[x_, y_, z_] := If[nq != 0, Sum[NewIndZ[x, y, z], {j, 1, nq}], 0]; nGed[x_, y_] := ((x - xk[[i]])^2

+ (y - yk[[i]])^2)^(1/2)/d[[i]]; mGed[z_] := z/d[[i]];

A[x_, y_, z_] := (nGed[x, y]^2 + (mGed[z] - 1)^2)^(1/2); B[x_, y_, z_] := (nGed[x, y]^2 + (mGed[z] +

1)^2)^(1/2); F[x_, y_, z_] := (nGed[x, y]^2 + mGed[z]^2)^(1/2);

GedIndZ[x_, y_, z_] := If[nGed[x, y] == 0 && mGed[z] > 1, (-(P[[i]]/d[[i]]^2))*(1/(8*Pi*(1 - ν)))*(-

((4*(1 - ν))/mGed[z]) - (2*(2 - ν))/(mGed[z] - 1) + (2*(2 - ν))/

(mGed[z] + 1) + (4*mGed[z]*(2 - ν))/(mGed[z] + 1)^2 - (4*mGed[z]^2)/(mGed[z] + 1)^3), (-

(P[[i]]/d[[i]]^2))*(1/(8*Pi*(1 - ν)))*(-((2*(2 - ν))/A[x, y, z]) +

(1/B[x, y, z])*(2*(2 - ν) + 2*(1 - 2*ν)*(mGed[z]/nGed[x, y])*(mGed[z]/nGed[x, y] + 1/nGed[x, y])) -

((1 - 2*ν)*2*(mGed[z]/nGed[x, y])^2)/F[x, y, z] + nGed[x, y]^2/

A[x, y, z]^3 + (4*mGed[z]^2 - 4*(1 + ν)*(mGed[z]/nGed[x, y])^2*mGed[z]^2)/F[x, y, z]^3 + (1/B[x,

y, z]^3)*(4*mGed[z]*(1 + ν)*(mGed[z] + 1)*

(mGed[z]/nGed[x, y] + 1/nGed[x, y])^2 - (4*mGed[z]^2 + nGed[x, y]^2)) +

(6*mGed[z]^2*((mGed[z]^4 - nGed[x, y]^4)/nGed[x, y]^2))/F[x, y, z]^5 + (1/B[x, y, z]^5)*

(6*mGed[z]*(mGed[z]*nGed[x, y]^2 - (1/nGed[x, y]^2)*(mGed[z] + 1)^5)))]; GedTotZ[x_, y_, z_] :=

If[nP != 0, Sum[GedIndZ[x, y, z], {i, 1, nP}], 0];

CombTot[x_, y_, z_] := BousZ[x, y, z] + NewTotZ[x, y, z] + GedTotZ[x, y, z]; limNumx = limxEsq +

Round[Abs[limxDir - limxEsq]/gridx]*gridx;

limNumy = limyEsq + Round[Abs[limyDir - limyEsq]/gridy]*gridy; limNumz = limzSup +

Round[Abs[limzSup - limzInf]/gridz]*gridz;

CombTotRes = Table[{x, y, -z, CombTot[x, y, z]}, {x, limxEsq, limNumx, gridx}, {y, limyEsq, limNumy,

gridy}, {z, limzSup, limNumz, gridz}]; Status = 1; ,

Method -> "Queued"]]}}]}}], Background -> LightGray]

Código para interface secundária do programa (visualização dos resultados):

If[Status == 1,

Contourx = Table[Labeled[ListContourPlot[Flatten[Table[{CombTotRes[[Round[Abs[X - limxEsq]/gridx +

1]]][[i]][[j]][[2]], CombTotRes[[Round[Abs[X - limxEsq]/gridx + 1]]][[i]][[j]][[3]],

CombTotRes[[Round[Abs[X - limxEsq]/gridx + 1]]][[i]][[j]][[4]]}, {i, 1,

Dimensions[CombTotRes][[2]], 1}, {j, 1, Dimensions[CombTotRes][[3]], 1}], 1], PlotLegends -> Automatic,

ColorFunction -> "Rainbow", AspectRatio -> Abs[(limzSup - limzInf)/(limyEsq - limyDir)]], {"Z", "Y"},

{Left, Bottom}], {X, limxEsq, limNumx, gridx}];

Contoury = Table[Labeled[ListContourPlot[Flatten[Table[{CombTotRes[[i]][[Round[Abs[Y - limyEsq]/gridy

+ 1]]][[j]][[1]], CombTotRes[[i]][[Round[Abs[Y - limyEsq]/gridy + 1]]][[j]][[3]],

CombTotRes[[i]][[Round[Abs[Y - limyEsq]/gridy + 1]]][[j]][[4]]}, {i, 1, Dimensions[CombTotRes][[1]],

1}, {j, 1, Dimensions[CombTotRes][[3]], 1}], 1], PlotLegends -> Automatic,

ColorFunction -> "Rainbow", AspectRatio -> Abs[(limzSup - limzInf)/(limxEsq - limxDir)]], {"Z", "X"},

{Left, Bottom}], {Y, limyEsq, limNumy, gridy}];

Contourz = Table[Labeled[ListContourPlot[Flatten[Table[{CombTotRes[[i]][[j]][[Round[Abs[Z -

limzSup]/gridz + 1]]][[1]], CombTotRes[[i]][[j]][[Round[Abs[Z - limzSup]/gridz + 1]]][[2]],

CombTotRes[[i]][[j]][[Round[Abs[Z - limzSup]/gridz + 1]]][[4]]}, {i, 1, Dimensions[CombTotRes][[1]],

1}, {j, 1, Dimensions[CombTotRes][[2]], 1}], 1], PlotLegends -> Automatic,

ColorFunction -> "Rainbow", AspectRatio -> Abs[(limyEsq - limyDir)/(limxEsq - limxDir)]], {"Y", "X"},

{Left, Bottom}], {Z, limzSup, limzInf, gridz}];

ParamPlotX = Table[ParametricPlot[{X, u}, {u, limyEsq, limyDir}, AspectRatio -> Abs[(limyEsq -

limyDir)/(limxEsq - limxDir)]], {X, limxEsq, limNumx, gridx}];

ParamPlotY = Table[ParametricPlot[{u, Y}, {u, limxEsq, limxDir}, AspectRatio -> Abs[(limyEsq -

limyDir)/(limxEsq - limxDir)]], {Y, limyEsq, limNumy, gridy}];

Panel[Grid[{{Panel["VISUALIZAÇÃO DOS RESULTADOS"]},

{Manipulate[Panel[Grid[{{Panel[Panel[Panel[Labeled[Show[Graphsq, GraphsQ, GraphsP, GraphsPosq,

ParamPlotX[[Round[Abs[X - limxEsq]/gridx + 1]]],

Page 53: DESENVOLVIMENTO DE SOFTWARE PARA AVALIAÇÃO DE …

43

ParamPlotY[[Round[Abs[Y - limyEsq]/gridy + 1]]]], {"Y", "X"}, {Left, Bottom}]], "POSIÇÃO DAS

CARGAS", Top, Background -> None]],

Panel[Panel[Show[Contourx[[Round[Abs[X - limxEsq]/gridx + 1]]]], Grid[{{"ISÓBARAS PARA X =",

X}}]]], Panel[Panel[Show[Contoury[[Round[Abs[Y - limyEsq]/gridy + 1]]]],

Grid[{{"ISÓBARAS PARA Y =", Y}}]]]}, {Panel[Grid[{{"\!\(\*SubscriptBox[\(Δσ\), \(z\)]\)=",

Panel[CombTotRes[[Round[Abs[X - limxEsq]/gridx + 1]]][[

Round[Abs[Y - limyEsq]/gridy + 1]]][[Round[Abs[Z - limzSup]/gridz + 1]]][[4]]]}}]]}, {Null,

Panel[Panel[Show[Contourz[[Round[Abs[Z - limzSup]/gridz + 1]]]],

Grid[{{"ISÓBARAS PARA Z =", Z}}]]], Null}}], Background -> LightGray], {X, limxEsq, limNumx,

gridx}, {Y, limyEsq, limNumy, gridy}, {Z, limzSup, limNumz, gridz}]}}],

Background -> LightGray], Null]