Compare commits

..

No commits in common. "d66e75c1833fe78d9c58816ae490a42a4ddf3a29" and "d4ef06c7c1bb507cbfc5d342dd7486a19be9590b" have entirely different histories.

3 changed files with 27 additions and 31 deletions

View File

@ -119,10 +119,10 @@ dl-rubar-linux:
rules: rules:
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
script: 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 - mkdir -p rubar-linux
- cd rubar-linux - cd rubar-linux
- curl -L -o rubar.tgz https://forge.inrae.fr/river-hydraulics/rubarbe/-/releases/$RUBAR_VERSION/downloads/packages/rubar_linux.tgz - tar xf ../rubar.tgz
- tar xf rubar.tgz
artifacts: artifacts:
paths: paths:
- rubar-linux/rubarbe - rubar-linux/rubarbe
@ -134,10 +134,10 @@ dl-rubar-windows:
rules: rules:
- if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG - if: $CI_COMMIT_BRANCH == 'ci-test' || $CI_COMMIT_BRANCH == 'master' || $CI_COMMIT_TAG
script: 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 - mkdir -p rubar-windows
- cd rubar-windows - cd rubar-windows
- curl -L -o rubar.tgz https://forge.inrae.fr/river-hydraulics/rubarbe/-/releases/$RUBAR_VERSION/downloads/packages/rubar_windows.tgz - tar xf ../rubar.tgz
- tar xf rubar.tgz
artifacts: artifacts:
paths: paths:
- rubar-windows/rubarbe.exe - rubar-windows/rubarbe.exe

View File

@ -63,29 +63,38 @@ class InternalMeshing(AMeshingTool):
def st_to_m(self, profiles, guide_list): def st_to_m(self, profiles, guide_list):
guide_list = ["un"] + guide_list + ["np"] gl1 = [""] + guide_list
max_values = [0] * (len(guide_list) - 1) gl2 = guide_list + [""]
max_values_index = [0] * (len(guide_list) - 1) max_values = [0] * (len(guide_list) + 1)
max_values_index = [0] * (len(guide_list) + 1)
# we work between each couple of guidelines # we work between each couple of guidelines
for j, p in enumerate(profiles): 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): for i in range(len(guide_list) - 1):
index1 = p.named_point_index(guide_list[i]) index1 = p.named_point_index(guide_list[i])
index2 = p.named_point_index(guide_list[i+1]) index2 = p.named_point_index(guide_list[i+1])
if index2 - index1 > max_values[i]: if index2 - index1 > max_values[i+1]:
max_values[i] = index2 - index1 max_values[i+1] = index2 - index1
max_values_index[i] = j 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
for i in range(len(max_values)): for i in range(len(max_values)):
for isect in range(max_values_index[i], len(profiles)-1): for isect in range(max_values_index[i], len(profiles)-1):
self.compl_sect(profiles[isect], self.compl_sect(profiles[isect],
profiles[isect+1], profiles[isect+1],
guide_list[i], gl1[i], gl2[i])
guide_list[i+1])
for isect in reversed(range(0, max_values_index[i])): for isect in reversed(range(0, max_values_index[i])):
self.compl_sect(profiles[isect+1], self.compl_sect(profiles[isect+1],
profiles[isect], profiles[isect],
guide_list[i], gl1[i], gl2[i])
guide_list[i+1])
return profiles return profiles
def interpolate_transversal_step(self, def interpolate_transversal_step(self,
@ -285,8 +294,6 @@ class InternalMeshing(AMeshingTool):
sgn = -1.0 sgn = -1.0
else: else:
sgn = old_orientation sgn = old_orientation
if abs(sgn) < 0.5:
sgn = 1.0
new_rk = [0.0]*nprof new_rk = [0.0]*nprof
new_rk[origin] = origin_value new_rk[origin] = origin_value

View File

@ -76,23 +76,12 @@ class Profile(object):
return self.points[index] return self.points[index]
def named_point(self, name): def named_point(self, name):
if name == "un": return next((p for p in self.points if p.name == name), None)
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): def named_point_index(self, name):
if name == "un": return next(
return 0 (p for p in enumerate(self.points) if p[1].name == name), None
elif name == "np": )[0]
return len(self.points) - 1
else:
return next(
(p for p in enumerate(self.points) if p[1].name == name),
None
)[0]
@property @property
def reach(self): def reach(self):