From 5aef0bbf3c0bc53682016e539fa19a89a345689d Mon Sep 17 00:00:00 2001 From: Theophile Terraz Date: Mon, 26 May 2025 14:53:47 +0200 Subject: [PATCH] work on auto bondary and init cond --- src/Model/InitialConditions/InitialConditions.py | 13 +++++++++---- src/View/BoundaryCondition/Edit/Window.py | 8 ++++++-- src/View/Geometry/Table.py | 1 - 3 files changed, 15 insertions(+), 7 deletions(-) diff --git a/src/Model/InitialConditions/InitialConditions.py b/src/Model/InitialConditions/InitialConditions.py index 16f1fcf5..71da30cf 100644 --- a/src/Model/InitialConditions/InitialConditions.py +++ b/src/Model/InitialConditions/InitialConditions.py @@ -382,6 +382,8 @@ class InitialConditions(SQLSubModel): self._data = [] for profile in profiles: width = profile.wet_width(profile.z_min() + height) + area = profile.wet_area(profile.z_min() + height) + radius = profile.wet_radius(profile.z_min() + height) frictions = self._reach.frictions.frictions strickler = None if frictions is not None: @@ -396,10 +398,13 @@ class InitialConditions(SQLSubModel): discharge = data_discharge[profile.rk] else: discharge = ( - ((width * 0.8) - * strickler - * (height ** (5/3)) - * (abs(incline) ** (0.5))) + #((width * 0.8) + #* strickler + #* (height ** (5/3)) + #* (abs(incline) ** (0.5))) + (area * strickler + * (radius ** (2/3)) + * (abs(incline) ** (0.5))) ) elevation = max( diff --git a/src/View/BoundaryCondition/Edit/Window.py b/src/View/BoundaryCondition/Edit/Window.py index a65143c3..455e1097 100644 --- a/src/View/BoundaryCondition/Edit/Window.py +++ b/src/View/BoundaryCondition/Edit/Window.py @@ -372,8 +372,12 @@ class EditBoundaryConditionWindow(PamhyrWindow): if strickler is None: strickler = 25.0 height = [(i)*(z_max-z_min)/50 for i in range(51)] - q = [((profile.wet_width(z_min + h) * 0.8) * strickler - * (h ** (5/3)) * (abs(self.slope_value) ** (0.5))) + #q = [((profile.wet_width(z_min + h) * 0.8) * strickler + #* (h ** (5/3)) * (abs(self.slope_value) ** (0.5))) + #for h in height] + q = [profile.wet_area(z_min + h) * strickler + * (profile.wet_radius(z_min + h) ** (2/3)) + * (abs(self.slope_value) ** (0.5)) for h in height] for i in range(len(height)): height[i] += z_min diff --git a/src/View/Geometry/Table.py b/src/View/Geometry/Table.py index 0add2b2d..1af96d09 100644 --- a/src/View/Geometry/Table.py +++ b/src/View/Geometry/Table.py @@ -169,7 +169,6 @@ class GeometryReachTableModel(PamhyrTableModel): self.layoutChanged.emit() def move_down(self, row, parent=QModelIndex()): - print(row) if row >= self._data.number_profiles-1: return