Explorar E-books
Categorias
Explorar Audiolivros
Categorias
Explorar Revistas
Categorias
Explorar Documentos
Categorias
Catenária
1. Introdução
A configuração de Risers mais utilizada no Brasil é a Catenária Livre. Neste tipo de configuração
o riser fica apoiado no leito marinho e se eleva diretamente para a unidade de produção. Risers
flexíveis e rígidos podem ser utilizados na Catenária, porém os flexíveis possuem maior
utilização na indústria offshore brasileira devido às suas facilidades de instalação e operação.
Figura 1. Ilustração de uma Catenária Simples com a indicação do TDP. Fonte: Oliveira, 2017.
3. Estudos de caso
import numpy as np
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 1/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
from scipy import optimize
from matplotlib import pyplot as plt
q = 0.2165 #peso submerso (kN/m)
lc = 2800.0 #comprimento (m)
fh0 = 400.0 #força horizontal de topo (kN) para configuração de projeto
lda = 500.0 #lâmina d'água (m)
unF = 'kN'
unD = 'm'
a0 = fh0/q
xs0 = a0 * np.arccosh((lda+a0)/a0)
s0 = a0 * np.sinh(xs0/a0)
xa0 = lc - s0
xt0 = xs0 + xa0
print('Parâmetro da catenária = ','%10.3f' %a0, unD)
print('Projeção horizontal suspensa = ','%10.3f' %xs0, unD)
print('Comprimento apoiado = ','%10.3f' %xa0, unD)
print('Comprimento suspenso = ','%10.3f' %s0, unD)
print('Projeção horizontal total = ','%10.3f' %xt0, unD)
A Unidade flutuante sofre um offset Δ para uma nova posição "FAR", e o limite nesse problema
será determinado como sendo a situação em que começassem a surgir forças verticais na
âncora. Sendo assim,teremos as seguintes equações que regem o equilíbrio na nova posição:
F h1 = a1 ⋅ q
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 2/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
LDA + a1
xs1 = a1 ⋅ arccosh( )
a1
xs1
s1 = a1 ⋅ sinh( )
a1
//
#função para solução do sistema de equações
def f(x):
#fh1 = x[0]
#a1 = x[1]
#xs1 = x[2]
#Offset1 = x[3]
return [x[0] - x[1]*q,
x[2]-x[1]*np.arccosh((lda+x[1])/x[1]),
x[2]- xa0 - xs0 - x[3],
lc - x[1]*np.sinh(x[2]/x[1])]
#solução do sistema de equações
vals1 = optimize.fsolve(f,[fh0,a0,xs0,30.0])
#Incógnitas importantes de se apresentar:
xa1 = xt0 + vals1[3] - vals1[2]
#Imprimindo variáveis:
print('Força horizontal de topo = ','%10.3f' % vals1[0], unF)
print('Parâmetro da catenária = ','%10.3f' % vals1[1], unD)
print('Proj. horiz. suspensa = ','%10.3f' % vals1[2], unD)
print('Offset1 = ','%10.3f' % vals1[3], unD)
print('Projeção horizontal apoiada = ','%10.3f' %xa1, unD)
Offset1 = 58.062 m
A Unidade flutuante sofre um offset Δ para uma nova posição "NEAR", e o limite nesse
problema será determinado como sendo a situação em que o trecho suspenso da linha de
ancoragem ficasse na vertical. Sendo assim, teremos as seguintes incógnitas para serem
expostas e calculadas na nova posição:
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 3/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
#Calculo dos parâmetros da catenária sozinha na posição NEAR
s2 = lda #O comprimento suspenso é igual a lâmina d'água)
xs2 = 0.0 #A projeção horizontal do comprimento suspenso é igual a 0.
#A projeção do comprimento encostado no chão é um subtração do comprimento total da catená
xa2 = lc - lda
#O Offset é calculado por uma subtração de alguns termos:
Offset2 = xa0 + xs0 - xa2
#O parâmero da catenária deverá ser 0 para satisfazer a equação da catenária.
a2 = 0.0
#A força horizontal pode ser calculada como:
fh2 = a2 * q
#Imprimindo variáveis:
print('Força horizontal de topo = ','%10.3f' % fh2, unF)
print('Parâmetro da catenária = ','%10.3f' % a2, unD)
print('Proj. horiz. suspensa = ','%10.3f' % xs2, unD)
print('Offset2 = ','%10.3f' % Offset2, unD)
print('Comprimento apoiado = ','%10.3f' % xa2, unD)
print('Comprimento suspenso = ','%10.3f' % s2, unD)
print('Projeção horizontal total = ','%10.3f' % xa2, unD)
Offset2 = 382.029 m
Como estamos diante de uma situação com as duas linhas e a intenção seria atingir o offset
máximo, iremos perceber que o offset determinante será o da catenária na posição FAR, uma
vez que este é menor que o da linha em NEAR. Sendo assim, já temos a deformada da equação
na posição FAR e iremos buscar os novos parâmetros da nova posição NEAR imposta pela
posição FAR.
Considerando que a Unidade flutuante sofre um offset Δ para a posição "FAR", teremos as
seguintes equações que regem o equilíbrio na nova posição "NEAR":
F h3 = a3 ⋅ q
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 4/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
LDA + a3
xs3 = a3 ⋅ arccosh( )
a3
xs3
s3 = a3 ⋅ sinh( )
a3
lc = s3 + xa3
//
#Calculo dos parâmetros da catenária na nova posição NEAR
def f(y):
#fh3 = x[0]
#a3 = x[1]
#xs3 = x[2]
#xa3 = x[3]
#S3 = x[4]
return [y[0] - y[1]*q,
y[2]-y[1]*np.arccosh((lda+y[1])/y[1]),
xs0 + xa0 - vals1[3] - y[2] - y[3],
y[4] - y[1]*np.sinh(y[2]/y[1]), lc - y[3] - y[4]]
#solução do sistema de equações para função em questão
vals3 = optimize.fsolve(f,[vals1[0],a0,2000,xa0,s0])
#Imprimindo variáveis:
print('Força horizontal de topo = ','%10.3f' % vals3[0], unF)
print('Parâmetro da catenária = ','%10.3f' % vals3[1], unD)
print('Proj. horiz. suspensa = ','%10.3f' % vals3[2], unD)
print('Offset3 = ','%10.3f' % vals1[3], unD)
print('Proj. horiz. apoiada = ','%10.3f' % vals3[3], unD)
print('Comprimento suspenso = ','%10.3f' % vals3[4], unD)
Offset3 = 58.062 m
4. Deformadas
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 5/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
#função que cria vetores xcat e ycat para plotagem da catenária:
def monta_cat(a,xs,xa):
xt = xs + xa
xcat = np.arange(0.0,xt,1.0)
xcat = np.append(xcat,xt)
ycat = np.zeros(len(xcat),dtype=float)
for i in range(0,len(xcat)):
if xcat[i] == xa and xs == 0:
ycat[i] = 0
elif xcat[i] > xa:
ycat[i] = lda - (a * (np.cosh((xcat[i]-xa)/a)-1))
else:
ycat[i] = lda
return xcat,ycat
#PLOTANDO CATENÁRIA ORIGINAL, NA POSIÇÃO FAR E NEAR
plt.figure(dpi=120)
xcat,ycat = monta_cat(a0,xs0,xa0)
plt.plot(xcat,ycat,color='#17a589', label='Inicial')
xcat1,ycat1 = monta_cat(vals1[1],vals1[2],xa1)
plt.plot(xcat1,ycat1, color='red', label='FAR')
xcat2,ycat2 = monta_cat(a2,xs2,xa2)
plt.plot(xcat2,ycat2,color='#f4d03f', label='NEAR')
#definição dos parâmetros do gráfico
plt.xlim(0,3000)
plt.ylim(lda,0)
plt.xlabel("x (" + unD +")")
plt.ylabel("Profundidade (" + unD + ")")
plt.title("Deformadas")
plt.grid(True,'major','both',ls=':')
plt.legend()
plt.show()
#PLOTANDO CADA CATENÁRIA DO SISTEMA
plt.figure(dpi=120)
xcat1,ycat1 = monta_cat(vals1[1],vals1[2],xa1)
plt.plot(xcat1,ycat1,color='red', label='FAR')
xcat3,ycat3 = monta_cat(vals3[1],vals3[2],vals3[3])
Delta = (vals3[2] + vals3[3])+vals1[2]+xa1
plt.plot(-xcat3+Delta,ycat3,color='#f4d03f', label='NEAR')
#definição dos parâmetros do gráfico
plt.xlim(0,5000)
plt.ylim(lda,0)
plt.xlabel("x (" + unD +")")
plt.ylabel("Profundidade (" + unD + ")")
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 6/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
p y ( ( ) )
plt.title("Deformadas do sistema")
plt.grid(True,'major','both',ls=':')
plt.legend()
plt.show()
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 7/8
1/31/22, 9:21 PM OFFSHORE 1 -31-01-2022 .ipynb - Colaboratory
5. Conclusão
Após todos os cálculos realizados, foi possível identificar alguns pontos sensíveis para a
análise de Risers em Catenária. As forças horizontais de topo aumentaram ou diminuíram em
função do tipo do cenário analisado. Por exemplo,na posição NEAR a força de topo encontrada
foi zero enquando na posição FAR a força horizontal de topo aumentou para 1643 kN. Portanto,
podemos concluir que que a análise de tensões em Risers em Catenária está ligada às
condições em que o duto está inserido. Fatores ambientais, configuração da catenárias e até
mesmo o tipo de unidade de produção a que o riser está sendo utilizado pode interferir na
análise.
6. Bibliografia
https://colab.research.google.com/drive/15NxsoVWYew6-vAriV0Z8FAabXr3xyRL8#scrollTo=o3GEVDJ3FRYQ&printMode=true 8/8