(2.5 à la place de 2 pour les blocs carrés) va entraîner de grosses différence des résultats de calcul. Il faudra faire attention avec les sessions enregistrées avec une version précédente de Cassiopée avec des Cd0 non adaptés.
Actuellement, la modification de la formule pour
r
et
fF
fait sauter 27 tests avec des écarts conséquents. Ces tests font intervenir des calculs avec
Cd0
égale à 1, 1.5 et 2. En émergent, les écarts sur Q sont de l'ordre de 9% pour Cd0=1, 30% pour Cd0=1.5 et de 42% pour Cd0=2. Je vais refaire les calculs sous Scilab avec les nouvelles formules avec Cd0 = 1 et 2.5 pour écrire de nouvelles valeurs de référence pour les tests. Mais il faut être conscient que les écarts sont vraiment importants par rapport à la version actuelle:
Failures:1) Class MacroRugo: Condition EmergentCd15 resolveQ(0.90171) should be 0.679969 Message: Expected 0.4792751524033245 to be close to 0.679969, 5.2) Class MacroRugo: Condition EmergentCd15 Calc(Q) should be 0.493729 Message: Expected 0.6141449085580053 to be close to 0.493729, 2.3) Class MacroRugo: Condition EmergentCd15 Fr should be 0.530425 Message: Expected 0.6597909697805938 to be close to 0.530425, 5.4) Class MacroRugo: Condition EmergentCd15 PV should be 403.623339 Message: Expected 502.06346274616936 to be close to 403.623339, 5.5) Class MacroRugo: Condition EmergentCd15 Vdeb should be 0.822881 Message: Expected 1.0235748475966755 to be close to 0.822881, 5.6) Class MacroRugo: Condition EmergentCd15 Vmax should be 1.799502 Message: Expected 2.4186755446795787 to be close to 1.799502, 5.7) Class MacroRugo: Condition EmergentCd15 Strickler should be 5.173107 Message: Expected 6.43478098259483 to be close to 5.173107, 5.8) Class MacroRugo: Condition EmergentCd2 resolveQ(0.768677) should be 0.65311 Message: Expected 0.3830035739815165 to be close to 0.65311, 5.9) Class MacroRugo: Condition EmergentCd2 Calc(Q) should be 0.376811 Message: Expected 0.53887485561109 to be close to 0.376811, 2.10) Class MacroRugo: Condition EmergentCd2 Fr should be 0.404817 Message: Expected 0.5789265019046198 to be close to 0.404817, 5.11) Class MacroRugo: Condition EmergentCd2 PV should be 308.042886 Message: Expected 440.5301944620662 to be close to 308.042886, 5.12) Class MacroRugo: Condition EmergentCd2 Vdeb should be 0.628018 Message: Expected 0.8981247593518168 to be close to 0.628018, 5.13) Class MacroRugo: Condition EmergentCd2 Vmax should be 1.536129 Message: Expected 2.175133407836211 to be close to 1.536129, 5.14) Class MacroRugo: Condition EmergentCd2 Strickler should be 3.948084 Message: Expected 5.646129479484681 to be close to 3.948084, 5.15) Class MacroRugo: JalHyd #85 CalcSerie Q should return the good result :) Message: Expected 0.6071779512534994 to be close to 0.484255, 4. Message: Expected 0.6071779512534994 to be close to 0.484255, 4. Message: Expected 0.7262442076187714 to be close to 0.578363, 4. Message: Expected 0.7262442076187714 to be close to 0.578363, 4.16) Class MacroRugo: jalhyd #144 Q should be 0.04033 Message: Expected 0.04274269890755813 to be close to 0.039283, 5.17) Class MacroRugo: jalhyd #154 Check values of resolveQ Message: Expected 0.16184378879795858 to be close to 0.105312, 5. Message: Expected 0.004822877868708053 to be close to 0.061355, 5. Message: Expected 0.1714895445353749 to be close to 0.228021, 5.18) Class MacroRugo: jalhyd #154 Q(Y=0.34) should be 0.285749 Message: Expected 0.3032174746909615 to be close to 0.285749, 4.19) Class MacroRugo: jalhyd #154 Q(Y=0.35000000000000003) should be 0.30039 Message: Expected 0.317251897090179 to be close to 0.30039, 4.20) Class MacroRugo: jalhyd #154 Q(Y=0.36000000000000004) should be 0.315 Message: Expected 0.33141677879599274 to be close to 0.315, 4.21) Class MacroRugo: jalhyd #154 Q(Y=0.37) should be 0.329554 Message: Expected 0.3457045531933861 to be close to 0.329554, 4.22) Class MacroRugo: jalhyd #154 Q(Y=0.38) should be 0.344031 Message: Expected 0.3601081085519717 to be close to 0.344031, 4.23) Class MacroRugo: jalhyd #154 Q(Y=0.39) should be 0.35841 Message: Expected 0.37462076245670367 to be close to 0.35841, 4.24) Class MacroRugo: jalhyd #154 Q(Y=0.4) should be 0.372674 Message: Expected 0.3892362372177397 to be close to 0.372674, 4.25) Class MacroRugo: jalhyd #154 Q(Y=0.41000000000000003) should be 0.407595 Message: Expected 0.4204529889202726 to be close to 0.407595, 4.26) vérificateur de franchissement − MacroRugo − 1 espèce prédéfinie Message: Expected false to be true. Message: Expected 0 to be 1. Message: Expected 48 to be 50. Message: Expected 46 to be 101.27) vérificateur de franchissement − MacroRugoCompound − Largeur franchissable insuffisante Message: Expected 8 to be 5. Message: Expected 60 to be 58.
By Dorchies David on 2021-02-09T15:32:20 (imported from GitLab)
C'est normal que les écarts soient importants pour les plots carrés car les formules qui avaient avant (prise dans Cassan et al; 2016) étaient pour des plots ronds. Normalement, si tu gardes Cd0 =2 mais en changeant "r " les écarts auraient du être encore plus important (la valeur de Cd compense un peu le fait de mettre r=1). L'important c'est que les nouvelles formules reproduisent les résultats expérimentaux (que je t'envoie en PJ). Normalement ça devrait être bon avec Cd=2.5., en tout cas avec ma moulinette ça marche mais c'est peut être moi qui a fait une boulette. Dans mes calculs les écarts entre les 2 méthodes sont grands mais ne dépassent pas 30% (peut être parce que j'ai fait les tests sur les dimensions des manips).
Est ce que tu peux vérifier sur quelques cas du tableau en PJ et me dire si on est si loin que ça de la mesure?
Pour conclure, c'est les résultats d'avant qui étaient moins bons, j'ai extrapolé au cas carré, le cas rond sans avoir une bonne connaissance de la contraction latérale (r). De toute façon la nouvelle formule est bonne mais toujours pour des concentrations proche de 16%. Si on veut aller chercher des concentrations plus basse que 10% , on sera peut être amené en ajouter une dépendance de Cd0 avec la concentration.
pour compléter ce qu'a fait David, j'ai calculé l'écart sur l'estimation du débit connaissant la hauteur d'eau (voir PJ).
Pour la plage 0,5 < h/D< 1,5 l'écart est inférieur à 10%. Il y a un écart pour les faibles hauteurs d'eau mais on parle de mesure avec quelques centimètres en moyenne alors que la variation de hauteur d'eau sur le motif peut être du même ordre de grandeur. Ca se voit sur les courbes de David où il y a certaines mesures aberrantes aux plus petits débits.
Les mesures très éloignées correspondent à des mesures d'avant 2006 avec rugosité. Pour les cas largement submergés (h/D>2) les écarts sont plus importants mais c'est un peu normal vu la simplicité du modèle. On suppose un profil logarithmique au-dessus des rugosités alors qu'on sait que la vitesse ralentit un peu près de la surface (d'où environ 20% surestimé).
Par rapport à la formule du guide technique on voit qu'on améliore quand même la précision.
La relation entre h et Q n'étant pas totalement linéaire, si on connait Q est qu'on cherche h , je pense que l'écart est encore plus faible.
j'ai aussi testé avec l'ancienne version (r inclus dans f(Fr)) sur le deuxième graphe, la différence n'est pas flagrante. J'ai pris Cd=1,07 dans les 2 cas.
Écart plot rond - Ancienne version:
Écart plot rond - Nouvelle version:
By Dorchies David on 2021-02-12T14:28:01 (imported from GitLab)
Une possibilité pour améliorer encore les formules est de limiter le Cd pour les faibles hauteurs. En effet il n'y a pas de raison que Cd deviennent très grand pour h petit, en fait c'est le frottement au fond qui doit prendre le relai. Ce n'est possible que si Cd est limité. Avec un max de Cd = 3 Cd0 (valeur correspondant aux mesures rond et carré), on améliore la précision (voir PJ, les mesures avec rugosités y sont incluses).
Ce point est mentionné dans la publi suivante, où on avait limité à Cd<6 soit 3*2 pour les carrés mais je pense que c'est mieux de faire en fonction du Cd0.
Cassan, L.; Roux, H.; Garambois, P.-A. A Semi-Analytical Model for the Hydraulic Resistance Due to Macro-Roughnesses of Varying Shapes and Densities. Water 2017, 9, 637. https://doi.org/10.3390/w9090637
By Dorchies David on 2021-02-12T14:29:32 (imported from GitLab)
il y a les mesures faites en 2006 sur les faces planes (et pas carrés) qui marchaient mieux avec 1.5 (cassan et al. 2014). Mais c'est au micro moulinet, je pense qu'il faut mieux attendre des simus.
Finalement, si on pose de
Cd0=1.1
pour les blocs cylindriques et
Cd0=2.6
pour les blocs à faces planes avec des valeurs de
r
de respectivement 1.1 et 1.5, on obtient
r=(Cd0∗0.4+1.121)/1.5
.
By Dorchies David on 2021-02-15T18:25:27 (imported from GitLab)