TSCW - OUTPUT - Axialkraftberechnung
Das Ziel der Thermodynamischen Berechnungen besteht darin, die mittleren Drücke und Temperaturen in Abhängigkeit von Verrohrung und Raten zu ermitteln, um die Belastungsansätze Fz,max und Fz,min zu bestimmen.
Axialkraftberechnung - Theorie
Die resultierende Axialkraft Fz,ges setzt sich aus der thermischen Belastung (1) und dem Ballooning (2) zusammen:
Die Axialkräfte werden für die Bezugsteufe in der Bohrung \(z=z_m\) berechnet.
Thermische Belastung (1)
Die thermische Belastung (1) ergibt sich aus:
wobei:
\(\alpha_S\): Wärmeausdehnungskoeffizient (12.4 x 10^{-6} K^{-1})
\(\Delta T\): Temperaturänderung zum Initialzustand \(\Delta T(z,t) = T_0 - T(z_m,t)\)
\(E\): Elastizitätsmodul (2.06 x 10^5 MPa)
\(A\): Querschnittsfläche des Rohres
Ballooning (2)
Je nach Druckregime \(\Delta p = p(z_m,t) - p_0\) kann zwischen Ballooning und Kontraballooning unterschieden werden:
wobei:
\(\mu\): Querdehnungszahl Stahl (0.3)
\(\Delta p\): Druckänderung zum Initialzustand
\(A\): Querschnittsfläche des Rohres
\(R = D/d > 1\): Durchmesserverhältnis
Axialkraftberechnung in TSCW
- calculate_axial_forces(meta_data, z_ref, T0: float = None, is_export: bool = False)
- Parameters:
meta_data (dict) – Meta Daten.
z_ref (_type_) – Bezugsteufe (= z_m)
T0 (float, optional) – Die anfängliche Temperatur für die Referenz in delta_T (optional). Andernfalls entspricht sie dem ersten Element des Temperaturarrays.
is_export (bool, optional) – Export der Ergebnisse im xlsx File, defaults to False
- Returns:
pandas dataframe containing forces
- Return type:
pd.Dataframe
Die Variable meta_data
enthält dabei folgende Struktur
Variable |
Wert (Beispiel) |
Beschreibung |
Einheit |
---|---|---|---|
mu |
0.3 |
Querdehnungszahl |
[-] |
alpha |
0.0000124 |
Wärmeausdehnungskoeffizient |
1/K |
e_modul_stahl |
2.06E+11 |
E-Modul Stahl |
Pa |
z_bezug |
425 |
Bezugsteufe (i.d.R. Bohrlochmitte) |
m |
rho_rrsf |
1200 |
Dichte Ringraumschutzflüssigkeit |
kg/m³ |
wd |
0.00984 |
Wanddicke |
m |
d_a |
0.219075 |
Außendurchmesser |
m |
1from tscw_module import TSCW_TBHC
2
3tscw_data = TSCW_TBHC("Beispiel_1_pTBHC.TXT")
4
5meta_data = {'mu': 0.3,
6 'alpha': 1.24e-05,
7 'e_modul_stahl': 206000000000.0,
8 'z_bezug': 425.0,
9 'rho_rrsf': 1200.0,
10 'wd': 0.00984,
11 'd_a': 0.219075}
12
13T_0 = 15 # °C
14depth_ref = meta_data['z_bezug']
15
16tswc_data.calculate_axial_forces(meta_data, depth_ref, T_0)
17tswc_data.plot_axial_forces()

Bestimmung von \(Fz_{max}\) und \(Fz_{min}\)
Nachdem die Axialkräfte mit Hilfe von calculate_axial_forces()
berechnet worden sind, können pro Etappe die enstsprechenden Parameter,
an denen entweder Fz_{max} oder \(Fz_{min}\) wirken, extrahiert werden.
- extract_max_force(i_etappe: int, mode: str, min_time: float = 0)
- Parameters:
i_etappe (int) – Etappen-Nummer
mode (str) – entweder ‘min’ oder ‘max’ für \(Fz_{min}\) oder Fz_{max}.
min_time (float, optional) – Die Zeitspanne, ab der nach der Suche nach den Extremwerten begonnen wird. Um das Ende der Phase auszuwählen, wird der Wert auf
+np.inf
. Standardmäßig beträgt die Mindestzeit 0.
- Returns:
pd.Dataframe containing relevant parameters, respective index in self.df
- Return type:
_type_
Wenn bspw. für das vorherige Beispiel die enstprechenden Werte für \(Fz_{max}\) in Etappe 2 beginnend ab 2h extrahiert werden sollen, kann dies mit folgendem Befehl erreicht werden.
18i_etappe = 2
19mode = 'max'
20min_time = 2
21
22filtered_df, df_index = tswc_data.extract_max_force(i_etappe, mode, min_time)
Die Ergebnisse für filtered_df
und df_index
sind:
>>filtered_df
STAGE 2.000000
t_TOTAL 82.965351
t_STAGE 55.274952
p_m 6.549749
T_m 7.234806
delta_T 7.765194
delta_p 4.048199
Fz_t 128.298185
Fz_p 75.845804
Fz_ges 204.143989
Fz_p_rr 23.706678
Fz_ges_rr 152.004863
Name: 181, dtype: float64
>>df_index
181