|
From: <bma...@us...> - 2013-10-21 15:33:16
|
Revision: 8528
http://sourceforge.net/p/fudaa/svn/8528
Author: bmarchan
Date: 2013-10-21 15:33:13 +0000 (Mon, 21 Oct 2013)
Log Message:
-----------
Mascaret : Formulation de Meyer-Peter
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java
trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java 2013-10-21 14:17:01 UTC (rev 8527)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java 2013-10-21 15:33:13 UTC (rev 8528)
@@ -3,19 +3,57 @@
import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
+/**
+ * Calcul s\xE9dimentaire avec la formule de Meyer-Peter.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id: MetierFormuleLefort1991.java 8524 2013-10-18 08:01:47Z bmarchan$
+ */
public class MetierFormuleMeyerPeter extends MetierFormuleSediment {
-
- @Override
+
+ @Override
public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
- return 1;
- }
+ double kr = _params.getRugosite();
+ double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
+ double larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+ double dens = _params.getDensiteMateriau();
+ double diam = _params.getDmoyen();
+
+ // Contrainte critique adimentionnelle de d\xE9but d'entrainement
+ double taustarc = 0.047;
+ double kpeau;
+ if (kr > ks) {
+ kpeau = kr;
+ }
+ else {
+ kpeau = ks;
+ }
+
+ RetTauMoy taumoy = taumoy(_params, _adapter, _ibief, _isect, _itps);
+
+ // Call Debit_crit(Taustarc / (ks / Kpeau) ^ 1.5, Col_Meyer)
+
+ double teta = taumoy.teta;
+ double taustarEff = Math.pow((ks / kpeau), 1.5) * teta;
+ double qsmp;
+ if (taustarEff - taustarc < 0) {
+ qsmp = 0;
+ }
+ else {
+ qsmp = (larg * Math.pow((9.81 * (dens - 1) * Math.pow(diam, 3)), 0.5)) * 8 * Math.pow((taustarEff - taustarc), 1.5);
+ }
+ return qsmp;
+ }
+
@Override
public MetierDescriptionVariable[] getRequiredVariable() {
return new MetierDescriptionVariable[] {
MetierDescriptionVariable.B1,
- MetierDescriptionVariable.CHAR
- // A completer
+ MetierDescriptionVariable.CHAR,
+ MetierDescriptionVariable.QMIN,
+ MetierDescriptionVariable.KMIN,
+ MetierDescriptionVariable.Y
};
}
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java 2013-10-21 14:17:01 UTC (rev 8527)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java 2013-10-21 15:33:13 UTC (rev 8528)
@@ -34,7 +34,7 @@
public MetierDescriptionVariable[] getRequiredVariable() {
return new MetierDescriptionVariable[] {
MetierDescriptionVariable.CHAR,
- MetierDescriptionVariable.QMIN ,
+ MetierDescriptionVariable.QMIN,
MetierDescriptionVariable.KMIN,
MetierDescriptionVariable.B1,
MetierDescriptionVariable.Y
Modified: trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-21 14:17:01 UTC (rev 8527)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-21 15:33:13 UTC (rev 8528)
@@ -126,8 +126,26 @@
params_.setTEau(17);
}
+ public void testFormuleMeyerPeter() throws IOException {
+ FuLog.debug("Formule Meyer-Peter");
+ MetierFormuleSediment form=new MetierFormuleMeyerPeter();
+ for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
+ double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(val, sedRes[0][itps],epsilon);
+ }
+ }
+
+ public void testFormuleSmartJaggi() throws IOException {
+ FuLog.debug("Formule Smart&Jaggi");
+ MetierFormuleSediment form=new MetierFormuleSmartJaggi();
+ for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
+ double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(val, sedRes[1][itps],epsilon);
+ }
+ }
+
public void testFormuleLefort1991() throws IOException {
- FuLog.debug("Formule Lefort1991");
+ FuLog.debug("Formule Lefort 1991");
MetierFormuleSediment form=new MetierFormuleLefort1991();
for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
@@ -136,22 +154,13 @@
}
public void testFormuleLefort2007() throws IOException {
- FuLog.debug("Formule Lefort2007");
+ FuLog.debug("Formule Lefort 2007");
MetierFormuleSediment form=new MetierFormuleLefort2007();
for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
assertEquals(val, sedRes[4][itps],epsilon);
}
}
-
- public void testFormuleSmartJaggi() throws IOException {
- FuLog.debug("Formule SmartJaggi");
- MetierFormuleSediment form=new MetierFormuleSmartJaggi();
- for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
- double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
- assertEquals(val, sedRes[1][itps],epsilon);
- }
- }
public void testTauMoy() throws IOException {
FuLog.debug("Tau moyen");
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|