Escolar Documentos
Profissional Documentos
Cultura Documentos
Petrópolis
2016
UNIVERSIDADE CATÓLICA DE PETRÓPOLIS
Professor Orientador
Petrópolis
2016
Autorizo a reprodução e divulgação total ou parcial deste trabalho, por qualquer meio
convencional ou eletrônico, para fins de estudo e pesquisa, desde que citada a fonte.
111 f. : il.
CDD: 622.33819
Aluno: Edgar Stonyo Bernardo Micolo RGU: 11100569
AVALIAÇÃO
AVALIADO POR:
Com todo meu amor e carinho, dedico este trabalho aos senhores meus pais, Luís e Isabel; e
À Deus Todo Poderoso por me ter dado bom ânimo nesses últimos anos, face as diversas
situações perturbadoras. Agradeço-Lhe também pela boa saúde familiar e por ter colocado
pessoas maravilhosas no meu caminho!!!
Ao meu orientador e amigo prof.º Dr. Anderson Barata Custódio por me ter aceitado no
seu grupo de pesquisa, e ter acompanhado a minha evolução par e passo, sempre com conselhos
valiosos e munidos de muitos conhecimentos. A entrega desse trabalho deve-se as suas
contribuições em vários aspectos: científico e social. A pessoas maravilhosa a quem me refiro
é você, Anderson. Não há expressão suficiente para exprimir quão sou grato pelos inúmeros e
variados incentivos, e esse sentimento é extensivo à sua esposa, Dr.Giselle, pois sei que as
atitudes tomadas foram conjuntas. MUITO OBRIGADO, ANDERSON E GISELLE!!!
Ao prof.º Dr. Ricardo Franciss pelas conversas que clarificaram aspectos desse trabalho;
Aos professores Dr. Fábio Licht e Me. Paulo Ferreira por terem feito todo o possível para
facilitar o acesso ao cluster;
Aos professores e amigos Dr. Mauro Dolinsky e Me. André Simões por me terem aceitado
no grupo de pesquisa e por tantos anos de boa convivência, valiosos conselhos e indicações;
Aos meus colegas e amigos Eng.º Paulo Henrique, Eng.º Guilherme Kronemberg, Eng.º
Marcus Vinícius, Eng.º Luiz António, Eng.° Vitor Neiva Sarles, Luiz Felipe Sabbadin, e
especialmente o Ulisses Valentim que durante anos sempre teve uma atenção especial e nunca
mediu esforços para me ajudar, MUITO OBRIGADO ULISSES!!!
Meus agradecimentos especiais ao Eng.° Clemes Alves Fernandes, tudo partiu de suas
indicações e contribuições!!!
À minha querida madrinha, Suzana Próspero, pelos apoios e encorajamentos; aos meus
queridos irmãos Loyd e Tamys pelo encorajamento e por diminuírem as distâncias sempre que
possível!!!
Ao Sr. Eloy e Miriam por terem sempre dado atenção especial durante esses anos!
MUITO OBRIGADO!!!
Keita Mayanda.
RESUMO
The deepwater oil exploration and Production require for the engineering to account for harsh
environment, in which the flow systems undergo loads up to the limit of their strengths. The
marine riser – hung pipe to convey oil and gas from subsea equipment to floating facilities –
is one of such systems that deserves attention. This undergraduate dissertation aims at
determining, among the parameters that have any influence on the loads against which the
marine riser is dimensioned, those that rule the pipe curvature in touchdown zone. Under this
purpose, a number of methods are employed : (a) analytic methods to study the perfect catenary,
(b) numeric simulation by finite element methods for strutural calculations of riser load, using
the Python language for automations and massive simulations with different parameters; (C)
Use of dimensional analysis and statistics using R paoftware for conclusions and inference.
LISTA DE FIGURAS
RESUMO ........................................................................................................................ 24
ABSTRACT .................................................................................................................... 25
SIGLAS ............................................................................................................................ 28
1. INTRODUÇÃO....................................................................................................... 14
6. CONCLUSÃO......................................................................................................... 87
1. INTRODUÇÃO
Um dos componentes que mais sofrem com a severidade ambiental é o riser, que é o
segmento suspenso de um duto submarino que interliga a cabeça de poço à unidade flutuante
ou a um flowline e este um MCV ou manifold1. Risers em catenária livre experimentam parcelas
e componentes de cargas que podem variar em diferentes escalas de tempo. Há aquelas que são
praticamente constantes e permanentes, pois decorrem de peso e empuxo praticamente
imutáveis para um mesmo fluido interno. Há outras parcelas de carregamento externo que
advêm de correntes oceânicas e de uma configuração da catenária que, convencionalmente, é
estável em uma escala de tempo de horas. Existem finalmente cargas flutuantes que excitam
risers em períodos em torno do período das ondas do mar, entre 8 e 14 segundos.
1
Manifolds são equipamentos que manipulam o fluxo de vários poços e direcionam para os flowlines.
15
Na exploração offshore, vários materiais são adaptados para esse ambiente mais
agressivo, porém muitos dos métodos de perfuração e completação são, de certa forma,
assemelhados aos empregados na exploração onshore. A exploração segue todas avaliações
necessárias de uma área de prospecção antes que um poço seja perfurado. Nesse período, são
levantados dados geológicos, através de combinações de métodos sísmicos e geofísicos, sempre
em observância à lógica de maturação ao longo do tempo geológico da formação, para assegurar
uma probabilidade razoável de presença de hidrocarbonetos [2]. Portanto, essa sequência se
traduz na presença de rocha geradora, maturação, migração, rocha reservatório e, para que haja
acúmulo dos hidrocarbonetos, é imprescindível que a trapa selante esteja presente, de contrário
haveria uma dispersão ou exsudação para superfície, e/ou o hidrocarboneto se espalharia e
inviabilizaria uma acumulação.
2
Termo usado na indústria petrolífera para se referir à perfuração de um poço.
16
avaliação da potencialidade da jazida ora descoberta, essa fase necessariamente irá exigir a
perfuração de poços para delineamento da área exploração, e poço de desenvolvimento para
avaliação do seu potencial econômico. Esses poços são com frequência abandonados
provisoriamente, dependendo se o campo apresentar boas estimativas de recuperação, ou
abandonado definitivamente quando se tratar menos promissor, ou for um aquífero, chamado
pela indústria de poços secos. Em caso de provisórios ainda podem ser reutilizados como poços
de injeção para campos maduros e até mesmo para produção.
Um projeto de E&P offshore, entre outros fatores, é bastante dependente da lâmina d’água
(LDA), que delimita as soluções de engenharia viáveis. Porém, existem duas classes na
perspectiva do posicionamento de cabeça de poço que delimitam as atividades de E&P offshore:
as que se denominam por completação seca e molhada. Na completação seca, a árvore de natal
pode ser a convencional (ANC), indicando que o equipamento fica na unidade flutuante, ou as
ANMs – Árvores de Natal Molhadas, em que o equipamento se situa no leito marinho. Dessa
forma, podem ainda dividir-se três classes de LDA que normalmente estão intrinsecamente
associadas ao tipo de completação e influenciam o sistema de posicionamento de cabeça de
poço: águas rasas, profundas e ultraprofundas. Atualmente, considera-se que águas rasas têm
profundidades que variam de 0 até 300 m, águas profundas situam-se entre 300 e 1500 m e
águas ultraprofundas são acima de 1500 m [3]. Na prática, águas rasas podem ser consideradas
aquelas em que há alcance para atividade de mergulho. Logo, em LDA rasas usa-se (não
necessariamente) a completação seca e ANM para profundas e ultraprofundas.
A produção terá início após do chamado primeiro óleo comercial – nessa etapa termina
todo processo de exploratório, entrando o controlo da dinâmica de reservatório através de seu
perfil de produção, que determinará quais instalações serão requeridas, bem como a quantidade
de ajustamento de fases de poços a serem perfurados [2]. Em termos financeiros, a produção
assinala um ponto de mutação quanto ao gráfico do fluxo de caixa (figura 1).
17
Obtenção de materiais resistentes para superar fadigas e evitar rupturas nos cabos
de ancoragem, provocadas pelos movimentos das plataformas e pelas correntes
marinhas em alto mar;
Aprimoramentos de materiais sintéticos para a fabricação de risers (apenas
flexíveis) resistentes à pressão da coluna d’água (colapso) e às movimentações da
plataforma (esforços repetitivos, fadiga);
Desenvolvimento de materiais resistentes para utilização nos tubos de
revestimento de poços na camada de sal, capazes de suportar a pressão e os
movimentos das rochas de sal e evitar o colapso dos poços.
2. CONFIGURAÇÕES DE RISERS
O peso do riser é suportado total ou parcialmente pelas unidades flutuantes. Esse peso
suportado que induz a tração no topo será maior ou menor em função da sua configuração de
instalação. Portanto, quando o peso for muito grande, exigirá formas para viabilizar a
instalação. Essas formas estão ligados as configurações de instalação de um riser: Lazy S, steep
S, Lazy wave, steep wave tension top riser–TTR, pliant wave, riser híbridos e em catenária
livre.
Suas configurações são determinadas por boias intermediárias, em que a Lazy S usa uma
boia fixa a uma estrutura no solo marinho e a Lazy wave consiste em um sistema de boias
flutuantes[4], como mostra a figura 2. Esse sistema forma uma descontinuidade intermediaria
do riser, criando um sagbend para desacoplar as movimentações de topo causadas pela unidade
flutuante, diminuindo assim os esforços no TDP[4]. Entre outros fatores é adequado quando a
dinâmica do sistema é severa.
21
Essa configuração tem mesmo forma e funções do Lazy wave, a diferença é que ao invés
de usar uma única boia – usado em steep s –, o steep wave usa flutuadores e pesos ao longo de
um comprimento suspenso do riser[4]. A figura 3 apresenta as duas configurações, Steep S &
Steep wave
unidade flutuante. Quase não há transmissão de movimentos da unidade para a parte rígida,
porque os movimentos são absorvidos no trecho do jumper. Existem ainda outras configurações
de risers híbridos com as mesmas características : riser tower, single leg riser (SLR) e o buoy
supporting risers (BSR).
A catenária livre ou free hanging, mostrada na figura 6, é uma solução simples, pois
basicamente a cabeça de tração (pulling head) fica presa à plataforma e livremente se estende
até o solo marinho. Essa configuração apresenta alguns inconvenientes: os esforços no topo
podem ficar grandes e as curvaturas no TDP também.
Se o TDP do riser coincide com a posição S=0, e o topo em S=Ls. No modelo de catenária
perfeita mais simples, no intervalo entre S=0 e S=Ls a única carga distribuída presente é o peso
próprio do duto na direção vertical (peso molhado e cheio de fluido).
Para manter o riser suspenso, é preciso pelo menos uma força vertical T y. Essa força
geralmente é a maior componente da força de tração T(s) em qualquer ponto no riser. Se apenas
há uma força vertical – sem componente horizontal – no topo, não se trata de um caso real de
catenária, mas sim de um riser vertical. Na catenária, há simultaneamente uma força horizontal
Tx, que é a outra componente da tração de topo 𝑇𝑠 ≡ 𝑇(𝐿𝑠 ) .
Os principais esforços que atuam sobre o riser são: tração no topo, pressão interna,
pressão externa e o momento fletor associado à curvatura no entorno do touchdown point. Os
dutos são dimensionados para resistirem a esses carregamentos. Pressão interna e pressão
externa são parâmetros de fácil definição, porque o primeiro é uma condição operacional
controlável e o segundo é a pressão hidrostática da lâmina d’água. A tração do topo na catenária
estática pode ser calculada, utilizando as fórmulas apresentadas adiante dentro da teoria de
catenária, pela integração do peso distribuído.
Peso próprio w que inclui, além do peso de aço ou outro material estrutural da
parede do duto, os efeitos do peso de fluido interno e de empuxo, de forma que é
conveniente referir-se a ele como um peso “submerso” de um duto cheio.
Ângulo de topo θt, definido pelo ângulo entre a tangente da linha de centro da
catenária e a direção vertical.
Módulo de rigidez à flexão EI da seção do duto que, no caso de uma seção de
material homogêneo, pode ser calculado pelo produto do módulo de elasticidade
do material e do 2o momento de área da seção.
Resistência ao cisalhamento de solo não drenado.
Coeficiente de atrito entre duto e solo μs.
Módulo de rigidez à tração EA da seção transversal do duto homogêneo.
Esses parâmetros surgem com o fim de criar grupos adimensionais (tratado adiante) para
melhor interpretação e observações das possíveis inferências que causam o curvamento do
TDP, em uma visão global.
Uma ferramenta de apoio para análise dimensional é a matriz dimensional, que leva – no
problema da análise de catenária – em consideração os fatores como comprimento da catenária,
peso do duto, rigidez à flexão, tração no topo, etc., para formar os parâmetros
29
adimensionalizantes. Assim, com esses dados é possível formar uma matriz dimensional dos
parâmetros.
f(q1,q2,...,qn) = 0 2-1
KUNDU[8] sobre a teoria de Pi de Bunckingham diz que as variáveis q1..n sempre podem
ser combinadas para criar m grupos adimensionais independentes, onde m=n-k, sendo k é o
número de grandezas fundamentais da matriz dimensional. Cada parâmetro adimensional é
chamado de número de Π, ou comumente chamado por produto adimensional. O símbolo Π
tornou-se usual porque parâmetros adimensionais podem ser escritos como um produto de
variáveis q1, q2,...,qn elevadas por uma potência. Assim, pode-se ter uma nova relação funcional:
Assumindo inicialmente que haja três dimensões {MLT} que permitem formar grupos
linearmente independentes, logo k=3. Então m=5-3=2, conclui-se que o número de variáveis
adimensionais deve ser de dois grupos O próximo passo consiste em escolher um grupo de
“variáveis de repetição”, que não sejam combinações umas das outras (formem um grupo
adimensional entre si). Suponha que essas variáveis de repetição sejam q2, q3 e q4. Então, dois
grupos s são formados por produtos de potência desses três parâmetros, mais cada uma das
variáveis q1 e q2:
Π1 = (q2)a(q3)b(q4)cq1=M0L0T0 Π2 = (q2)a(q3)b(q4)cq5=M0L0T0
Daí, retira-se a igualdade algébrica exponencial para cada uma das dimensões (massa,
comprimento e tempo). Os índices a b e c serão multiplicados por coeficientes diferentes de
30
acordo com as dimensões em cada parâmetro, com ajuda da matriz dimensional. O teorema
garante valores únicos de a, b e c para cada [8].
Naturalmente existe certa arbitrariedade nas escolhas das variáveis de repetição. Essa
arbitrariedade é interessante à conveniência da modelagem do problema de riser em catenária.
Uma variável de repetição associada a dimensão do comprimento pode ser definida para várias
escalas, arbitrariamente. Pode essa escala englobar todo comprimento suspenso, definindo-se
a variável de repetição como Ls. Uma dimensão de comprimento pode ser obtida também a
partir de uma combinação entre a rigidez à flexão EI e peso distribuído w por unidade de
comprimento. Alternativamente a mesma dimensão de comprimento poderia ser encontrada por
uma combinação entre a rigidez à flexão (EI) e a tração no TDP.
Essa arbitrariedade será aproveitada para refletir comportamento que são melhores
expressos em termos globais na escala da catenária e locais na escala do curvamento no TDP.
Se o peso molhado for constante para qualquer posição ao longo do riser, então a
formulação acima fica reduzida a:
Ty = w.s 2-4
31
𝑇
𝜆𝑡 ≡ 𝑡𝑎𝑛 𝜃𝑡 = 𝑤𝐿0 2-5
𝑠
𝑥 𝑦 𝑤
𝑠̃ = 𝑠/𝐿𝑠 , 𝑥̃ = 𝐿 , ỹ= , 𝑤
̃ =𝑤=1
𝑠 𝐿𝑠
𝐸𝐼
𝐸̃ 𝐼=𝑤𝐿 3, ̃ = 𝐸𝐴 ,
𝐸𝐴
𝑠 𝑤𝐿 𝑠
𝑤𝑠
𝑇̃x = λt,, 𝑇̃𝑦 = = 𝑠̃
𝑤𝐿𝑠
As posições horizontal e vertical de cada ponto são calculadas pela integração das
pequenas projeções em Xs e em Ys a partir da extremidade inferior em 𝑠̃ =0, na forma:
𝑠̃ 𝑠̃ 𝜆𝑡
𝑥̃(𝑠̃ ) = ∫0 1 𝑠𝑖𝑛 𝜃 𝑑𝑠̃ = ∫0 1 𝑑𝑠̃ 2-8
√𝑠̃ 2 +𝜆𝑡 2
32
𝑠̃ 𝑠̃ 𝑠̃
𝑦̃(𝑠̃ ) = ∫0 1 𝑐𝑜𝑠 𝜃 𝑑𝑠̃ = ∫0 1 𝑑𝑠̃ 2-9
√ 𝑠̃ 2 +𝜆𝑡 2
As integrais (2.8) e (2.9) podem ser calculadas analiticamente, gerando como resultado
as seguintes expressões:
𝐿𝐷𝐴 1
𝜆𝑡 = 𝑡𝑎𝑛 𝜃𝑡 , 𝐿𝑠 = , 𝑥𝑡 = 𝜆𝑡 𝑎𝑟𝑐𝑠𝑖𝑛ℎ ( ) 2-14
2 𝜆𝑡
√1 + 𝜆𝑡 − 𝜆𝑡
da catenária não pode ser usada para calcular a curvatura k. Se ela pudesse, essa curvatura
seria dada através da expressão:
𝑑𝜃(𝑠) 𝑑𝜃(𝑠) 𝜆𝑡
𝑘(𝑠) = ∴ 𝑘̃(𝑠̃ ) ≡ 𝑘𝐿𝑠= 𝑑𝑠̃ = − 2 2-15
𝑑𝑠 𝜆
𝑠̃ 2 (1+ 𝑡2 )
𝑠̃
… que, embora seja indefinida para 𝑠̃ = 0, tende a −1/𝜆𝑡 quando 𝑠̃ → 0. Essa tendência
evidencia que a curvatura no TDP decresce com o aumento do ângulo de topo, assim como sua
afirmação inversa: a curvatura no TDP cresce com a redução do ângulo 𝜃t. Logo, um ângulo
de topo muito pequeno provavelmente causará curvamento grande no TDP, embora ainda não
tenham sido apresentadas de ferramentas analíticas para determinar precisamente a curvatura
no trecho.
Tabela 2 – Matriz dimensional dos parâmetros de governo – Forma 1com dimensões em MLT
Kmax Su W EI Ts T0 Ls EA Latsolo λt
M 0 1 1 1 1 1 0 1 0 0 0
L -1 -1 0 3 1 1 1 1 1 0 0
T 0 -2 -2 -2 -2 -2 0 -2 0 0 0
Kmax Su W EI Ts T0 Ls EA Latsolo λt
F 0 1 1 1 1 1 0 1 0 0 0
L -1 -2 -1 2 0 0 1 0 1 0 0
3 𝐸𝐼 𝑆𝑢 3 𝐸𝐼 𝑇0 3 𝑤
𝛱1 = 𝐾𝑚𝑎𝑥 √ 𝑤 , 𝛱2 = √ , 𝛱3 = √𝐸𝐼
𝑤 𝑤 𝑤
𝑇 3 𝑤 3 𝑤 3 𝑤
𝛱4 = 𝑤𝑠 √𝐸𝐼, 𝛱5 = 𝐿𝑎𝑡𝑠𝑜𝑙𝑜 √𝐸𝐼, 𝛱6 = 𝐿𝑠 √𝐸𝐼 2-16
𝐸𝐴𝑠 3 𝑤
𝛱7 = 𝑤
√𝐸𝐼, 𝛱8 = , 𝛱9 = 𝜇,
𝐸𝐼
𝐸𝐼 √𝑇 𝑇𝑥
0
𝛱1 = 𝐾𝑚𝑎𝑥 √ 𝑇 , 𝛱2 = 𝑆𝑢 , 𝛱3 =
0 𝑤 𝑤√
𝐸𝐼
𝑇0
𝑇𝑠 𝐿𝑎𝑡𝑠𝑜𝑙𝑜 𝐿𝑠 𝐸𝐴
𝛱4 = 𝐸𝐼
, 𝛱5 = 𝐸𝐼
, 𝛱6 = 𝐸𝐼
, 𝛱7 = 𝐸𝐼
2-17
𝑤√ √𝑇 √𝑇 𝑤√
𝑇0 0 0 𝑇0
𝛱8 = , 𝛱9 = 𝜇
𝑆𝑢 𝐿𝑠 𝑇
𝛱1 = 𝐾𝑚𝑎𝑥 𝐿𝑠 , 𝛱2 = , 𝛱3 = 𝑤𝐿0 ,
𝑤 𝑠
𝑇 𝐿𝑎𝑡𝑠𝑜𝑙𝑜 𝐸𝐼
𝛱4 = 𝑤𝐿𝑠 , 𝛱5 = , 𝛱6 = 𝑤𝐿 3 2-18
𝑠 𝐿𝑠 𝑠
𝐸𝐴
𝛱7 = 𝑤𝐿 , 𝛱8 = , 𝛱9 = 𝜇
𝑠
36
Nas seçõesA 2.6, 2.7 e 2.9, foram sugeridos vários parâmetros de governo da catenária
como um todo e exercitou-se criar grupos adimensionais a partir deles. Na continuação desse
tratamento, uma análise dos parâmetros que influenciam a resposta do riser no entorno do
primeiro toque ao solo torna-se importante. Conceitualmente, o problema do curvamento de um
riser oceânico na vizinhança do TDP é regido por dois fenômenos com escalas diferentes:
𝐸𝐼
𝑙𝑓 = √ , 𝑘̃ ≡ 𝑘𝑙𝑓 2-19
𝑇0
A geometria global da catenária, traduzida pelo menos na medida 1/λt, que foi
evidenciada como sendo o limite da curvatura adimensional da catenária quando
𝑠 →0.
A posição, ou seja: a distância em relação ao próprio TDP, observando que a
curvatura pode cair assintoticamente quando se afasta do TDP.
A rigidez à flexão EI do trecho do riser próximo ao TDP.
A tração no fundo, supostamente dominada por uma força horizontal T0.
A rigidez vertical Ks do solo, que oferece reação ao recalque do duto.
O coeficiente de atrito 𝜇𝑥 com o solo.
O peso distribuído w do próprio riser.
A rigidez axial Kh do trecho sobre o solo é aproximadamente dada pelo valor da rigidez
axial EA do duto dividido por um comprimento de duto assentado em que ainda atua a tração.
O peso do duto, a tração no TDP e o coeficiente de atrito já estão sendo considerados no
problema, logo esse comprimento de atrito no solo já está, de alguma forma, contemplado na
formulação. Mas a rigidez EA não está. Dessa forma, é possível substituir Kh por EA, com
pequena perda de representatividade.
1 𝑠 𝑆𝑈 𝑙𝑓 𝐸𝐴 𝑤𝑙𝑓
𝑘̃ = 𝑓 ( , , , , ,𝜇 ) 2-20
𝜆𝑡 𝑙𝑓 𝑤 𝑤𝑙𝑓 𝑇0 𝑥
Cabe observar que o penúltimo termo na expressão (2.20) é análogo à própria definição
1
do parâmetro através da formulação (2.15) mas a comprimento lf é usado ao invés de ls.
𝜆𝑡
Portanto, entre um e outro existe uma relação lf / ls que pode ser empregada substitutivamente.
Ademais, a curvatura máxima Kmax não depende de 𝑠̃ . Assim, essa curvatura máxima pode ser
reescrita, na forma de adimensionais, como:
38
1 𝑙𝑠 𝑆𝑈 𝑙𝑓 𝐸𝐴
𝑘̃𝑚𝑎𝑥 = 𝑓 ( , , , ,𝜇 ) 2-21
𝜆𝑡 𝑙𝑓 𝑤 𝑤𝑙𝑓 𝑥
A função f(...) não é, a priori, conhecida, mas ela pode ser aproximada mediante
regressões, desde que exista uma base de dados suficientemente grande para uma boa calibração
de parâmetros. A construção dessa base de dados depende da análise paramétrica, mediante
simulação numérica, de um sistema de risers, cujo pormenores serão apresentados nos próximos
capítulos desse trabalho.
l’ = T0/w 2-22
dθ 𝑞 𝑇𝑠 dθ
(𝑠) = 𝜒1 (𝑠) → 𝜒1 (𝑠) = ( ) (𝑠) 2-25
ds 𝑇𝑠 𝑞 ds
O sentido físico, segundo a ref. [6], do parâmetro In reside no fato, de que, desde que o
deslocamento dinâmico lateral é proporcional a curvatura estática (𝜈(𝑠) ∝ 𝜒1 ((𝑠)), então a
força de inércia, integrada ao longo do comprimento suspenso, será proporcional ao I2, com
fim de preservar a energia cinética lateral do duto. Pelo mesmo motivo, a integração do
amortecimento viscoso deve ser proporcional ao parâmetro I3 para que se preserve a perda de
energia presente no movimento lateral.
Isso impõe que existe uma força de restauração, como já mencionado acima, relativa a
reação do riser quando sofre um deslocamento de topo. Essa reação pode ser de dois tipos:
reconfigurar a geometria da catenária ou distender o riser. A razão desses dois comportamentos
da força de restauração é crucial na dinâmica dos risers e é explicada pelo fator:
1 1
𝑤𝑙 12 𝐸𝐴 2 𝑙 2
𝛬= 𝐼2 ( ) ( ) 2-27
𝑇𝑠 𝑇𝑠 𝑙 + 𝑙´
40
Para um cabo em que o ângulo da extremidade superior é quase vertical (logo wLs≅Ts),
o parâmetro ≫1, pois EA/Ts ≫1. Tipicamente risers frouxos têm ≈ 50Para um riser
quase vertical, então ≈ 5
̇ + [𝐾][𝑈] = [𝐹]
[𝑀][𝑈̈] + [𝐵][𝑈] 2-29
... onde: [M] = matriz de inércia do sistema físico que experimenta os deslocamentos;
[U]= vetor de acelerações generalizadas; [B]= matriz de amortecimentos; [K]= vetor de
̇ e [U] = matriz de aceleração, velocidade e deslocamento,
velocidades generalizadas e [Ü] , [U]
respectivamente.
...que atua na direção da tangente do duto. O deslocamento U (t) é causado pelas ações
das ondas na unidade flutuante e é importante para determinação da tração dinâmica TD (s, t),
causada por esse deslocamentos [7].
41
Diâmetro D (s);
Rigidez EA (s);
11
m;m𝑎 = ∫[𝑚(𝑠);m𝑎 (𝑠)] 𝜒12 (𝑠)ds 2-31
𝐼2 𝑙
Note que a massa local é multiplicada pela curvatura adimensionalizada, que funciona
como um “coeficiente de peso”.
4m𝑎
D=√ 2-32
ρπ
O peso médio do duto é determinado diretamente pela integral, sem contemplar nenhum
adicional na sua estrutura:
1
w= ∫ 𝑞 (s)ds 2-33
𝑙
1 1 1
= ∫ 𝑑𝑠 2-34
EA 𝑙 EA(s)
42
11 𝐷(𝑠)
𝐶D,0 = ∫ 𝐶𝑑 (𝑠) |𝜒1 (𝑠)|3 ds 2-35
𝐼3 𝑙 𝐷
11 (𝑠)
𝐶𝐷,𝑐 = ∫ Cd (𝑠)𝐷 [𝜒 (𝑧(𝑠))cos𝜃(𝑠)]𝜒12 (𝑠)ds 2-36
𝐼𝑐 𝑙 𝐷 𝑐
Deve-se notar que os coeficientes de arrastos devem ser usados em condições do ambiente
marinho diferentes. Logo, o coeficiente CD,0 é usado na ausência de uma correnteza marinha,
mas sim quando há um movimento de topo da unidade flutuante e em caso de vibração do riser.
Já o coeficiente CD,c é usado em casos de uma forte correnteza.
8 2CDo ρπD2 ⁄4 Ts 𝐼3 𝜎𝑢
𝜁0 = 2-37
3π 𝜋 m+m𝑎 wl 𝐼22 𝐷
Cd𝑐 ρπD2 ⁄4 𝑉𝑐 𝐼𝑐
𝜁𝑐 = 2 2 2-38
𝜋 m+m𝑎 ωD 𝐼2
1 𝑈𝑜
𝜎𝑢 = [𝑈 2 (𝑡)]2 = 2-39
√2
...e
𝑈0
a= 2-40
𝜎𝑢
43
Na sequência mostrada acima dos dois tipos de resposta de restauração que um riser pode
apresentar sob um deslocamento imposto, as frequências associadas a essas forças de
restauração são:
𝜋 𝑇𝑠
𝜔𝑐 = √ 2-41
𝑙 𝑚 + 𝑚𝑎
𝜋 𝐸𝐴
𝜔𝑒 = √ 2-42
𝑙 + 𝑙´ 𝑚
Este valor serve para indicar se a excitação da onda está próxima da frequência natural
de referência para vibração do duto. Se por acaso acontecerem excitações constantes e o
𝜔
quociente for próximo de um, as amplitudes podem aumentar gradativamente até que a
𝜔𝑒
estrutura se rompa. Se este valor for pequeno ou maior, não será preciso se preocupar, pois
estará fora da ressonância.
Para ilustrar os modos das forças de restauração, ARANHA E PINTO [7] mostram que,
𝜔
para mesmo valor de 𝜔 , a frequência reduzida tornar-se-á alta para dutos tensionados, logo o
𝑒
congelamento” do duto na sua posição estática, onde o deslocamento imposto são absorvidos
elasticamente (tração dinâmica pode ficar alta).
𝑇𝐷 (𝑠)
𝜏𝐷 (𝑠) = = 𝜏(𝑠)𝑒 −𝜑𝑖(𝜔;𝑠) 2-46
𝑇𝑒
1⁄2
2
𝑐1 (𝑠) (√𝑏 2 (𝛺) + (𝜙)𝑎2 − 𝑏(𝛺)) + 2c2 (𝑠) (√𝑏 2 (𝛺) + (𝜙)𝑎2 − 𝑏(𝛺))
𝜏(𝑠) = [ ] 2-47
(𝜙)
[ ]
Onde:
Φ=(4ζ20 ⁄𝛺 4 ) 2-48
Os fundamentos do método de elementos finitos são descritos por vários autores como
ZIENKIEWICZ e TAYLOR[12] e COOK[11]. Métodos mais sofisticados para lidar com
não-linearidades são descritos de forma simplificada em CUSTÓDIO[13] e de modo mais
detalhado em CRISFIELD[14]
46
No domínio de cada elemento, o método usa uma interpolação polinomial por intervalos
para determinar o equilíbrio dessa unidade, o que corresponde à minimização de um funcional
de erro sobre a energia de deformação ou medida de mesmo efeito. Porque essa determinação
é baseada em uma função interpoladora que usualmente não replica totalmente a lei física que
governa o sistema real, o MEF raramente provê resultados exatos, mas ele gera resultados
suficientemente aproximados. O equilíbrio do elemento depende de grandezas que precisam ser
determinadas em locações internas chamadas de nós, que podem servir também como pontos
de interligação entre dois ou mais elementos. As grandezas, calculadas nos nós, que permitem
o menor erro das funções interpoladoras são as incógnitas que o MEF busca calcular.
[K].[U]=[F] 2-52
A matriz de rigidez global [K] é montada a partir da soma e dos acoplamentos advindos
das matrizes de rigidez de cada elemento [Kij]. Cada um dos números dentro dessas matrizes
define uma relação entre as forças internas [fi] e os deslocamentos internos [uj] para cada “grau
de liberdade” dentro da formulação do elemento. Os vetores de forças [F] e de deslocamentos
[U] generalizados também são produzidas a partir desses subvetores de forças internas nos
elementos [fi]e deslocamentos internos [uj]. Um exemplo de aplicação das matrizes de força e
deslocamentos para a formulação de um elemento de viga simples bidimensional é:
47
… onde: EI= módulo de rigidez à flexão da seção transversal do elemento; EA= módulo
de rigidez à tração do elemento; L= comprimento do elemento; u1, u2= deslocamentos nas
extremidades; 𝜃 = rotação na extremidade; f1, f2= tração e cortante nas extremidades; m=
momento fletor nas extremidades.
̇ + [𝐾][𝑈] = [𝐹]
[𝑀][𝑈̈] + [𝐵][𝑈]
O solo é modelado como uma superfície analítica “rígida” (que permite certa penetração)
com todos seus movimentos bloqueados. Essa superfície é plana e tem dimensões muito
maiores que o comprimento total do duto.
Qu=qu.B 2-55
qu = NC SU + Zp 2-56
Onde refere-se ao peso do solo submerso. Desde que a pressão de sobrecarga do riser
seja zero, o segundo termo na equação (3-5) pode ser então ignorado. Supõe-se que a tensão de
cisalhamento do solo marinho argiloso SU cresce linearmente com a profundidade zp na equação
(3-6).
𝑧𝑝
𝑁𝐶 = 𝑀𝑖𝑛 [(1 + 0,23√ ) , 7,5] 2-59
𝐵
O atrito com o solo no trecho assentado deve ser incorporado ao modelo, mesmo que
usando um método simples como a Lei de Amonton-Coulomb.
Os efeitos de torção ou flexão fora do plano não são relevantes e podem ser descartados.
Os efeitos de rigidez geométrica (redução das flechas e das curvaturas causada pelo efeito
de uma tração na seção) precisam ser admitidos no modelo numérico.
A fim de chegar aonde o modelo de catenária não foi, o modelo deve promover
representação correta da relação momento fletor × curvatura no trecho junto ao touchdown
point (TDP), o que usualmente exige que as rotações nodais sejam consideradas como graus de
liberdade do problema.
Para curvaturas pequenas (raios de curvamento maiores que 0,5 m), não é importante o
tratamento da redução da seção transversal causada pela sua ovalização. Porém, essa
simplificação deve ser rediscutida no caso de curvaturas grandes.
figura 9, com o cuidado de assegurar a existência de uma tração efetiva para que os efeitos de
rigidez geométrica se manifestem. O modelo é inerentemente não-linear, embora as não-
linearidades sejam geométricas e não físicas. Uma formulação de atrito mais simples (lei de
Amonton-Coulomb) pode ser adotada para tratar a interação tangencial entre o duto e o solo.
As cargas externas de peso e empuxo são aplicadas como forças equivalentes distribuídas.
Mesmo no tratamento analítico, a carga w já era um “peso molhado distribuído”, resultado da
soma de peso próprio do duto e peso do fluido interno, deduzida do empuxo hidrostático. Essas
forças distribuídas são definidas na interface do software de elementos finitos e
transparentemente transferidas para os nós ou tratadas pela formulação dos elementos.
Ao invés de aplicar uma carga vertical no topo para forçar a criação da catenária, uma
estratégia diferente foi tentada e mostrou assegurar uma maior garantia de convergência. Em
um passo de carga inicial, o duto é assentado sobre o solo, fechando pares de contato que
impedem os movimentos de corpo rígido na direção vertical. Logo em seguida, o peso w é
aplicado, conjuntamente à força horizontal T0. Apenas em seguida uma das extremidades do
riser é erguida do solo, mediante controle de deslocamento.
55
Por causa da restrição supracitada, várias tentativas para uma malha suficientemente boa
foram feitas. A recomendação mais convencional é que ela seja mais refinada na vizinhança
de regiões com maior gradiente dos deslocamentos ou de seus derivados (deformações,
curvaturas, tensões etc). Porém, ao longo do erguimento da extremidade de topo, a região de
curvatura máxima e o touchdown point (TDP) se deslocam desde o topo da coluna, no início
da simulação, até sua posição final no fim da simulação. A maioria dos elementos, então, é
distribuída ao longo dessa região passível de estar no touchdown point e, por exclusão, um
pequeno número de elementos é colocado no trecho que jamais se afasta do solo para completar
o número de 1000 nós permitidos pela versão do ABAQUS para estudantes.
56
Figura 15 -- MEF para simulação de um riser em catenária – Riser com o topo na LDA
60
4. ANÁLISE PARAMÉTRICA
Como dados de entrada passíveis de variação nas simulações numéricas, foram usados os
seguintes parâmetros:
Diâmetro externo.
Relação D/t.
Fator de atrito.
Projeção vertical ou LDA.
Ângulo de topo pretendido no fim dos incrementos de carga
Resistência ao cisalhamento do solo não-drenado (RCSD).
Espessura.
Ângulo de topo instantâneo para cada incremento de carga.
Comprimento suspenso teórico.
Diâmetro interno.
Área de aço da seção transversal.
Rigidez à flexão (EI) da seção transversal.
Rigidez à tração (EA) da seção transversal.
Massa de aço por unidade de comprimento da seção.
Massa de água por unidade de comprimento no interior do duto.
Peso seco distribuído (derivado da massa de aço e da massa de água no interior).
Empuxo distribuído.
Peso molhado por unidade de comprimento.
61
Início
1 2
LEITURA NO R
DEFINIÇÃO DOS SUBMISSÃO DA TABELA DE
PARAMETROS DO JOB NO RESULTADOS
DE ENTRADA ABAQUS
ESPERA DO FIM
DA RODADA ADIMENSIONALIZAÇÕES
DEFINIÇÃO
INTERVALOS DE
VARIAÇÃO
CÁLCULO DE
COEFICIENTES
LEITURA DOS CORRELAÇÃO
MONTAGEM DOS RESULTADOS
CASOS DO ABAQUS
MONTAGEM DE
MATRIZES DE
CORRELAÇÃO
EMBARALHAMENTO
DOS CASOS
PÓS- PROCESSAMENTO
BÁSICO DE COLETA DE
MÁXIMOS NO TDP GERAÇÃO DE
GRÁFICOS
CONSTRUÇÃO DO
MODELO
CALIBRAÇÃO DE
GERAÇÃO DE TABELA REGRESSÃO
1 DE RESULTADOS
FIM
2
63
A simulação visava um teste quase cego, em que os dados de entrada eram valores
aleatórios dentro de uma faixa de validade. Idealmente, os dados de entrada preferencialmente
buscam uma distribuição quase uniforme, aleatória, no entorno de uma região de trabalho. Na
prática, entretanto, foi necessário segmentar as faixas de aplicação no entorno de valores
discretos de parâmetros de entrada, que não são muitos, pois havia valores de interesse especial
em torno dos quais era indispensável dispor de resultados. Outro entrave para uma melhor
distribuição dos dados de entrada se encontra na inviabilidade de ensaiar numericamente todos
os pontos do universo amostral planejado. As combinações possíveis eram centenas de
milhares, mas, no tempo de apresentação desse trabalho, menos de 20% puderam ser rodados.
Finalmente, uma deformação na distribuição de algumas das variáveis decorreu do
aproveitamento de resultados de condições intermediárias de equilíbrio, sendo que esse
aproveitamento foi intencionalmente limitado para que esses efeitos não fossem excessivos,
como será explicado adiante. A fim de avaliar a severidade dessas imperfeições das
distribuições sobre os resultados, foi preciso examinar primeiramente os histogramas dos dados
de entrada e depois também de alguns dados intermediários, gerando a cognição indispensável.
O recurso à linguagem Python surge então, não só para automatização, mas também
porque é uma linguagem de alto nível, com tipos de dados e bibliotecas sofisticados, e
principalmente porque ela está muito integrada ao próprio Abaqus/Standard. Uma característica
dessa integração é que a entrada de comandos na interface pode ser diretamente feita com
comando em Python e, alternativamente, as ações interativas usando mouse e operações na tela
produzem elas mesmas uma sequência de comandos em Python, que podem ser relidos.
Uma segunda opção é não usar o Abaqus/CAE para gerar um modelo prévio, mas
construir todo o modelo numérico sem maior interação com a GUI. Essa alternativa aumenta
significativamente a possibilidade de erros e retrabalhos, a maior dificuldade é que a
probabilidade de perda de convergência do modelo é muito grande. Foram empregados alguns
70
recursos do Python para isolamento dos blocos de código potencialmente arriscados e para
assegurar que o tratamento das situações de perda de convergência seria eficaz, usando os
comandos em blocos como “try: / except”.
Embora o índice de sucesso na construção de modelos usando a interface GUI seja maior,
a criação interativa e o enxerto em um código em Python mais sofisticado não são garantia
definitiva de que todos os modelos numéricos convirjam. Assim, para maior facilidade e em
consenso com orientador, decidiu-se criar um modelo a partir do GUI e alterar sua estrutura
usando as codificações em Python.
A criação do modelo para automatização foi colocada num bloco de rodada, seguindo o
objetivo de variação dos parâmetros mostrados na análise dimensional. Essa análise de
sensibilidade alterando os parâmetros de governo descritos na seção 4 são colocados no script
em Python. Os casos de análise são armazenados em uma lista chamadas ‘Cases[]’, estrutura
inicialmente vazia.
do riser, o fator de atrito, af_atr, diretamente na interação duto solo, fazendo reação a
componente horizontal da tração.
A partir desse ponto, a lista Cases já não é mais uma “caixa” vazia, agora comporta a
tupla descrita no Cases.append(caso), o que possibilita mapear o número de simulações do
modelo, usando o comando “len” que dirá quantos casos haverão de ser executados, com o
número de casos “nCases” recebendo essa quantidade. A estrutura de variação paramétrica
totalizou 22600 casos executados. Isso enxerta a possibilidade de criar modelos do
Abaqus/CAE dentro desse inventário de casos.
Na primeira versão do script, todos os modelos eram rodados na mesma ordem em que
a lista Cases foi montada. Essa estratégia gerou problemas, porque eventualmente alguns
modelos paralisavam o script e, na reexecução a mesma sequência de casos era rodada,
diminuindo a variabilidade e desperdiçando tempo de máquina. Uma forma alternativa de
trabalhar foi embaralhar os elementos dentro da lista Cases. A aleatoriedade foi criada no
modelo pelos comandos “random.randrange() & random.seed()” . Em situação que o software
pare de executar, uma nova chamada de execução provavelmente não repetirá os casos que já
foram rodados. Uma nova execução do script acrescenta (append) de dados de rodadas novas
no arquivo de resumo dos resultados.
“(...)
Lsusp=LDA/(math.sqrt(1+tanA_T*tanA_T)-tanA_T)
(...)
LatritoSolo = Tx/(-Pe)/f_atr
72
if (LatritoSolo+Lsusp) > L:
(...)”.
“(...)
SoloStiff=((0.0,0.0),)
zp = De*(izp/20.0)
if zp<De/2:
Bp = 2.0*math.sqrt(De*zp-zp*zp)
else:
Bp = De
Nc = min(5.14*(1.0+0.23*math.sqrt(zp/Bp)), 7.5)
Su = Su0 + Sug*zp
qu = Nc*Su
Qu = qu*Bp
“(...)
Model2.ContactProperty('Int-Cont-Solo-duto')
Model2.interactionProperties['Int-Cont-Solo-duto'].NormalBehavior(\
pressureOverclosure=TABULAR, table=soloStiff,
maxStiffness=None, constraintEnforcementMethod=DEFAULT)
(...)”.
“(...)
Model2.interactionProperties['Int-Cont-Solo-
duto'].TangentialBehavior(formulation=PENALTY,directionality=ISOTROPIC,
slipRateDependency=OFF,pressureDependency=OFF,temperatureDependency=OFF,
dependencies=0, table=((f_atr, ), ), shearStressLimit=None,
maximumElasticSlip=FRACTION,fraction=0.001,
elasticSlipStiffness=None)
(...)”.
“(...)
Model2.rootAssembly.Surface(side2Edges=InstDuto1.edges, name='Surf-duto')
Model2.SurfaceToSurfaceContactStd(adjustMethod=OVERCLOSED,\
clearanceRegion=None,createStepName='Initial',datumAxis=None,\
initialClearance=OMIT, interactionProperty='Int-Cont-Solo-duto', \
slave=Model2.rootAssembly.surfaces['Surf-duto'],name=\ 'Int-Cont-Solo-
duto',master=Region(side1Edges=InstSolo.edges),\ sliding=FINITE, thickness=ON)
74
(...)”.
O valor do coeficiente de correlação XY varia de -1 até 1. Quanto mais alto o módulo
desse coeficiente, maior é a relação de dependência entre as duas variáveis. Caso as variáveis
não tenham nenhuma relação entre si (sejam completamente independentes), a correlação será
zero.
A primeira coluna representa a função de correlação dos parâmetros, nessa mesma coluna
é evidenciado a “ fraca” correlação dos parâmetros na forma dimensional com curvatura
dimensional. É de ressaltar também que os efeitos da resistência ao cisalhamento do solo não
tiveram nenhuma correlação com a curvatura dimensional, o mesmo com o fator de atrito. A
tangente do ângulo de topo, embora seja um adimensional “por natureza”, foi o que tinha uma
correlação razoável com a curvatura, preservando assim que a lei física de que a curvatura é
inversamente proporcional ao ângulo de topo.
Portanto, é preciso admitir a inexistência de uma boa correlação dos parâmetros de saída
nas suas formas dimensionais mapeados na figura 23 por si só – sem nenhum tratamento de
adimensionalização – com a curvatura do riser. Embora a física e a intuição mostrem a
existência de relação entre a tração e a curvatura no TDP, ainda assim, é difícil a percepção
dessas afinidades intrínsecas sem nenhum tratamento prévio. Pela alta dispersão dos pontos na
figura 24 (gráfico de MBR – inverso da curvatura máxima – contra a tração no TDP) é difícil
antever métodos simples de predição de comportamento entre as duas variáveis. Para melhor
compreensão de leis de formação da curvatura em função das variáveis de governo, requer o
uso de métodos de pós-processamento, inclusive análise dimensional.
77
A simulação em Python, feita como supracitado, gerou uma enorme quantidade de dados
(APÊNDICE III) que, por si só, se tornaram de difícil interpretação. São muitas medidas
relevantes para compreensão dos fenômenos envolvidos: valores da tração, esforço cortante,
resistência ao cisalhamento do solo, etc. A tarefa de identificar as possíveis leis de formação
entre os parâmetros que afetam o curvamento no TDP é árdua, pois (a) o volume de dados
envolvidos é massivo; (b) as relações entre eles não são óbvias; (c) a aparente dispersão
experimental é muito grande. Para contornar o problema da interpretação e eventual descarte
nos resultados de experimento numérico, é necessário um processamento desses dados,
mediante técnicas de análise dimensional, como mostradas na seção 2.4 e nas equações de
grupos de s.
Então, os parâmetros de governo podem ser arrolados em uma matriz de correlação dos
grupos adimensionais formados primeiro pelo comprimento de influência global (ls –
representado pela letra “a” antes da variável), e os grupos adimensionais relacionados com o
78
comprimento de influência local (lf – representados pela letra “b” antes das variáveis) do
curvamento no TDP, de acordo com as equações adimensionais 2.16 e 2.17. Isso facilita as
análises, visualizações e inferências relacionadas à curvatura, tanto ao nível global da estática
da catenária como na escala local (TDP).
Em uma primeira análise dos parâmetros de escala global, pode se concluir que existe
uma relação fraca entre a curvatura máxima e a resistência ao cisalhamento do solo não drenado,
o que minimiza os efeitos do solo na formação da curvatura global do riser. Porém, quando a
adimensionaliza-se pelo parâmetro de influência local, ela corresponde com uma relação
razoável, evidenciado assim que o solo pode ter efeitos na curvatura localmente. É interessante
essa dependência da curvatura máxima com solo, pois se trata de um ponto de tangência[6] e
em [6] levanta-se a questão de correto modelo de solo, porque normalmente é modelado o solo
como superfícies rígidas analíticas, sem penetração. Esse modelo torna-se um ponto de
descontinuidade de curvatura, o que leva a alguns erros.
79
catenária perfeita em termos de resposta global ignora o termo do cortante, mas limita essa
resposta das extremidades onde há efeitos de flexão são válidos, como mostra a figura 25 em
boa correlação. A confirmação analítica não será contemplada nesse TCC.
Os efeitos da tração e cortante no TDP foram que mais apresentaram melhores correlação
com a curvatura máxima adimensionalizada e mínimo raio de curvatura, representados na figura
25. Porém, se o objetivo é criar predições simples e rápidas da curvatura no TDP, a tração no
TDP torna-se um parâmetro que satisfaz essa premissa de simplicidade, porque a obtenção do
cortante no TDP não é conseguida por métodos diretos analíticos, ela é mais rebuscada e requer
métodos analíticos sofisticados ou só pode ser obtido por elementos finitos, enquanto que a
tração no TDP é facilmente obtida na equação da catenária.
Essa razão (ls/lf) é interessante na medida que traz a confirmação, do que fora predito
nesse TCC, que a curvatura adimensionalizada no TDP (local) é maior que a curvatura da
catenária (global). A figura 26 mostra essa relação entres as curvaturas formadas por esses dois
comprimentos. Na figura, podemos enxergar que a curvatura no TDP é maior que a curvatura
da catenária, isso pode explicar as limitações colocadas nesse ponto de toque no solo
81
A curvatura dentre outros fatores é regida fortemente pela tração de topo, na qual,
responde com maior curvatura para baixas trações e tende a reticular quando essas trações
aumentam. É sabido que o maior contribuinte da tração do topo é a tração vertical ao longo de
todo comprimento suspenso. Porém, no TDP a tração é governada apenas pela tração horizontal
e sendo um ponto crítico torna-se interessante visualizar os efeitos da tração nesse ponto.
A tração no TDP adimensionalizada (bT0), figura 27, mostrou ter maior relação com
curvatura em comparação a tração no TDP (aT0) da escala global. Isso é melhor visualizado na
figura 27 que as relaciona com o mínimo raio de curvatura (MBR). Da figura 28, pode-se
concluir que a curvatura máxima é mais sensível as variações da tração no TDP na escala local.
82
Ainda assim a dependência do MBR pela bT0 não é muito clara, até pelo fato da figura 28 ter
na abcissa a tração adimensionalizada pela escala global
A fim de clarear mais a relação do MBR e a tração no TDP na escala local, colocar-se-á
as duas variáveis como os limites do gráfico. O que possibilita melhor visualização da relação
existente. Na figura 28, observar que há uma relação quase que na divisória da linha de 45
graus. Fazendo uma predição simples, como a linear, observa-se que o MBR pode ser
estimado a partir da tração no TDP na escala local. O contrário acontece com a tração no
TDP pela escala global, cujo os efeitos, comparativamente com escala local, são irrelevantes.
83
Para melhor averiguar a predição do MBR, se será válida para todos os pontos na figura
28, é necessário fazer uma redução das coordenadas para saber a abrangência da regressão. A
figura 29 mostra a redução do espaço amostral apresentada na figura 28, nela é visível que
apenas dois pontos estão fora da linha da regressão, e ainda assim a regressão do MBR tem
validade para a maioria dos pontos.
84
Uma proposta desse TCC consiste em criar uma função de governo que seja
suficientemente boa e representativa da curvatura: tanto no domínio do comprimento suspenso,
ou então uma boa predição para curvatura no TDP. Essa função para que seja válida nesse
TCC, deve englobar os parâmetros de governo ou alguns dos parâmetros que apresentam
perturbações significativas na formação da curvatura no TDP.
A figura 30 mostra uma predição, ainda linear, para MBR no TDP, com a linha à 45 graus
proveniente na predição de elementos finitos. A figura contempla uma abrangência para os
valores mais baixos do MBR. Vale à pena ressaltar que o novo nessa figura é os vários
parâmetros que ele traz na sua estrutura. Ou seja, com a regressão apresentada na figura é
possível predizer qual será a máxima curvatura no TDP através de combinações de efeitos das
trações no TDP, efeito da resistência do solo, atrito e rigidez axial duto.
85
Como principal resultado da investigação nesse trabalho de conclusão de curso, então, foi
gerada a regressão:
1
𝑀𝐵𝑅 ≡ 𝐾̃ = 1,15 + 1,00𝑇̃0 + 3,65 × 10−7 𝐸̃ 𝐴 − 7,794 × 10−2 𝜇 − 1,417 × 10−4 𝑆̃𝑈 5-2
... onde todos os adimensionais já foram definidos previamente, com escala local dada
𝐸𝐼
por fatores 𝑙𝑓 = √𝑇 e peso distribuído w. A forma como essa escala local é montada, no
0
ARANHA E PINTO [7] apresentam uma linha de pesquisa muito interessante no assunto,
supondo que um riser se encontra entre dois limites – o de um cabo retesado ou de um cabo
frouxo –, em que há modos de vibração transversal e axiais e um amortecimento proporcional
à curvatura. O modelo proposto por aqueles pesquisadores da USP emprega vários resultados
da análise estática como a tração e integrais da curvatura como dados de entrada. A maior parte
desses parâmetros pode ser calculada no estudo paramétrico, embora uma estimativa do fator
de amplificação dinâmica – que seria de grande interesse técnico – não tenha sido obtido,
principalmente pois exigiria um processamento mais abrangente, incorporando a excitação de
topo (período e amplitude) como novos parâmetros, que aquele viável de fazer no tempo para
entrega do trabalho (apêndice A).
87
6. CONCLUSÃO
O trabalho cumpriu a maioria das suas propostas. A estruturação do problema sob formas
que evidenciassem parâmetros que governariam a curvatura no TDP possibilitou, ainda com a
menor amostragem do que a sugerida, criar inferências que refletiram em boas predições que
possibilitaram escrever a curvatura no TDP em função de vários outros parâmetros que
facilmente podem ser obtidos na equação da catenária livre e, através deles, poder predizer qual
a curvatura no TDP, que é o parâmetro cujo a determinação não é tão direta.
Em suma, a auferia da pesquisa foi ter criado os dados paramétricos que podem ser
consultados e comparados em fase de engenharia conceitual pela comunidade técnica em
problemas de risers oceânico; relacionou a curvatura com diversos parâmetros e formulou a
equação para sua obtenção; houve também relevante capacitação em matérias de simulações e
modelagens numéricas, análise estrutural em elementos finitos e pós-processamento massivo
usando diversos softwares.
89
REFERÊNCIAS BIBLIOGRÁFICAS
[3] MORAIS, J.M. Petróleo Em Águas Profundas: Uma História Tecnológica Da Petróbras
Na Exploração E Produção Offshore, Brasília, Petrobras,2013
[4] BAI, YONG & BAI, QIANG, Subsea Estrutral Engineering, Houston,USA,Elsevier,2010
[5] MOURELLE, M. M., GONZALEZ, E. C., AGUIAR, L.L. Aspecto Prático Sobre Análise
Globais De Risers Flexíveis E Rígidos Através Do Anflex, Rio de Janeiro,Petrobras 2004
[7] ARANHA, J.A.P & PINTO, M.O., Dynamic tension in risers and mooring lines: an
algebraic approximation for harmonic excitation, São Paulo, Elsevier, 2001
[9] KUNDU, P. K. & COHEN, I. M., Fluid Mechanics, 2ªed., USA, Elsevier 2002
[10] RAO, S. S., Vibrações Mecânicas, 4ª ed., São Paulo, Pearson, 2009
[11] COOK, R.D., Finite Element Modeling for Stress Analysis, John Wiley & Sons Inc, 1995
[12] ZIENKIEWICZ, O.C., TAYLOR, R.L., The Finite Element Method - Volume 1: The
Basis, 5th ed., Butterworth-Heinemann, 2000
[13] CRISFIELD, M.A., Non-Linear Finite Element Analysis of Solids and Structures, Vo-
lume 1: Essentials, John Wiley & Sons, 1991
[14] CUSTÓDIO, A.B., Notas de aula do curso de Elementos Finitos para Engenharia Sub-
marina, Universidade PETROBRAS, setembro de 2014.
[15] HAR, C. G., Riser Dynamics Involving Seabed Interaction: Master Degree Tesis,
National University of Singapure, 2007
90
O valor pode ser calculado facilmente a partir da base de dados obtida nas simulações
numéricas. De acordo com o artigo, valores em torno de 5 implicam em cabos retesados e um
cabo frouxo tipicamente tem LAMBDA em torno de 50.
Ts I3
ζ0 =
wLs I22
1 sin 𝜃𝑠
𝐼2 = (𝜃𝑠 + )
sin 2𝜃𝑠 2
1 1 sin 𝜃𝑠 sin 𝜃𝑠
𝐼3 = . (3𝜃𝑠 + + )
4𝑐𝑜𝑠𝜃 𝑠 sin 2𝜃𝑠 2 4
94
Essas equações foram comparadas nos gráficos 34 e 35 com o resultado gerado no modelo
numérico e integrado por método trapezoidal. Os métodos de estimação das componentes I2 e
I3 mostrados pelo professor Aranha [16] contra o I2 e I3 mostrados gerados pela simulação
apresentaram disparidade, a formulação da [16] é ligeiramente maior, que remete de poder
haver um superdimensionamento, pois tinham que coincidir na linha de 45º, ou ainda como o
método de trapézio para resolução de integral admite mais erros do que outros, como os de
Simpson, a resolução no modelo numérico requerer assim formulações mais sofisticadas para
lidar com essa disparidade nos dois gráficos.
for i in range(0,nCases*2):
z1 = random.randrange(0,nCases)
dum0 = Cases[z1]
random.seed()
z2 = random.randrange(0,nCases)
Cases[z1] = Cases[z2]
Cases[z2] = dum0
pass
##
##Abre e cria um arquivo que recebera os arquivo de saida.
##
fout = open(writeOutputFile,'a+')
##
## Escreve um cabecalho para o arquivo, a fim de identificar as colunas
##
if fout.tell()==0: # se o arquivo esta zerado, escreve o cabecalho
# Grava dados de entrada
fout.write('%15s %15s %15s %15s %15s '%('DiamExt', 'Espessura',
'FatorAtrito', 'LDA', 'AnguloTopo'))
fout.write('%15s %15s %15s %15s '%('LsuspTeor', 'DiamInt', 'AreaAco',
'EI'))
fout.write('%15s %15s %15s %15s %15s '%('EA', 'Paco', 'Pagua',
'Psecototal', 'Empuxo'))
fout.write('%15s %15s %15s %15s %15s'%('Pmolhado', 'Su0_Sug_solo', 'Tx',
'LatritoSolo', 'tanA_T'))
fout.write('%15s %15s'%('SoloRecalq', 'Penetracao'))
# Grava dados de resultados do modelo numerico
fout.write('%15s %15s %15s %15s %15s '%('SF1_tdp', 'SF2_tdp', 'k_tdp',
'SF1_topo', 'SF2_topo'))
fout.write('%15s %15s %15s %15s %15s '%('SF1_endB', 'angRealTopo',
'tanAngReal', 'LrealSolo', 'LrealSusp'))
fout.write('%15s %15s %15s %15s %15s '%('k_max', 'nodeKmax', 'nodeTDP',
'X_topo', 'Y_topo'))
fout.write('%15s %15s %15s '%('Ik_1', 'Ik_2', 'Ik_3'))
fout.write('%15s %15s %15s %15s '%('Isk_2', 'Isk_3', 'Ick_2', 'Ick_3'))
fout.write('%15s %15s %15s %15s '%('X_curvMax', 'Y_curvMax', 'X_TDP',
'Y_TDP'))
# Coloca o tempo de simulacao em segundos
fout.write('%15s %15s '%('TempExec','StepFrame' ))
fout.write('\n') # encerra a linha
##
##
## Execucao dos casos
##
##
for i in range(nCases):
#
# testa se existe um arquivo chamado STOP no diretorio... Se existir,
nao roda mais nada.
if os.path.exists('STOP') or os.path.exists('STOP.txt'):
continue
dum0=Cases[i]
(De, td, f_atr, LDA, AngT, Su0)=dum0[0:6]
tanA_T=math.tan(AngT)
print "---------------------------------------------------------\n"
print "AngTopo=%6g Dext=%6.4g t=%6.4g mu_at=%6g LDA=%6g
Cstiff=%8g\n"%(\
AngT*57.3, De, td, f_atr, LDA, Su0)
###
99
##
##cria o ponto de referencia na superficie rigida
##
session.viewports['Viewport: 1'].setValues(displayedObject=Psolo)
Psolo = Model2.parts['solo']
##
##Cria o ponto de referencia da superficie rigida, garantir que o modelo
nao se
##movimente ao aplicar os passos de carga e restricoes ao movimento no duto
##
v1, e, d1, n = Psolo.vertices, Psolo.edges, Psolo.datums, Psolo.nodes
Psolo.ReferencePoint(point=Psolo.InterestingPoint(edge=e[0],
rule=MIDDLE))
a1 = Model2.rootAssembly
a1.regenerate()
##apaga o sketch do solo
del Model2.sketches['__profile__']
##
##cria o material de aco do modelo que sera assinando na parte de duto
##
Model2.Material(name='Steel')
Model2.materials['Steel'].Elastic(table=((E, 0.3), ))
##
##Cria um perfil que usa tipo de secao do Section-1,usando material de aco
##
Model2.PipeProfile(name='Profile-1', r=De/2, t=td)
Model2.BeamSection(name='Section-1',integration=DURING_ANALYSIS,\
poissonRatio=0.2, profile='Profile-
1',material='Steel', temperatureVar=LINEAR,\
consistentMassMatrix=False)
Pduto = Model2.parts['duto']
e = Pduto.edges
edges = e.findAt(((0,0,0 ),)) # selecionar duas vezes ou fazer por
instancia, pois ha parte sem propriedade, o
## mesh nao aceita dizendo os elemento sem
propriedade.
##Assina a secao ao duto
##
region = Pduto.Set(edges=edges, name='Set-1')
Pduto = Model2.parts['duto']
Pduto.SectionAssignment(region=region, sectionName='Section-1',
offset=0.0, \
offsetType=MIDDLE_SURFACE, offsetField='',
thicknessAssignment=FROM_SECTION)
Pduto = Model2.parts['duto']
e = Pduto.edges
edges = e.findAt(((0,0,0),))
region=Pduto.Set(edges=edges, name='Set-2')
##
##Assina a orientacao da viga, duto.
##
Pduto = Model2.parts['duto']
Pduto.assignBeamSectionOrientation(region=region, method=N1_COSINES,
n1=(0.0, 0.0,-1.0))
#: Beam orientations have been assigned to the selected regions.
a = Model2.rootAssembly
a = Model2.rootAssembly
a.DatumCsysByDefault(CARTESIAN)
##
101
slave=Model2.rootAssembly.surfaces['Surf-duto'], \
name='Int-Cont-Solo-duto', \
master=Region(side1Edges=InstSolo.edges), \
sliding=FINITE, thickness=ON)
##
## Define campos de saida adicionais
edges1 = Region(edges=InstDuto1.edges)
Model2.FieldOutputRequest(createStepName='Rising', name='FOutput-2-1', \
rebar=EXCLUDE, region=edges1,
sectionPoints=DEFAULT, \
variables=('U','SF','SE','CF','CDISP','COORD') )
Model2.rootAssembly.Set(edges=InstDuto1.edges, name='Set-duto-ALL-1')
edges1 = InstDuto1.edges.findAt(((0.1-L/2.0,0,0),),)
#Model2.HistoryOutputRequest(createStepName='Rising', name='HOutput-2-
1',\
103
# region=Model2.rootAssembly.sets['Set-duto-
ALL-1'], \
# sectionPoints=DEFAULT,
variables=('SK1','SF1','SF2','SM1'))
##
## cria as restricoes de movimento, neste engaste do ponto de referencia
da superficie rigida
##
a = InstSolo.referencePoints[InstSolo.referencePoints.keys()[0]]
Model2.EncastreBC(createStepName='Initial', localCsys=None, \
name='RP', region=Region(referencePoints=((a,),)))
#v1=InstDuto1.vertices.findAt(((L/2,0.0,0.0),))
##
##Aplica a carga de peso ao duto, paramentro a variar e
##
a = Region(edges=InstDuto1.edges)
Model2.LineLoad(name='Load-Peso-Molhado', createStepName='Weight',
region=a, comp2=Pe)
##
##Cria a restricao de movimento, cria engaste da exremidade do duto
##
a = Model2.rootAssembly
v1 =InstDuto1.vertices
verts1 = v1.findAt(((-L/2,0.0,0.0),))
region = a.Set(vertices=verts1, name='Set-4')
Model2.DisplacementBC(name='BC-eng_duto', createStepName='Initial', \
u1=0, u2=0, ur3=UNSET, region=region,
localCsys=None)
##
##Cria deslocamento na direcao vertical e restringe as demais...
##
a = Model2.rootAssembly
v1 = InstDuto1.vertices
verts1 = v1.findAt(((L/2,0.0,0.0),))
region = a.Set(vertices=verts1, name='Set-5')
Model2.DisplacementBC(name='BC-Elevacao', createStepName='Rising', \
region=region, u1=UNSET, u2=LDA, ur3=UNSET,
amplitude=UNSET, \
distributionType=UNIFORM, fieldName='',
localCsys=None)
##
##Aplicacao de carga concentrada horizontal positiva
##
a = Model2.rootAssembly
v1 =InstDuto1.vertices
verts1 = v1.findAt(((L/2,0.0,0.0),))
region = a.Set(vertices=verts1, name='Set-2')
Model2.ConcentratedForce(name='Load-Tracao_H', createStepName='Force',
region=region,\
cf1=Tx, distributionType=UNIFORM, field='',
localCsys=None)
##
## Cria malha para o duto
##
## Malha da parte de duto assentada no solo
edges1 = Pduto.edges.findAt(((-L*0.49,0,0),))
Pduto.seedEdgeByNumber(constraint=FINER, edges=edges1,
number=int(numElems*(0.25)))
## Malha de duto na parte do TDP e catenaria
104
edges2 = Pduto.edges.findAt(((L*0.49,0,0),))
Pduto.seedEdgeByNumber(constraint=FINER, edges=edges2,
number=int(numElems*(0.75)))
# gera malha
Pduto.generateMesh()
###
Model2.rootAssembly.regenerate()
##
##Cria o job
##
mdb.Job(atTime=None, contactPrint=OFF, description='', echoPrint=ON, \
explicitPrecision=SINGLE, getMemoryFromAnalysis=True,
historyPrint=ON, \
memory=80, memoryUnits=PERCENTAGE, model='Model-1',
modelPrint=ON, \
multiprocessingMode=DEFAULT, name=NomeAnalise,
nodalOutputPrecision=SINGLE, \
numCpus=4, queue=None, scratch='', type=ANALYSIS,
numDomains=4, \
userSubroutine='', waitHours=0, waitMinutes=0)
##
## coloca a abertura do odb dentro de um bloco de tratamento de erros +
ad para tracao de topo
## porque se o odb nao conseguir ser aberto, nao deve parar o script
try:
mdb.jobs[NomeAnalise].submit(consistencyChecking=OFF)
### verificar se a rodada foi bem sucedida
while (mdb.jobs[NomeAnalise].status==SUBMITTED or
mdb.jobs[NomeAnalise].status==RUNNING \
or mdb.jobs[NomeAnalise].status==CHECK_RUNNING):
mdb.jobs[NomeAnalise].waitForCompletion() # esperar o job
terminar
time.sleep(40) # da 40 segundos para o abaqus standard tentar
apagar os arquivos
pass
except:
print "Houve um erro na execucao do job em ", time.strftime("%a, %d %b
%Y %H:%M:%S +0000", time.gmtime())
try:
myOdb = session.openOdb(name=NomeAnalise+".odb")
except:
continue
rootAssembly = myOdb.rootAssembly
beamData = rootAssembly.elementSets[' ALL ELEMENTS'.upper()]
nodeData = rootAssembly.nodeSets[' ALL NODES'.upper()]
stepOut = myOdb.steps['Rising']
# Cria um dicionario que relaciona os labels dos elementos e uma tupla com
ponteiros para os objetos de nos
connectN = dict( (x,y) for (x,y) in map( lambda x: (x.label, x.getNodes()),
InstDuto1.elements) )
# cria um dicionario que relaciona os labels dos nos ao elementos conectados
neles
connectE = dict( (x,y) for (x,y) in map( lambda x: (x.label,
x.getElements()), InstDuto1.nodes) )
#
if debugVersion:
print "#Debug: entrada da leitura dos frames"
#
for fr1 in stepOut.frames:
105
timeStep = fr1.frameValue
print "Lendo o frame: ", timeStep
#
try:
datCoord =
fr1.fieldOutputs['COORD'].getSubset(region=nodeData).values
lcoord = map(lambda x: x.nodeLabel, datCoord) # label do no
associado as coordenadas
Xcoord = map(lambda x: x.data[0], datCoord) # posicao X dos pontos
de integracao dos elementos
Ycoord = map(lambda x: x.data[1], datCoord) # elevacao Y dos
pontos de integracao dos elementos
maxY = max(Ycoord)
if maxY<0.2*LDA:
# se o maximoY for menor que 20% da LDA, nao escreve no arquivo
de saida.
continue
kset = fr1.fieldOutputs['SK'].getSubset(region=beamData).values #
curvatura dos elementos
lkset = map(lambda x: x.elementLabel, kset) # label dos elementos
em kset
kset = map(lambda x:abs(x.data[0]), kset) # usa valores absolutos
Frc = fr1.fieldOutputs['SF'].getSubset(region=beamData).values #
tracao, cortante, etc dos elementos
lFrc = map(lambda x: x.elementLabel, Frc) # label dos elementos
em Frc
Udat = fr1.fieldOutputs['UR3'].getSubset(region=nodeData).values
lU = map(lambda x: x.nodeLabel, Udat) # label do nos
U = map(lambda x: x.data, Udat) # rotacao nodal
#
# Pesquisa informacao no ponto de curvatura maxima
#
kmax = max(kset)
ikmax = kset.index(kmax) # ponto da curvatura maxima
elkmax = lkset[ikmax] # label do elemento onde a curvatura
eh maxima
nlkmax = map( lambda x: x.label, connectN[elkmax] ) # labels dos
nos do elemento onde a curvatura eh max
#
if debugVersion:
print "#Debug: lidos dados de curvatura maxima"
#
# Calcula as integrais da curvatura
#
Ik1, Ik2, Ik3 = (0.0, 0.0, 0.0) # 1a, 2a e 3a integral de curvatura
Isk2, Isk3, Ick2, Ick3 = (0.0, 0.0, 0.0, 0.0) # 2a e 3a integrais
de curvatura com seno e cosseno da inclinacao
for idum0 in range(len(kset)):
idum1 = lkset[idum0] # label de elemento com curvatura
kk = kset[idum0] # valor da curvatura
idum2 = connectN[idum1]# ponteiro para os dois nos no extremo
do elemento
# comprimento do elemento
dlk = math.sqrt( math.pow(idum2[0].coordinates[0]-
idum2[1].coordinates[0], 2) + \
math.pow(idum2[0].coordinates[1]-
idum2[1].coordinates[1], 2) )
Ik1 = Ik1 + dlk * kk
Ik2 = Ik2 + dlk * kk * kk
106
Xcoord[lcoord.index(inTopo)], Ycoord[lcoord.index(inTopo)] ))
fout.write('%15g %15g %15g %15g %15g %15g %15g '%(Ik1, Ik2, Ik3,
Isk2, Isk3, Ick2, Ick3))
fout.write('%15g %15g %15g %15g
'%(0.50*(Xcoord[lcoord.index(nlkmax[0])]+Xcoord[lcoord.index(nlkmax[1])]),\
0.50*(Ycoord[lcoord.index(nlkmax[0])]+Ycoord[lcoord.index(nlkmax[1])]),\
0.50*(Xcoord[lcoord.index(inTDP[0])]+Xcoord[lcoord.index(inTDP[1])]),\
0.50*(Ycoord[lcoord.index(inTDP[0])]+Ycoord[lcoord.index(inTDP[1])]) ))
Por motivos de conformação, não foi possível incluir os dados da simulação nesse
trabalho. Porém, os dados da simulação podem ser consultados no CD.