Θα δούμε την δυναμική προσομοίωση.taxalata xalasa έγραψε: 13 Φεβ 2025, 18:04πακτώθηκε η μαλακία στο μυαλό σου και την κάνεις προένταση στους άλλους...seismic1 έγραψε: 13 Φεβ 2025, 17:55Από ότι φαίνεται εκ των πραγμάτων εσείς είσαστε παίχτουρες γιατί....το έχετε ξεχειλώσει το πουλί σας.
Αν και το ξέρετε δεν παραδέχεστε ότι η πάκτωση και η προ ένταση αυξάνουν την σταθερότητα και την δυναμική των κατασκευών.
Είναι σαν να μην παραδέχεστε ότι η γη γυρίζει, και όταν η γη κουνιέται και εμείς κουνιόμαστε.
άστοχος...
# Ενημερωμένος κώδικας για την προσομοίωση με πάκτωση και προένταση
import numpy as np
import matplotlib.pyplot as plt
from scipy.integrate import solve_ivp
# Σταθερές του προβλήματος
m = 155000 # kg (μάζα φρεατίου)
k = 3e6 # N/m (δυσκαμψία)
c = 5000 # Ns/m (απόσβεση)
g = 9.81 # m/s² (επιτάχυνση βαρύτητας)
# Γεωμετρικά χαρακτηριστικά
h = 10 # ύψος φρεατίου (m)
b = 3 # πλάτος φρεατίου (m)
L1 = 3 # μήκος φρεατίου (m)
t = 0.40 # πάχος τοιχίων (m)
b2 = 4 # πλάτος βάσης (m)
L = 4 # μήκος βάσης (m)
h2 = 1 # ύψος βάσης (m)
# Ιδιότητες τενόντων
num_tendons = 6
prestress_force = 200 * 1e3 # 200 τόνοι σε Newton (N)
anchorage_force = 1000 * 1e3 # 1000 τόνοι σε Newton (N)
# Προσαρμογή δυσκαμψίας λόγω προέντασης και πάκτωσης
k_effective = k + (num_tendons * prestress_force / h)
# Σεισμική επιτάχυνση (συνθετικός σεισμός)
def seismic_acceleration(t):
return 2.41 * g * np.sin(2 * np.pi * 1 * t) # 1Hz ταλάντωση
# Εξισώσεις κίνησης (Newmark-β)
def equation_of_motion(t, y):
u, v = y # u: μετατόπιση, v: ταχύτητα
a = (seismic_acceleration(t) - c * v - k_effective * u) / m # επιτάχυνση
return [v, a]
# Χρονικά βήματα προσομοίωσης
T = 5 # συνολικός χρόνος σε sec
dt = 0.01 # χρονικό βήμα
time_span = (0, T)
initial_conditions = [0, 0] # αρχικές συνθήκες (μηδενική μετατόπιση και ταχύτητα)
time_eval = np.arange(0, T, dt)
# Αριθμητική επίλυση
solution = solve_ivp(equation_of_motion, time_span, initial_conditions, t_eval=time_eval, method='RK45')
# Αποτελέσματα
u_max = np.max(np.abs(solution.y[0])) # Μέγιστη απόκριση μετατόπισης
# Γραφική παράσταση
plt.figure(figsize=(8, 5))
plt.plot(solution.t, solution.y[0], label="Μετατόπιση (m)", color='b')
plt.xlabel("Χρόνος (s)")
plt.ylabel("Μετατόπιση (m)")
plt.title("Δυναμική Απόκριση Κατασκευής με Προένταση και Πάκτωση")
plt.legend()
plt.grid()
plt.show()
# Εκτύπωση αποτελέσματος
u_max


