mirror of https://gitlab.com/pamhyr/pamhyr2
Compare commits
11 Commits
d4ef06c7c1
...
d66e75c183
| Author | SHA1 | Date |
|---|---|---|
|
|
d66e75c183 | |
|
|
31b4c47379 | |
|
|
71bba499e0 | |
|
|
7a08fa42d9 | |
|
|
18a008462a | |
|
|
d81da59398 | |
|
|
3ab1eabe75 | |
|
|
cf4f860db8 | |
|
|
c68e3337ef | |
|
|
db1ae613d6 | |
|
|
a800816cda |
|
|
@ -119,10 +119,10 @@ dl-rubar-linux:
|
|||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
script:
|
||||
- curl -L -o rubar.tgz https://forge.inrae.fr/river-hydraulics/rubarbe/-/releases/$RUBAR_VERSION/downloads/packages/rubar_linux.tgz
|
||||
- mkdir -p rubar-linux
|
||||
- cd rubar-linux
|
||||
- tar xf ../rubar.tgz
|
||||
- curl -L -o rubar.tgz https://forge.inrae.fr/river-hydraulics/rubarbe/-/releases/$RUBAR_VERSION/downloads/packages/rubar_linux.tgz
|
||||
- tar xf rubar.tgz
|
||||
artifacts:
|
||||
paths:
|
||||
- rubar-linux/rubarbe
|
||||
|
|
@ -134,10 +134,10 @@ dl-rubar-windows:
|
|||
rules:
|
||||
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
|
||||
script:
|
||||
- curl -L -o rubar.tgz https://forge.inrae.fr/river-hydraulics/rubarbe/-/releases/$RUBAR_VERSION/downloads/packages/rubar_windows.tgz
|
||||
- mkdir -p rubar-windows
|
||||
- cd rubar-windows
|
||||
- tar xf ../rubar.tgz
|
||||
- curl -L -o rubar.tgz https://forge.inrae.fr/river-hydraulics/rubarbe/-/releases/$RUBAR_VERSION/downloads/packages/rubar_windows.tgz
|
||||
- tar xf rubar.tgz
|
||||
artifacts:
|
||||
paths:
|
||||
- rubar-windows/rubarbe.exe
|
||||
|
|
|
|||
|
|
@ -63,38 +63,29 @@ class InternalMeshing(AMeshingTool):
|
|||
|
||||
def st_to_m(self, profiles, guide_list):
|
||||
|
||||
gl1 = [""] + guide_list
|
||||
gl2 = guide_list + [""]
|
||||
max_values = [0] * (len(guide_list) + 1)
|
||||
max_values_index = [0] * (len(guide_list) + 1)
|
||||
guide_list = ["un"] + guide_list + ["np"]
|
||||
max_values = [0] * (len(guide_list) - 1)
|
||||
max_values_index = [0] * (len(guide_list) - 1)
|
||||
# we work between each couple of guidelines
|
||||
for j, p in enumerate(profiles):
|
||||
index1 = 0
|
||||
index2 = p.named_point_index(guide_list[0])
|
||||
if index2 - index1 > max_values[0]:
|
||||
max_values[0] = index2 - index1
|
||||
max_values_index[0] = j
|
||||
for i in range(len(guide_list) - 1):
|
||||
index1 = p.named_point_index(guide_list[i])
|
||||
index2 = p.named_point_index(guide_list[i+1])
|
||||
if index2 - index1 > max_values[i+1]:
|
||||
max_values[i+1] = index2 - index1
|
||||
max_values_index[i+1] = j
|
||||
index1 = p.named_point_index(guide_list[-1])
|
||||
index2 = len(p) - 1
|
||||
if index2 - index1 > max_values[-1]:
|
||||
max_values[-1] = index2 - index1
|
||||
max_values_index[-1] = j
|
||||
if index2 - index1 > max_values[i]:
|
||||
max_values[i] = index2 - index1
|
||||
max_values_index[i] = j
|
||||
|
||||
for i in range(len(max_values)):
|
||||
for isect in range(max_values_index[i], len(profiles)-1):
|
||||
self.compl_sect(profiles[isect],
|
||||
profiles[isect+1],
|
||||
gl1[i], gl2[i])
|
||||
guide_list[i],
|
||||
guide_list[i+1])
|
||||
for isect in reversed(range(0, max_values_index[i])):
|
||||
self.compl_sect(profiles[isect+1],
|
||||
profiles[isect],
|
||||
gl1[i], gl2[i])
|
||||
guide_list[i],
|
||||
guide_list[i+1])
|
||||
return profiles
|
||||
|
||||
def interpolate_transversal_step(self,
|
||||
|
|
@ -294,6 +285,8 @@ class InternalMeshing(AMeshingTool):
|
|||
sgn = -1.0
|
||||
else:
|
||||
sgn = old_orientation
|
||||
if abs(sgn) < 0.5:
|
||||
sgn = 1.0
|
||||
|
||||
new_rk = [0.0]*nprof
|
||||
new_rk[origin] = origin_value
|
||||
|
|
|
|||
|
|
@ -76,12 +76,23 @@ class Profile(object):
|
|||
return self.points[index]
|
||||
|
||||
def named_point(self, name):
|
||||
return next((p for p in self.points if p.name == name), None)
|
||||
if name == "un":
|
||||
return self.points[0]
|
||||
elif name == "np":
|
||||
return self.points[-1]
|
||||
else:
|
||||
return next((p for p in self.points if p.name == name), None)
|
||||
|
||||
def named_point_index(self, name):
|
||||
return next(
|
||||
(p for p in enumerate(self.points) if p[1].name == name), None
|
||||
)[0]
|
||||
if name == "un":
|
||||
return 0
|
||||
elif name == "np":
|
||||
return len(self.points) - 1
|
||||
else:
|
||||
return next(
|
||||
(p for p in enumerate(self.points) if p[1].name == name),
|
||||
None
|
||||
)[0]
|
||||
|
||||
@property
|
||||
def reach(self):
|
||||
|
|
|
|||
Loading…
Reference in New Issue