You can subscribe to this list here.
| 2008 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(46) |
Jul
(37) |
Aug
(154) |
Sep
(140) |
Oct
(132) |
Nov
(104) |
Dec
(67) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2009 |
Jan
(113) |
Feb
(73) |
Mar
(102) |
Apr
(106) |
May
(114) |
Jun
(67) |
Jul
(116) |
Aug
(48) |
Sep
(108) |
Oct
(296) |
Nov
(56) |
Dec
(53) |
| 2010 |
Jan
(95) |
Feb
(31) |
Mar
(40) |
Apr
(12) |
May
(10) |
Jun
(27) |
Jul
(19) |
Aug
(81) |
Sep
(48) |
Oct
(45) |
Nov
(40) |
Dec
(7) |
| 2011 |
Jan
(16) |
Feb
(32) |
Mar
(55) |
Apr
(38) |
May
(24) |
Jun
(37) |
Jul
(12) |
Aug
(16) |
Sep
(97) |
Oct
(90) |
Nov
(101) |
Dec
(89) |
| 2012 |
Jan
(18) |
Feb
(2) |
Mar
(54) |
Apr
(69) |
May
(97) |
Jun
(131) |
Jul
(70) |
Aug
(48) |
Sep
(48) |
Oct
(119) |
Nov
(194) |
Dec
(60) |
| 2013 |
Jan
(73) |
Feb
(35) |
Mar
(42) |
Apr
(28) |
May
(7) |
Jun
(17) |
Jul
(27) |
Aug
(10) |
Sep
(38) |
Oct
(12) |
Nov
(4) |
Dec
(16) |
| 2014 |
Jan
(33) |
Feb
(37) |
Mar
(19) |
Apr
(3) |
May
(47) |
Jun
(26) |
Jul
(22) |
Aug
|
Sep
(10) |
Oct
(30) |
Nov
(24) |
Dec
(19) |
| 2015 |
Jan
(13) |
Feb
(16) |
Mar
(36) |
Apr
(19) |
May
(5) |
Jun
(5) |
Jul
(3) |
Aug
(11) |
Sep
(22) |
Oct
(7) |
Nov
(14) |
Dec
|
| 2016 |
Jan
|
Feb
(26) |
Mar
(13) |
Apr
(61) |
May
|
Jun
|
Jul
(4) |
Aug
|
Sep
|
Oct
(27) |
Nov
(14) |
Dec
(21) |
| 2017 |
Jan
(30) |
Feb
(4) |
Mar
(3) |
Apr
(5) |
May
(69) |
Jun
(29) |
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: <bma...@us...> - 2013-10-22 08:58:52
|
Revision: 8529
http://sourceforge.net/p/fudaa/svn/8529
Author: bmarchan
Date: 2013-10-22 08:58:48 +0000 (Tue, 22 Oct 2013)
Log Message:
-----------
Mascaret : Formules Rickenmann + Hangelung Hansen
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/MetierFormuleSediment.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
Added Paths:
-----------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleEngelundHansen.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleRickenmann.java
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleEngelundHansen.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleEngelundHansen.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleEngelundHansen.java 2013-10-22 08:58:48 UTC (rev 8529)
@@ -0,0 +1,55 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
+
+/**
+ * Calcul s\xE9dimentaire avec la formule de Hangelung & Hansen.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id: MetierFormuleLefort1991.java 8524 2013-10-18 08:01:47Z
+ * bmarchan$
+ */
+public class MetierFormuleEngelundHansen extends MetierFormuleSediment {
+
+ @Override
+ public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+ double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
+ double h1 = _adapter.getValue(MetierDescriptionVariable.Y, _ibief, _itps, _isect);
+
+ double dens = _params.getDensiteMateriau();
+ double d50 = _params.getD50();
+ RetTauMoy taumoy = calculerTaumoy(_params, _adapter, _ibief, _isect, _itps);
+ double teta = taumoy.tetaD50;
+
+ double rh1 = (h1 * larg) / (larg + 2 * h1);
+ double f = 2 * 9.81 * rh1 * pente / Math.pow((qmin / (h1 * larg)), 2);
+ double qs = larg * 0.1 / f * Math.pow((9.81 * (dens - 1) * Math.pow(d50, 3)), 0.5) * Math.pow(teta, (5. / 2));
+
+ return qs;
+ }
+
+ @Override
+ public MetierDescriptionVariable[] getRequiredVariable() {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.B1,
+ MetierDescriptionVariable.CHAR,
+ MetierDescriptionVariable.QMIN,
+ MetierDescriptionVariable.KMIN,
+ MetierDescriptionVariable.Y
+ };
+ }
+
+ @Override
+ public MetierDescriptionVariable getVariable() {
+ return MetierDescriptionVariable.QS_ENGELUND;
+ }
+
+ @Override
+ public String getName() {
+ return "Engelund & Hansen";
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleEngelundHansen.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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 15:33:13 UTC (rev 8528)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java 2013-10-22 08:58:48 UTC (rev 8529)
@@ -30,7 +30,7 @@
kpeau = ks;
}
- RetTauMoy taumoy = taumoy(_params, _adapter, _ibief, _isect, _itps);
+ RetTauMoy taumoy = calculerTaumoy(_params, _adapter, _ibief, _isect, _itps);
// Call Debit_crit(Taustarc / (ks / Kpeau) ^ 1.5, Col_Meyer)
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleRickenmann.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleRickenmann.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleRickenmann.java 2013-10-22 08:58:48 UTC (rev 8529)
@@ -0,0 +1,67 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
+
+/**
+ * Calcul s\xE9dimentaire avec la formule de Rickenmann.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id: MetierFormuleLefort1991.java 8524 2013-10-18 08:01:47Z
+ * bmarchan$
+ */
+public class MetierFormuleRickenmann extends MetierFormuleSediment {
+
+ @Override
+ public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+ double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
+
+ double dens = _params.getDensiteMateriau();
+ double d90 = _params.getD90();
+ double d30 = _params.getD30();
+ double d50 = _params.getD50();
+
+ double rap = Math.pow((d90 / d30), 0.2);
+
+ // Calcul du d\xE9bit de d\xE9but d'entrainement
+ double qc = 0.065 * Math.pow((dens - 1), (5. / 3)) * Math.pow(9.81, 0.5) * Math.pow(d50, 1.5) * Math.pow(pente, (-1.12));
+
+ double qs;
+ if (qc > qmin / larg) {
+ qs = 0;
+ }
+ else {
+ if (pente < 0.03) {
+ qs = larg * 1.5 * (qmin / larg - qc) * Math.pow(pente, 1.5);
+ }
+ else {
+ qs = larg * 12.6 / Math.pow((dens - 1), 1.6) * rap * (qmin / larg - qc) * Math.pow(pente, 2);
+ }
+ }
+
+ return qs;
+
+ }
+
+ @Override
+ public MetierDescriptionVariable[] getRequiredVariable() {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.B1,
+ MetierDescriptionVariable.CHAR,
+ MetierDescriptionVariable.QMIN
+ };
+ }
+
+ @Override
+ public MetierDescriptionVariable getVariable() {
+ return MetierDescriptionVariable.QS_RICKENMANN;
+ }
+
+ @Override
+ public String getName() {
+ return "Rickenmann";
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleRickenmann.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-21 15:33:13 UTC (rev 8528)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-22 08:58:48 UTC (rev 8529)
@@ -13,6 +13,7 @@
*
*/
public abstract class MetierFormuleSediment {
+
/**
* Valeurs de retour de la fonction de calcul de tau moyen
*
@@ -30,13 +31,13 @@
*/
private static List<MetierFormuleSediment> formules_ = new ArrayList<MetierFormuleSediment>();
static {
- // formules_.add(MetierDescriptionVariable.QS_ENGELUND);
+ formules_.add(new MetierFormuleEngelundHansen());
formules_.add(new MetierFormuleLefort1991());
formules_.add(new MetierFormuleLefort2007());
formules_.add(new MetierFormuleMeyerPeter());
// formules_.add(MetierDescriptionVariable.QS_RECKING10);
// formules_.add(MetierDescriptionVariable.QS_RECKING11);
- // formules_.add(MetierDescriptionVariable.QS_RICKENMANN);
+ formules_.add(new MetierFormuleRickenmann());
formules_.add(new MetierFormuleSmartJaggi());
// formules_.add(MetierDescriptionVariable.QS_VANRIJN);
}
@@ -110,7 +111,7 @@
* @param _isect L'indice de section
* @param _itps L'indice de temps.
*/
- public RetTauMoy taumoy(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+ public RetTauMoy calculerTaumoy(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
RetTauMoy ret = new RetTauMoy();
double kr = _params.getRugosite();
@@ -178,7 +179,7 @@
* @param _itps
* @return
*/
- public double debitCrit(MetierParametresSediment _params, double _tauCible, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+ public double calculerDebitCrit(MetierParametresSediment _params, double _tauCible, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
double Larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
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 15:33:13 UTC (rev 8528)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java 2013-10-22 08:58:48 UTC (rev 8529)
@@ -17,7 +17,7 @@
double rap = Math.pow(d90 / d30, 0.2);
double tetac = 0.05 * Math.cos(Math.atan(pente)) * (1. - pente / Math.tan(0.61));
- RetTauMoy taumoy = taumoy(_params, _adapter, _ibief, _isect, _itps);
+ RetTauMoy taumoy = calculerTaumoy(_params, _adapter, _ibief, _isect, _itps);
double qs;
if (tetac > taumoy.teta) {
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 15:33:13 UTC (rev 8528)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-22 08:58:48 UTC (rev 8529)
@@ -4,9 +4,11 @@
import junit.framework.AssertionFailedError;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleEngelundHansen;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort1991;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort2007;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleMeyerPeter;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleRickenmann;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSmartJaggi;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
@@ -125,6 +127,19 @@
params_.setTauc(0.055);
params_.setTEau(17);
}
+
+ public void testTauMoy() throws IOException {
+ FuLog.debug("Tau moyen");
+ // N'importe quelle formule convient pour ce test.
+ MetierFormuleSediment form=new MetierFormuleMeyerPeter();
+ for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
+ MetierFormuleSediment.RetTauMoy ret=form.calculerTaumoy(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(ret.tau, tauRes[0][itps],epsilon);
+ assertEquals(ret.taueff, tauRes[1][itps],epsilon);
+ assertEquals(ret.teta, tauRes[2][itps],epsilon);
+ assertEquals(ret.tetaD50, tauRes[3][itps],epsilon);
+ }
+ }
public void testFormuleMeyerPeter() throws IOException {
FuLog.debug("Formule Meyer-Peter");
@@ -136,7 +151,7 @@
}
public void testFormuleSmartJaggi() throws IOException {
- FuLog.debug("Formule Smart&Jaggi");
+ 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);
@@ -161,17 +176,22 @@
assertEquals(val, sedRes[4][itps],epsilon);
}
}
-
- public void testTauMoy() throws IOException {
- FuLog.debug("Tau moyen");
- // N'importe quelle formule convient pour ce test.
- MetierFormuleSediment form=new MetierFormuleMeyerPeter();
+
+ public void testFormuleEngelungHansen() throws IOException {
+ FuLog.debug("Formule Hangelung & Hansen");
+ MetierFormuleSediment form=new MetierFormuleEngelundHansen();
for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
- MetierFormuleSediment.RetTauMoy ret=form.taumoy(params_, hydrauRes_, 0, 0, itps);
- assertEquals(ret.tau, tauRes[0][itps],epsilon);
- assertEquals(ret.taueff, tauRes[1][itps],epsilon);
- assertEquals(ret.teta, tauRes[2][itps],epsilon);
- assertEquals(ret.tetaD50, tauRes[3][itps],epsilon);
+ double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(val, sedRes[5][itps],epsilon);
}
}
+
+ public void testFormuleRickenmann() throws IOException {
+ FuLog.debug("Formule Rickenmann");
+ MetierFormuleSediment form=new MetierFormuleRickenmann();
+ for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
+ double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(val, sedRes[7][itps],epsilon);
+ }
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
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.
|
|
From: <bma...@us...> - 2013-10-21 14:17:06
|
Revision: 8527
http://sourceforge.net/p/fudaa/svn/8527
Author: bmarchan
Date: 2013-10-21 14:17:01 +0000 (Mon, 21 Oct 2013)
Log Message:
-----------
Mascaret : Formulation Smart & Jaggi
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.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/MetierDescriptionVariable.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-18 15:35:09 UTC (rev 8526)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-21 14:17:01 UTC (rev 8527)
@@ -64,11 +64,11 @@
public static final MetierDescriptionVariable QS_MEYERPETER= new MetierDescriptionVariable("QSMEY", "D\xE9bit solide (Meyer-Peter)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
public static final MetierDescriptionVariable QS_LEFORT91 = new MetierDescriptionVariable("QSL91", "D\xE9bit solide (Lefort 1991)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
public static final MetierDescriptionVariable QS_LEFORT07 = new MetierDescriptionVariable("QSL07", "D\xE9bit solide (Lefort 2007)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_ENGELUND = new MetierDescriptionVariable("QSENG", "D\xE9bit solide (Engelund & Hansen)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_ENGELUND = new MetierDescriptionVariable("QSENG", "D\xE9bit solide (Engelund/Hansen)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
public static final MetierDescriptionVariable QS_RECKING10 = new MetierDescriptionVariable("QSR10", "D\xE9bit solide (Recking 2010)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
public static final MetierDescriptionVariable QS_RECKING11 = new MetierDescriptionVariable("QSR11", "D\xE9bit solide (Recking 2011)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
public static final MetierDescriptionVariable QS_VANRIJN = new MetierDescriptionVariable("QSVAN", "D\xE9bit solide (Van Rijn)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_SMARTJAGGI= new MetierDescriptionVariable("QSSMA", "D\xE9bit solide (Smart & Jaggi)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_SMARTJAGGI= new MetierDescriptionVariable("QSSMA", "D\xE9bit solide (Smart/J\xE4ggi)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
public static final MetierDescriptionVariable QS_RICKENMANN= new MetierDescriptionVariable("QSRIC", "D\xE9bit solide (Rickenmann)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
/**
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-18 15:35:09 UTC (rev 8526)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-21 14:17:01 UTC (rev 8527)
@@ -116,9 +116,11 @@
double kr = _params.getRugosite();
double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
- double Larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
- double D50 = _params.getD50();
- double Diam = _params.getDmoyen();
+ double larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+ double h1 = _adapter.getValue(MetierDescriptionVariable.Y, _ibief, _itps, _isect);
+
+ double d50 = _params.getD50();
+ double diam = _params.getDmoyen();
double dens = _params.getDensiteMateriau();
// ' initialisation des colonnes et des lignes
@@ -132,32 +134,31 @@
// 'boucle sur les lignes'
// Do While Cells(ligne, Col_deb_cible) <> ""
// Calcul de tau
- double H1 = _adapter.getValue(MetierDescriptionVariable.Y, _ibief, _itps, _isect);
- double RH1 = (H1 * Larg) / (Larg + 2. * H1);
+ double rh1 = (h1 * larg) / (larg + 2. * h1);
- double Tau = 9.81 * 1000. * RH1 * pente;
- double Kpeau;
+ double tau = 9.81 * 1000. * rh1 * pente;
+ double kpeau;
if (kr > ks) {
- Kpeau = kr;
+ kpeau = kr;
}
else {
- Kpeau = ks;
+ kpeau = ks;
}
- double Taueff = Math.pow((ks / Kpeau), 1.5) * Tau;
+ double taueff = Math.pow((ks / kpeau), 1.5) * tau;
// ecriture de Tau
- ret.tau = Tau;
- ret.taueff = Taueff;
+ ret.tau = tau;
+ ret.taueff = taueff;
// teta = tau*
// if (Diam <> "" Then
- ret.teta = Tau / (9.81 * 1000. * (dens - 1) * Diam);
+ ret.teta = tau / (9.81 * 1000. * (dens - 1) * diam);
// Else
// teta = "-"
// End If
// If D50 <> "" Then
- ret.tetaD50 = Tau / (9.81 * 1000. * (dens - 1) * D50);
+ ret.tetaD50 = tau / (9.81 * 1000. * (dens - 1) * d50);
// Else
// teta_d50 = "-"
// End If
@@ -166,4 +167,29 @@
// Cells(ligne, Col_Tau + 3) = teta_d50 '=tau* f(D50)
return ret;
}
+
+ /**
+ * Calcul du d\xE9bit d'entrainement (pour certaines formules)
+ * @param _params
+ * @param _tauCible
+ * @param _adapter
+ * @param _ibief
+ * @param _isect
+ * @param _itps
+ * @return
+ */
+ public double debitCrit(MetierParametresSediment _params, double _tauCible, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+ double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double Larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+
+ double dens = _params.getDensiteMateriau();
+ double dm = _params.getDmoyen();
+
+ double rhc = _tauCible * (dens - 1) * dm / pente;
+ double hc = rhc * Larg / (Larg - 2 * rhc);
+ double surf = hc * Larg;
+
+ return ks * surf / Math.pow(pente, (1. / 6)) * Math.pow((_tauCible * (dens - 1) * dm), (2. / 3));
+ }
}
\ No newline at end of file
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-18 15:35:09 UTC (rev 8526)
+++ 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)
@@ -4,44 +4,40 @@
import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
public class MetierFormuleSmartJaggi extends MetierFormuleSediment {
-
- @Override
+
+ @Override
public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
- double larg=_adapter.getValue(MetierDescriptionVariable.B1, _ibief,_itps,_isect);
- double pente=_adapter.getValue(MetierDescriptionVariable.PENE, _ibief,_itps,_isect);
-
- double densMat=_params.getDensiteMateriau();
- double d30=_params.getD30();
- double d90=_params.getD90();
-
- double rap=Math.pow(d90/d30,0.2);
- double tetac=0.05*Math.cos(Math.atan(pente))*(1.-pente/Math.tan(0.61));
-
- return 2;
- }
-
- public double debitCrit(MetierParametresSediment _params, double tau_cible) {
- // Issu des resultats hydrau pour ce profil.
- double coefStrickler=0; // (change suivant profil)
- double ks = coefStrickler;
- double pente=0;
- double Larg = 0; // change suivant profil
- double dens=_params.getDensiteMateriau();
- double dm = _params.getDmoyen();
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
- double Rhc = tau_cible * (dens - 1) * dm / pente;
- double hc = Rhc * Larg / (Larg - 2 * Rhc);
- double surf = hc * Larg;
+ double dens = _params.getDensiteMateriau();
+ double d30 = _params.getD30();
+ double d90 = _params.getD90();
- return ks * surf / Math.pow(pente,(1. / 6)) * Math.pow((tau_cible * (dens - 1) * dm),(2. / 3));
- }
+ double rap = Math.pow(d90 / d30, 0.2);
+ double tetac = 0.05 * Math.cos(Math.atan(pente)) * (1. - pente / Math.tan(0.61));
+ RetTauMoy taumoy = taumoy(_params, _adapter, _ibief, _isect, _itps);
+
+ double qs;
+ if (tetac > taumoy.teta) {
+ qs = 0;
+ }
+ else {
+ qs = qmin * 4 * rap * Math.pow(pente, 1.6) / (dens - 1) * (1 - tetac / taumoy.teta);
+ }
+
+ return qs;
+ }
+
@Override
public MetierDescriptionVariable[] getRequiredVariable() {
- return new MetierDescriptionVariable[] {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.CHAR,
+ MetierDescriptionVariable.QMIN ,
+ MetierDescriptionVariable.KMIN,
MetierDescriptionVariable.B1,
- MetierDescriptionVariable.CHAR
- // A completer
+ MetierDescriptionVariable.Y
};
}
@@ -52,6 +48,6 @@
@Override
public String getName() {
- return "Smart & Jaggi";
+ return "Smart & J\xE4ggi";
}
}
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-18 15:35:09 UTC (rev 8526)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-21 14:17:01 UTC (rev 8527)
@@ -8,6 +8,7 @@
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort2007;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleMeyerPeter;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSmartJaggi;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
import org.fudaa.dodico.mascaret.AbstractMascaretTestCase;
@@ -142,6 +143,15 @@
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.
|
|
From: <bma...@us...> - 2013-10-18 15:35:15
|
Revision: 8526
http://sourceforge.net/p/fudaa/svn/8526
Author: bmarchan
Date: 2013-10-18 15:35:09 +0000 (Fri, 18 Oct 2013)
Log Message:
-----------
Mascaret : Calcul de tau moyen
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.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/MetierFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-18 08:19:32 UTC (rev 8525)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-18 15:35:09 UTC (rev 8526)
@@ -8,27 +8,39 @@
/**
* La classe abstraire pour toutes les formules de s\xE9diment
+ *
* @author Bertrand Marchand (mar...@de...)
- *
+ *
*/
public abstract class MetierFormuleSediment {
+ /**
+ * Valeurs de retour de la fonction de calcul de tau moyen
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ */
+ public class RetTauMoy {
+ public double tau;
+ public double taueff;
+ public double teta;
+ public double tetaD50;
+ }
/**
* Contient les instances de chaque formule.
*/
- private static List<MetierFormuleSediment> formules_=new ArrayList<MetierFormuleSediment>();
+ private static List<MetierFormuleSediment> formules_ = new ArrayList<MetierFormuleSediment>();
static {
-// formules_.add(MetierDescriptionVariable.QS_ENGELUND);
+ // formules_.add(MetierDescriptionVariable.QS_ENGELUND);
formules_.add(new MetierFormuleLefort1991());
formules_.add(new MetierFormuleLefort2007());
formules_.add(new MetierFormuleMeyerPeter());
-// formules_.add(MetierDescriptionVariable.QS_RECKING10);
-// formules_.add(MetierDescriptionVariable.QS_RECKING11);
-// formules_.add(MetierDescriptionVariable.QS_RICKENMANN);
+ // formules_.add(MetierDescriptionVariable.QS_RECKING10);
+ // formules_.add(MetierDescriptionVariable.QS_RECKING11);
+ // formules_.add(MetierDescriptionVariable.QS_RICKENMANN);
formules_.add(new MetierFormuleSmartJaggi());
-// formules_.add(MetierDescriptionVariable.QS_VANRIJN);
+ // formules_.add(MetierDescriptionVariable.QS_VANRIJN);
}
-
+
public MetierFormuleSediment() {
super();
}
@@ -39,49 +51,119 @@
* @return La variable associ\xE9e et calcul\xE9e par la formule.
*/
public abstract MetierDescriptionVariable getVariable();
-
+
/**
* @return Le nom de la formule (pour affichage)
*/
public abstract String getName();
-
+
/**
* @return Les variables necessaires au calcul par la formule. Sans ces
* variables, le calcul n'est pas possible.
*/
public abstract MetierDescriptionVariable[] getRequiredVariable();
-
+
/**
* Necessaire pour comparer correctement 2 enums.
*/
@Override
public boolean equals(Object _obj) {
- if (_obj==null || !(_obj instanceof MetierFormuleSediment)) return false;
- return getVariable().equals(((MetierFormuleSediment)_obj).getVariable());
+ if (_obj == null || !(_obj instanceof MetierFormuleSediment))
+ return false;
+ return getVariable().equals(((MetierFormuleSediment) _obj).getVariable());
}
@Override
public String toString() {
return getName();
}
-
+
/**
* @return Toutes les formules possibles.
*/
public static MetierFormuleSediment[] values() {
return formules_.toArray(new MetierFormuleSediment[0]);
}
-
+
/**
* La formule utilis\xE9e pour le calcul de la variable en entr\xE9e
+ *
* @param _var La variable
* @return La formule, ou null si la variable n'est pas s\xE9dimentaire.
*/
public static MetierFormuleSediment getFormule(MetierDescriptionVariable _var) {
for (MetierFormuleSediment formule : values()) {
- if (formule.getVariable().nom().equals(_var.nom()))
+ if (formule.getVariable().nom().equals(_var.nom()))
return formule;
}
return null;
}
+
+ /**
+ * Calcul de la contrainte hydrodynamique moyenne sur la section (utilis\xE9 par
+ * quelques formules).
+ * Utilise les r\xE9sultats KMIN, PENE, B1 et Y.
+ *
+ * @param _params Les parametres de sedimentologie.
+ * @param _adapter Les resultats
+ * @param _ibief L'indice de bief
+ * @param _isect L'indice de section
+ * @param _itps L'indice de temps.
+ */
+ public RetTauMoy taumoy(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+ RetTauMoy ret = new RetTauMoy();
+
+ double kr = _params.getRugosite();
+ double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double Larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+ double D50 = _params.getD50();
+ double Diam = _params.getDmoyen();
+ double dens = _params.getDensiteMateriau();
+
+ // ' initialisation des colonnes et des lignes
+ // Col_Tau = Range("Tau").Column
+ // Col_deb_cible = Range("Qcible").Column
+ // Col_H = Range("Hauteur").Column
+ //
+ // lgn_calcul = Range("ligne_debut").Row
+ // ligne = lgn_calcul
+
+ // 'boucle sur les lignes'
+ // Do While Cells(ligne, Col_deb_cible) <> ""
+ // Calcul de tau
+ double H1 = _adapter.getValue(MetierDescriptionVariable.Y, _ibief, _itps, _isect);
+ double RH1 = (H1 * Larg) / (Larg + 2. * H1);
+
+ double Tau = 9.81 * 1000. * RH1 * pente;
+ double Kpeau;
+ if (kr > ks) {
+ Kpeau = kr;
+ }
+ else {
+ Kpeau = ks;
+ }
+
+ double Taueff = Math.pow((ks / Kpeau), 1.5) * Tau;
+
+ // ecriture de Tau
+ ret.tau = Tau;
+ ret.taueff = Taueff;
+
+ // teta = tau*
+ // if (Diam <> "" Then
+ ret.teta = Tau / (9.81 * 1000. * (dens - 1) * Diam);
+ // Else
+ // teta = "-"
+ // End If
+ // If D50 <> "" Then
+ ret.tetaD50 = Tau / (9.81 * 1000. * (dens - 1) * D50);
+ // Else
+ // teta_d50 = "-"
+ // End If
+
+ // Cells(ligne, Col_Tau + 2) = teta '=tau* f(dm)
+ // Cells(ligne, Col_Tau + 3) = teta_d50 '=tau* f(D50)
+ return ret;
+ }
}
\ No newline at end of file
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-18 08:19:32 UTC (rev 8525)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-18 15:35:09 UTC (rev 8526)
@@ -6,6 +6,7 @@
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort1991;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort2007;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleMeyerPeter;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
import org.fudaa.dodico.mascaret.AbstractMascaretTestCase;
@@ -48,6 +49,12 @@
//Van Rijn
{0.45, 0.32, 0.22, 0.16, 0.11, 0.09, 0.04, 0.04, 0.02, 0.02, 0.01, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.01}
};
+ double[][] tauRes=new double[][] {
+ {274.34, 237.62, 200.39, 174.54, 151.03, 137.08, 104.27, 101.95, 85.56, 75.63, 67.39, 55.32, 42.26, 35.62, 27.98, 18.50, 12.23, 4.66},
+ {196.30, 170.03, 143.39, 124.89, 108.07, 98.09, 74.61, 72.95, 61.22, 54.11, 48.22, 39.58, 30.24, 25.49, 20.02, 13.24, 8.75, 3.34},
+ {0.85, 0.73, 0.62, 0.54, 0.47, 0.42, 0.32, 0.31, 0.26, 0.23, 0.21, 0.17, 0.13, 0.11, 0.09, 0.06, 0.04, 0.01},
+ {0.28, 0.24, 0.21, 0.18, 0.16, 0.14, 0.11, 0.10, 0.09, 0.08, 0.07, 0.06, 0.04, 0.04, 0.03, 0.02, 0.01, 0.00}
+ };
/**
* 1 seul bief, une seule section, avec plusieurs temps pour simuler un changement de d\xE9bit.
@@ -57,7 +64,10 @@
// Les debits, issus de la feuille Excel
double[] debits = new double[] { 1000, 774, 573, 450, 350, 296, 185, 178, 132, 107, 88, 63, 40, 30, 20, 10, 5, 1 };
// Les hauteurs, issues de la feuille Excel
- double[] hauteurs = new double[] { 3.149, 2.682, 2.224, 1.915, 1.641, 1.480, 1.110, 1.084, 0.904, 0.795, 0.706, 0.577, 0.438, 0.368, 0.288, 0.190, 0.125, 0.05 };
+ double[] hauteurs = new double[] {
+ 3.14873081460036, 2.68210790714307, 2.22448059466516, 1.9154924638265, 1.6406299286677, 1.48011332926777,
+ 1.11014253111858, 1.08431580617216, 0.903738918268046, 0.795428295616823, 0.706414986443789, 0.57689555253611,
+ 0.438313744098063, 0.368420603900746, 0.288496806954015, 0.190040156277613, 0.125250658298057, 0.0476277981477428 };
@Override
public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
@@ -132,4 +142,17 @@
assertEquals(val, sedRes[4][itps],epsilon);
}
}
+
+ public void testTauMoy() throws IOException {
+ FuLog.debug("Tau moyen");
+ // N'importe quelle formule convient pour ce test.
+ MetierFormuleSediment form=new MetierFormuleMeyerPeter();
+ for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
+ MetierFormuleSediment.RetTauMoy ret=form.taumoy(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(ret.tau, tauRes[0][itps],epsilon);
+ assertEquals(ret.taueff, tauRes[1][itps],epsilon);
+ assertEquals(ret.teta, tauRes[2][itps],epsilon);
+ assertEquals(ret.tetaD50, tauRes[3][itps],epsilon);
+ }
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-10-18 08:19:35
|
Revision: 8525
http://sourceforge.net/p/fudaa/svn/8525
Author: bmarchan
Date: 2013-10-18 08:19:32 +0000 (Fri, 18 Oct 2013)
Log Message:
-----------
Mascaret : Formule Lefort 2007
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.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/MetierFormuleLefort2007.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java 2013-10-18 08:01:47 UTC (rev 8524)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java 2013-10-18 08:19:32 UTC (rev 8525)
@@ -24,7 +24,7 @@
double larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
- double h = _adapter.getValue(MetierDescriptionVariable.HMOY, _ibief, _itps, _isect);
+ double h = _adapter.getValue(MetierDescriptionVariable.Y, _ibief, _itps, _isect);
double nu = _params.getViscosite();
double diam = _params.getDmoyen();
@@ -108,7 +108,7 @@
public MetierDescriptionVariable[] getRequiredVariable() {
return new MetierDescriptionVariable[] {
MetierDescriptionVariable.CHAR, MetierDescriptionVariable.QMIN, MetierDescriptionVariable.B1,
- MetierDescriptionVariable.KMIN, MetierDescriptionVariable.HMOY
+ MetierDescriptionVariable.KMIN, MetierDescriptionVariable.Y
};
}
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-18 08:01:47 UTC (rev 8524)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-18 08:19:32 UTC (rev 8525)
@@ -19,8 +19,8 @@
private static List<MetierFormuleSediment> formules_=new ArrayList<MetierFormuleSediment>();
static {
// formules_.add(MetierDescriptionVariable.QS_ENGELUND);
-// formules_.add(MetierDescriptionVariable.QS_LEFORT07);
formules_.add(new MetierFormuleLefort1991());
+ formules_.add(new MetierFormuleLefort2007());
formules_.add(new MetierFormuleMeyerPeter());
// formules_.add(MetierDescriptionVariable.QS_RECKING10);
// formules_.add(MetierDescriptionVariable.QS_RECKING11);
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-18 08:01:47 UTC (rev 8524)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-18 08:19:32 UTC (rev 8525)
@@ -78,7 +78,7 @@
return debits[_itps];
}
// Hauteurs
- else if (_var.nom().equals(MetierDescriptionVariable.HMOY.nom())) {
+ else if (_var.nom().equals(MetierDescriptionVariable.Y.nom())) {
return hauteurs[_itps];
}
throw new AssertionFailedError();
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-10-18 08:01:50
|
Revision: 8524
http://sourceforge.net/p/fudaa/svn/8524
Author: bmarchan
Date: 2013-10-18 08:01:47 +0000 (Fri, 18 Oct 2013)
Log Message:
-----------
Mascaret : Formule Lefort 2007
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java
Added Paths:
-----------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java 2013-10-17 12:33:25 UTC (rev 8523)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java 2013-10-18 08:01:47 UTC (rev 8524)
@@ -22,8 +22,9 @@
public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
+
double dens = _params.getDensiteMateriau();
-
double d90 = _params.getD90();
double d30 = _params.getD30();
double diam = _params.getDmoyen();
@@ -37,9 +38,6 @@
qc = 0.0776 * Math.pow((9.81 * Math.pow(diam, 5)), 0.5) * Math.pow((dens - 1), (8. / 3)) * Math.pow((1 - 1.2 * pente), (8. / 3)) / Math.pow(pente, (13. / 6));
}
- // D\xE9bit liquide
- double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
-
// Calcul du d\xE9bit solide
double qs;
if (qc > qmin) {
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java 2013-10-18 08:01:47 UTC (rev 8524)
@@ -0,0 +1,124 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
+
+/**
+ * Calcul s\xE9dimentaire avec la formule de Lefort 1991.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id: MetierFormuleLefort1991.java 8523 2013-10-17 12:33:25Z bmarchan$
+ */
+public class MetierFormuleLefort2007 extends MetierFormuleSediment {
+
+ /**
+ * Calcul de la capacit\xE9 de transport dans chaque section selon la formule de
+ * Lefort. La formule calcule la capacit\xE9 de transport apparante avec une
+ * densit\xE9 apparente de 2. Un coefficient de 0.755 est ajout\xE9 pour revenir au
+ * volume r\xE9el et non au calcul du volume en place (voir \xE9tablissement formule
+ * de lefort).
+ */
+ @Override
+ public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double larg = _adapter.getValue(MetierDescriptionVariable.B1, _ibief, _itps, _isect);
+ double ks = _adapter.getValue(MetierDescriptionVariable.KMIN, _ibief, _itps, _isect);
+ double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
+ double h = _adapter.getValue(MetierDescriptionVariable.HMOY, _ibief, _itps, _isect);
+
+ double nu = _params.getViscosite();
+ double diam = _params.getDmoyen();
+ double dens = _params.getDensiteMateriau();
+ double d90 = _params.getD90();
+ double d30 = _params.getD30();
+ double d50 = _params.getD50();
+
+ // ' initialisation des colonnes et des lignes
+ // Col_Lefort07 = Range("Lefort07").Column
+ // Col_deb_cible = Range("Qcible").Column
+ // Col_H = Range("Hauteur").Column
+ //
+ // Lgn_Qc = Range("Ligne_Qc").Row
+ // lgn_calcul = Range("ligne_debut").Row
+ // ligne = lgn_calcul
+
+ // calcul des coef
+ double rap = Math.pow((d90 / d30), 0.21);
+ double detoile = diam * Math.pow((9.81 * (dens - 1) / Math.pow(nu, 2)), (1. / 3));
+ double kr = 21.1 / Math.pow(diam, (1. / 6));
+ double n = 1.725 + 0.09 * Math.log10(pente);
+
+ double cdm;
+ if (diam < 0.008) {
+ cdm = 0.0269;
+ }
+ else {
+ cdm = 0.0269 + 0.532 / (1.1 + detoile) - 0.0589 * Math.exp(-detoile / 60);
+ }
+ double m = 1.887 + 0.09 * Math.log10(pente);
+
+ // calcul du debit de debut d'entrainement
+ double qc = Math.pow((9.81 * Math.pow(diam, 5)), 0.5) * cdm * Math.pow((dens - 1), (5. / 3)) * Math.pow((larg / diam), (2. / 3)) * Math.pow((ks / kr), -0.42) * Math.pow(pente, (-n));
+
+ // Cells(Lgn_Qc, Col_Lefort07) = Qc
+
+ // calcul du d\xE9bit solide
+ // Do While Cells(ligne, Col_deb_cible) <> ""
+ // Qmin = Cells(ligne, Col_deb_cible)
+ double cp;
+ if (qmin > qc) {
+
+ double qetoile = qmin / qc;
+ // calcul de getoile
+ double gQetoile;
+ if (qetoile > 2.5) {
+ gQetoile = 3.88 * Math.pow((1 - Math.pow((0.75 / qetoile), 0.25)), (5. / 3));
+ }
+ else {
+ gQetoile = 0.4 * Math.pow((qetoile / 2.5), (6.25 * (1 - 0.37 * qetoile)));
+ }
+
+ // Coef de correction de dune
+ double cor;
+ if (ks / kr < 0.6) {
+ cor = 1 - 0.9 * Math.exp(-0.08 * Math.pow((ks / kr), 2.4) * qetoile);
+ }
+ else {
+ cor = 1;
+ }
+
+ // Calcul du reynolds
+ double rh = (h * larg) / (larg + 2 * h);
+ double re = qmin * rh / ((larg * h) * nu);
+
+ double z = 0.78 + 1.53 * Math.pow(re, 0.14) / Math.pow(detoile, 0.78);
+
+ // concentration en !!!! T/m3
+ cp = 3.176 * cor * rap * dens / Math.pow((dens - 1), (1.38)) * Math.pow(pente, m) * Math.pow(gQetoile, z);
+ }
+ else {
+ cp = 0;
+ }
+
+ double qs = qmin * cp / dens;
+ return qs;
+ }
+
+ @Override
+ public MetierDescriptionVariable[] getRequiredVariable() {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.CHAR, MetierDescriptionVariable.QMIN, MetierDescriptionVariable.B1,
+ MetierDescriptionVariable.KMIN, MetierDescriptionVariable.HMOY
+ };
+ }
+
+ @Override
+ public MetierDescriptionVariable getVariable() {
+ return MetierDescriptionVariable.QS_LEFORT07;
+ }
+
+ @Override
+ public String getName() {
+ return "Lefort 2007";
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort2007.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-17 12:33:25 UTC (rev 8523)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-18 08:01:47 UTC (rev 8524)
@@ -88,6 +88,10 @@
public double getTEau() {
return tEau_;
}
+
+ public double getViscosite() {
+ return 0.001382/Math.pow((getTEau()+50),1.7);
+ }
public void setTEau(double tEau) {
if (tEau_==tEau) return;
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-17 12:33:25 UTC (rev 8523)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-18 08:01:47 UTC (rev 8524)
@@ -5,6 +5,7 @@
import junit.framework.AssertionFailedError;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort1991;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort2007;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
import org.fudaa.dodico.mascaret.AbstractMascaretTestCase;
@@ -55,6 +56,8 @@
class HydrauResults implements MetierResultatsTemporelSpacialI {
// Les debits, issus de la feuille Excel
double[] debits = new double[] { 1000, 774, 573, 450, 350, 296, 185, 178, 132, 107, 88, 63, 40, 30, 20, 10, 5, 1 };
+ // Les hauteurs, issues de la feuille Excel
+ double[] hauteurs = new double[] { 3.149, 2.682, 2.224, 1.915, 1.641, 1.480, 1.110, 1.084, 0.904, 0.795, 0.706, 0.577, 0.438, 0.368, 0.288, 0.190, 0.125, 0.05 };
@Override
public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
@@ -74,6 +77,10 @@
else if (_var.nom().equals(MetierDescriptionVariable.QMIN.nom())) {
return debits[_itps];
}
+ // Hauteurs
+ else if (_var.nom().equals(MetierDescriptionVariable.HMOY.nom())) {
+ return hauteurs[_itps];
+ }
throw new AssertionFailedError();
}
@@ -116,4 +123,13 @@
assertEquals(val, sedRes[2][itps],epsilon);
}
}
+
+ public void testFormuleLefort2007() throws IOException {
+ FuLog.debug("Formule Lefort2007");
+ 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);
+ }
+ }
}
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-10-17 12:33:29
|
Revision: 8523
http://sourceforge.net/p/fudaa/svn/8523
Author: bmarchan
Date: 2013-10-17 12:33:25 +0000 (Thu, 17 Oct 2013)
Log Message:
-----------
Mascaret : Formulation Lefort 1991
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java
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/MetierFormuleSediment.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
Added Paths:
-----------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpacialI.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierResultatTemporelSpatialAdapter.java
trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java
Removed Paths:
-------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpacialI.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpacialI.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpacialI.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -0,0 +1,37 @@
+package org.fudaa.dodico.hydraulique1d.metier;
+
+/**
+ * Une interface permettrant de retourner pour un bief, un temps et une section
+ * la valeur d'une variable.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public interface MetierResultatsTemporelSpacialI {
+
+ /**
+ * @param _var La variable
+ * @param _ibief L'indice de bief
+ * @param _itps L'indice du temps
+ * @param _isect L'indice de la section
+ * @return La valeur pour la variable. Double.NaN si la varaible n'est pas
+ * dans les r\xE9sultats.
+ */
+ public abstract double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect);
+
+ /**
+ * @return Le nombre de biefs pour le r\xE9sultat
+ */
+ public abstract int getNbBiefs();
+
+ /**
+ * @return Le nombre pas de temps
+ */
+ public abstract int getNbTemps();
+
+ /**
+ * @param _ibief L'indice du bief
+ * @return Le nombre de sections du bief consid\xE9r\xE9
+ */
+ public abstract int getNbSections(int _ibief);
+
+}
\ No newline at end of file
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpacialI.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java 2013-10-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -21,7 +21,7 @@
* @version $Revision: 1.2 $ $Date: 2007-11-20 11:42:34 $ by $Author: bmarchan $
* @author Jean-Marc Lacombe
*/
-public class MetierResultatsTemporelSpatial extends MetierHydraulique1d {
+public class MetierResultatsTemporelSpatial extends MetierHydraulique1d implements MetierResultatsTemporelSpacialI {
@Override
public void initialise(MetierHydraulique1d _o) {
@@ -478,4 +478,31 @@
return true;
}
+
+ @Override
+ public int getNbBiefs() {
+ return resultatsBiefs_.length;
+ }
+
+ @Override
+ public int getNbTemps() {
+ return pasTemps_.length;
+ }
+
+ @Override
+ public int getNbSections(int _ibief) {
+ return resultatsBiefs_[_ibief].abscissesSections().length;
+ }
+
+ @Override
+ public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
+
+ double[][][] vals = resultatsBiefs_[_ibief].valeursVariables();
+ int indvar = getIndiceVariable(_var);
+ if (indvar == -1) {
+ return Double.NaN;
+ }
+
+ return vals[indvar][_itps][_isect];
+ }
}
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java 2013-10-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -44,7 +44,7 @@
throw new IllegalArgumentException("Variable non s\xE9dimentaire");
MetierFormuleSediment formule=MetierFormuleSediment.getFormule(_var);
- ResultatTemporelSpatialAdapter resAdapter=new ResultatTemporelSpatialAdapter(res_);
+ MetierResultatTemporelSpatialAdapter resAdapter=new MetierResultatTemporelSpatialAdapter(res_);
// Suppression eventuelle de l'ancienne variable de m\xEAme nom
res_.removeResultsVariable(_var);
@@ -62,5 +62,19 @@
}
}
res_.addResultsVariable(_var, vals);
+
+ // FIXME : Pour tests, ne pas conserver
+ res_.removeResultsVariable(MetierDescriptionVariable.PENE);
+ vals=new double[nbBief][nbTps][];
+ for (int ibief=0; ibief<nbBief; ibief++) {
+ int nbSect=res_.resultatsBiefs()[ibief].abscissesSections().length;
+ for (int itps=0; itps<nbTps; itps++) {
+ vals[ibief][itps]=new double[nbSect];
+ for (int isect=0; isect<nbSect; isect++) {
+ vals[ibief][itps][isect]=resAdapter.getValue(MetierDescriptionVariable.PENE, ibief, itps, isect);
+ }
+ }
+ }
+ res_.addResultsVariable(MetierDescriptionVariable.PENE, vals);
}
}
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -0,0 +1,72 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
+
+/**
+ * Calcul s\xE9dimentaire avec la formule de Lefort 1991.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class MetierFormuleLefort1991 extends MetierFormuleSediment {
+
+ /**
+ * Calcul de la capacit\xE9 de transport dans chaque section selon la formule de
+ * Lefort. La formule calcule la capacit\xE9 de transport apparante avec une
+ * densit\xE9 apparente de 2. Un coefficient de 0.755 est ajout\xE9 pour revenir au
+ * volume r\xE9el et non au calcul du volume en place (voir \xE9tablissement formule
+ * de lefort).
+ */
+ @Override
+ public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
+
+ double pente = _adapter.getValue(MetierDescriptionVariable.PENE, _ibief, _itps, _isect);
+ double dens = _params.getDensiteMateriau();
+
+ double d90 = _params.getD90();
+ double d30 = _params.getD30();
+ double diam = _params.getDmoyen();
+
+ // Calcul du d\xE9bit liquide de d\xE9but d'entrainement
+ double qc;
+ if (pente <= 0) {
+ qc = 999999;
+ }
+ else {
+ qc = 0.0776 * Math.pow((9.81 * Math.pow(diam, 5)), 0.5) * Math.pow((dens - 1), (8. / 3)) * Math.pow((1 - 1.2 * pente), (8. / 3)) / Math.pow(pente, (13. / 6));
+ }
+
+ // D\xE9bit liquide
+ double qmin = _adapter.getValue(MetierDescriptionVariable.QMIN, _ibief, _itps, _isect);
+
+ // Calcul du d\xE9bit solide
+ double qs;
+ if (qc > qmin) {
+ qs = 0;
+ }
+ else {
+ qs = (qmin * 4.45 * 0.755) / (dens - 1) * Math.pow((d90 / d30), 0.2) * Math.pow(pente, 1.5) * (1 - Math.pow((qc / qmin), 0.375));
+ }
+
+ return qs;
+ }
+
+ @Override
+ public MetierDescriptionVariable[] getRequiredVariable() {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.CHAR,
+ MetierDescriptionVariable.QMIN
+ };
+ }
+
+ @Override
+ public MetierDescriptionVariable getVariable() {
+ return MetierDescriptionVariable.QS_LEFORT91;
+ }
+
+ @Override
+ public String getName() {
+ return "Lefort 1991";
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleLefort1991.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
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-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -1,11 +1,12 @@
package org.fudaa.dodico.hydraulique1d.metier.sediment;
import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
public class MetierFormuleMeyerPeter extends MetierFormuleSediment {
@Override
- public double calculer(MetierParametresSediment _params, ResultatTemporelSpatialAdapter _adapter, int _ibief, int _isect, int _itps) {
+ public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
return 1;
}
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -4,6 +4,7 @@
import java.util.List;
import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
/**
* La classe abstraire pour toutes les formules de s\xE9diment
@@ -19,7 +20,7 @@
static {
// formules_.add(MetierDescriptionVariable.QS_ENGELUND);
// formules_.add(MetierDescriptionVariable.QS_LEFORT07);
-// formules_.add(MetierDescriptionVariable.QS_LEFORT91);
+ formules_.add(new MetierFormuleLefort1991());
formules_.add(new MetierFormuleMeyerPeter());
// formules_.add(MetierDescriptionVariable.QS_RECKING10);
// formules_.add(MetierDescriptionVariable.QS_RECKING11);
@@ -32,7 +33,7 @@
super();
}
- public abstract double calculer(MetierParametresSediment _params, ResultatTemporelSpatialAdapter _adapter, int _ibief, int _isect, int _itps);
+ public abstract double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps);
/**
* @return La variable associ\xE9e et calcul\xE9e par la formule.
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-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -1,11 +1,12 @@
package org.fudaa.dodico.hydraulique1d.metier.sediment;
import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
public class MetierFormuleSmartJaggi extends MetierFormuleSediment {
@Override
- public double calculer(MetierParametresSediment _params, ResultatTemporelSpatialAdapter _adapter, int _ibief, int _isect, int _itps) {
+ public double calculer(MetierParametresSediment _params, MetierResultatsTemporelSpacialI _adapter, int _ibief, int _isect, int _itps) {
double larg=_adapter.getValue(MetierDescriptionVariable.B1, _ibief,_itps,_isect);
double pente=_adapter.getValue(MetierDescriptionVariable.PENE, _ibief,_itps,_isect);
Copied: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierResultatTemporelSpatialAdapter.java (from rev 8521, trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java)
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierResultatTemporelSpatialAdapter.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierResultatTemporelSpatialAdapter.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -0,0 +1,62 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpacialI;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
+
+/**
+ * Un adapter pour les r\xE9sultats temporels. Retourne la valeur d'un r\xE9sultat pour un bief donn\xE9,
+ * un profil et un temps donn\xE9e.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class MetierResultatTemporelSpatialAdapter implements MetierResultatsTemporelSpacialI {
+ private MetierResultatsTemporelSpatial res_;
+
+ public MetierResultatTemporelSpatialAdapter(MetierResultatsTemporelSpatial _res) {
+ res_=_res;
+ }
+
+ @Override
+ public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
+
+ double[][][] vals=res_.resultatsBiefs()[_ibief].valeursVariables();
+ double[] absSect=res_.resultatsBiefs()[_ibief].abscissesSections();
+
+ // Calcul a la vol\xE9e de la pente d'energie
+ if (MetierDescriptionVariable.PENE.equals(_var)) {
+ int indChargeVar=res_.getIndiceVariable(MetierDescriptionVariable.CHAR);
+ if (indChargeVar==-1) {
+ return Double.NaN;
+ }
+ if (vals[indChargeVar][_itps].length==1) {
+ return vals[indChargeVar][_itps][_isect];
+ }
+ else {
+ int isectInf = Math.max(_isect - 1, 0);
+ int isectSup = Math.min(_isect + 1, vals[indChargeVar][_itps].length - 1);
+ return Math.abs((vals[indChargeVar][_itps][isectSup] - vals[indChargeVar][_itps][isectInf]) / (absSect[isectSup] - absSect[isectInf]));
+ }
+ }
+ // Pour les autres variables, acc\xE8s direct
+ else {
+ return res_.getValue(_var, _ibief, _itps, _isect);
+ }
+ }
+
+ @Override
+ public int getNbBiefs() {
+ return res_.getNbBiefs();
+ }
+
+ @Override
+ public int getNbTemps() {
+ return res_.getNbTemps();
+ }
+
+ @Override
+ public int getNbSections(int _ibief) {
+ return res_.getNbSections(_ibief);
+ }
+}
Deleted: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java 2013-10-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -1,98 +0,0 @@
-package org.fudaa.dodico.hydraulique1d.metier.sediment;
-
-import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
-import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
-
-import sun.nio.cs.ext.ISCII91;
-
-/**
- * Un adapter pour les r\xE9sultats temporels. Retourne la valeur d'un r\xE9sultat pour un bief donn\xE9,
- * un profil et un temps donn\xE9e.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class ResultatTemporelSpatialAdapter {
- private MetierResultatsTemporelSpatial res_;
-
- public ResultatTemporelSpatialAdapter(MetierResultatsTemporelSpatial _res) {
- res_=_res;
- }
-
- public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
-
- double[][][] vals=res_.resultatsBiefs()[_ibief].valeursVariables();
- double[] absSect=res_.resultatsBiefs()[_ibief].abscissesSections();
-
- // Calcul a la vol\xE9e de la pente d'energie
- if (MetierDescriptionVariable.PENE.equals(_var)) {
- int indChargeVar=res_.getIndiceVariable(MetierDescriptionVariable.CHAR);
- if (indChargeVar==-1) {
- return Double.NaN;
- }
- if (vals[indChargeVar][_itps].length==1) {
- return vals[indChargeVar][_itps][_isect];
- }
- else {
- int isectInf = Math.max(_isect - 1, 0);
- int isectSup = Math.min(_isect + 1, vals[indChargeVar][_itps].length - 1);
- return Math.abs((vals[indChargeVar][_itps][isectSup] - vals[indChargeVar][_itps][isectInf]) / (absSect[isectSup] - absSect[isectInf]));
- }
- }
- // Pour les autres variables, acc\xE8s direct
- else {
- int indvar=res_.getIndiceVariable(_var);
- if (indvar==-1) {
- return Double.NaN;
- }
-
- return vals[indvar][_itps][_isect];
- }
- }
-
-// public double getValue(MetierDescriptionVariable _var, int _ibief, int _iprofil, int _itps) {
-// MetierBief bief=etude_.reseau().biefs()[_ibief];
-// int indvar=etude_.resultatsGeneraux().resultatsTemporelSpatial().getIndiceVariable(_var.nom());
-// MetierResultatsTemporelSpatialBief resBief=etude_.resultatsGeneraux().resultatsTemporelSpatial().resultatsBiefs()[_ibief];
-//
-// // extraction de l'abscisse de d\xE9but du r\xE9sultat du bief
-// double[] sectionRes = resBief.abscissesSections();
-//
-// double xDebutRes = sectionRes[0];
-// // calcul du d\xE9calage \xE9ventuelle des abscisses entre r\xE9sultat et
-// // g\xE9om\xE9trie.
-// double diffAbscisse = xDebutRes - bief.extrAmont().profilRattache().abscisse();
-// double abscProfilCorrige = bief.profils()[_iprofil].abscisse() + diffAbscisse;
-// int ifound = Arrays.binarySearch(sectionRes, abscProfilCorrige);
-// if (ifound >= 0) {
-// double[] vals = resBief.valeursVariables()[indvar][_itps];
-// return vals[ifound];
-// }
-// else {
-// // Le nombre de sections de calcul peut parfois etre inferieur a 2.
-// if (sectionRes.length<2)
-// return Double.NaN;
-//
-// int iResSup = -ifound - 1;
-// if (iResSup >= sectionRes.length) {
-// iResSup = sectionRes.length - 1;
-// }
-// int iResInf = iResSup - 1;
-// double x2 = sectionRes[iResSup];
-// double x1 = sectionRes[iResInf];
-//
-// double[] cotes = resBief.valeursVariables()[indvar][_itps];
-// double y1 = cotes[iResInf];
-// double y2 = cotes[iResSup];
-//
-// if (x1==abscProfilCorrige)
-// return y1;
-// else if (x2==abscProfilCorrige)
-// return y2;
-// else if (x1==x2)
-// throw new IllegalArgumentException("interpolation impossible");
-// else
-// return ((y1-y2)*(abscProfilCorrige-x2)/(x1-x2))+y2;
-// }
-// }
-}
Added: 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 (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -0,0 +1,119 @@
+package org.fudaa.dodico.hydraulique1d.metier;
+
+import java.io.IOException;
+
+import junit.framework.AssertionFailedError;
+
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleLefort1991;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
+import org.fudaa.dodico.mascaret.AbstractMascaretTestCase;
+
+import com.memoire.fu.FuLog;
+
+/**
+ * Un test case pour les formule de calcul par s\xE9dimentologie.
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class SedimentologieTest extends AbstractMascaretTestCase {
+ HydrauResults hydrauRes_;
+ MetierParametresSediment params_;
+ double epsilon=1.e-2;
+
+ // Issu de la feuille de calcul Excel
+ double[][] sedRes=new double[][] {
+ //Meyer-Peter
+ {1.90, 1.51, 1.13, 0.90, 0.70, 0.59, 0.36, 0.34, 0.24, 0.19, 0.15, 0.09, 0.05, 0.03, 0.01, 0.00, 0.00, 0.00},
+ //Smart et Jaeggi
+ {1.76, 1.35, 0.99, 0.77, 0.59, 0.49, 0.29, 0.28, 0.20, 0.16, 0.13, 0.08, 0.05, 0.03, 0.02, 0.00, 0.00, 0.00},
+ //Lefort 1991
+ {2.30, 1.76, 1.29, 1.00, 0.77, 0.65, 0.39, 0.38, 0.27, 0.22, 0.18, 0.12, 0.07, 0.05, 0.03, 0.01, 0.01, 0.00},
+ //Lefort 2005
+ {1.87, 1.40, 0.99, 0.75, 0.56, 0.46, 0.26, 0.25, 0.17, 0.13, 0.11, 0.07, 0.04, 0.03, 0.02, 0.01, 0.00, 0.00},
+ //lefort 2007
+ {1.80, 1.35, 0.96, 0.73, 0.55, 0.45, 0.26, 0.25, 0.17, 0.13, 0.10, 0.07, 0.04, 0.03, 0.01, 0.00, 0.00, 0.00},
+ //Engelund Hansen
+ {0.92, 0.61, 0.38, 0.26, 0.17, 0.13, 0.06, 0.06, 0.03, 0.02, 0.02, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00},
+ //Einstein Brown
+ {2.18, 1.41, 0.85, 0.59, 0.42, 0.33, 0.14, 0.13, 0.06, 0.03, 0.02, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00},
+ //Rickenmann
+ {1.41, 1.07, 0.77, 0.59, 0.44, 0.35, 0.19, 0.18, 0.11, 0.07, 0.04, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00},
+ //Recking 2008
+ {2.02, 1.44, 0.96, 0.69, 0.49, 0.39, 0.21, 0.20, 0.13, 0.09, 0.06, 0.02, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00},
+ //Recking 2010
+ {1.24, 0.88, 0.59, 0.43, 0.30, 0.24, 0.13, 0.12, 0.07, 0.03, 0.02, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00},
+ //Recking 2011
+ {1.05, 0.73, 0.46, 0.32, 0.20, 0.15, 0.05, 0.05, 0.02, 0.01, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00, 0.00},
+ //Van Rijn
+ {0.45, 0.32, 0.22, 0.16, 0.11, 0.09, 0.04, 0.04, 0.02, 0.02, 0.01, 0.01, 0.00, 0.00, 0.00, 0.00, 0.00, 0.01}
+ };
+
+ /**
+ * 1 seul bief, une seule section, avec plusieurs temps pour simuler un changement de d\xE9bit.
+ * @author Bertrand Marchand (mar...@de...)
+ */
+ class HydrauResults implements MetierResultatsTemporelSpacialI {
+ // Les debits, issus de la feuille Excel
+ double[] debits = new double[] { 1000, 774, 573, 450, 350, 296, 185, 178, 132, 107, 88, 63, 40, 30, 20, 10, 5, 1 };
+
+ @Override
+ public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
+ // Pente d'energie
+ if (_var.nom().equals(MetierDescriptionVariable.PENE.nom())) {
+ return 0.01;
+ }
+ // Largeur du bief
+ else if (_var.nom().equals(MetierDescriptionVariable.B1.nom())) {
+ return 50;
+ }
+ // Strickler du bief
+ else if (_var.nom().equals(MetierDescriptionVariable.KMIN.nom())) {
+ return 32;
+ }
+ // Debit
+ else if (_var.nom().equals(MetierDescriptionVariable.QMIN.nom())) {
+ return debits[_itps];
+ }
+ throw new AssertionFailedError();
+ }
+
+ @Override
+ public int getNbBiefs() {
+ return 1;
+ }
+
+ @Override
+ public int getNbTemps() {
+ return debits.length;
+ }
+
+ @Override
+ public int getNbSections(int _ibief) {
+ return 1;
+ }
+ }
+
+ public SedimentologieTest() {
+ hydrauRes_=new HydrauResults();
+ params_=new MetierParametresSediment();
+ params_.setDmoyen(0.02);
+ params_.setD30(0.04);
+ params_.setD50(0.06);
+ params_.setD84(0.1);
+ params_.setD90(0.11);
+ params_.setRugosite(40);
+ params_.setDensiteMateriau(2.65);
+ params_.setDensiteApparente(2);
+ params_.setTauc(0.055);
+ params_.setTEau(17);
+ }
+
+ public void testFormuleLefort1991() throws IOException {
+ FuLog.debug("Formule Lefort1991");
+ MetierFormuleSediment form=new MetierFormuleLefort1991();
+ for (int itps=0; itps<hydrauRes_.getNbTemps(); itps++) {
+ double val=form.calculer(params_, hydrauRes_, 0, 0, itps);
+ assertEquals(val, sedRes[2][itps],epsilon);
+ }
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/test/java/org/fudaa/dodico/hydraulique1d/metier/SedimentologieTest.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-15 13:31:12 UTC (rev 8522)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-17 12:33:25 UTC (rev 8523)
@@ -21,8 +21,6 @@
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierSediment;
import org.fudaa.ebli.commun.EbliPreferences;
import org.fudaa.ebli.dialog.BDialogContent;
-import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
-import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseImplementation;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import com.memoire.bu.BuComboBox;
@@ -373,7 +371,6 @@
tfD50_.setValue(param_.getD50());
tfD84_.setValue(param_.getD84());
tfD90_.setValue(param_.getD90());
- tfD90_.setValue(param_.getD90());
tfRugo_.setValue(param_.getRugosite());
tfDensMat_.setValue(param_.getDensiteMateriau());
tfDensApparente_.setValue(param_.getDensiteApparente());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-10-15 10:09:56
|
Revision: 8521
http://sourceforge.net/p/fudaa/svn/8521
Author: bmarchan
Date: 2013-10-15 10:09:52 +0000 (Tue, 15 Oct 2013)
Log Message:
-----------
Mascaret : Mise en place du processus de calcul des r?\195?\169sultats s?\195?\169dimentologiques
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsGeneraux.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Added Paths:
-----------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java
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/MetierFormuleSediment.java
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/ResultatTemporelSpatialAdapter.java
Removed Paths:
-------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -56,22 +56,24 @@
public static final MetierDescriptionVariable QMAX = new MetierDescriptionVariable("QMAX", "Debit maximal", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2);
public static final MetierDescriptionVariable TQMA = new MetierDescriptionVariable("TQMA", "Instant de debit maximal", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1);
public static final MetierDescriptionVariable EMAX = new MetierDescriptionVariable("EMAX", "Energie maximale", EnumMetierUnite.J, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable PENE = new MetierDescriptionVariable("PENE", "Pente d'energie", EnumMetierUnite.RIEN, EnumMetierTypeNombre.REEL, 3);
/**
* Variables pour la s\xE9dimentologie
*/
- public static final MetierDescriptionVariable QS_MEYERPETER= new MetierDescriptionVariable("QSMEY", "D\xE9bit solide (Meyer-Peter)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_LEFORT91 = new MetierDescriptionVariable("QSL91", "D\xE9bit solide (Lefort 1991)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_LEFORT07 = new MetierDescriptionVariable("QSL07", "D\xE9bit solide (Lefort 2007)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_ENGELUND = new MetierDescriptionVariable("QSENG", "D\xE9bit solide (Engelund & Hansen)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_RECKING10 = new MetierDescriptionVariable("QSR10", "D\xE9bit solide (Recking 2010)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_RECKING11 = new MetierDescriptionVariable("QSR11", "D\xE9bit solide (Recking 2011)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable SE_VANRIJN = new MetierDescriptionVariable("QSVAN", "D\xE9bit solide (Van Rijn)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable SE_SMARTJAGGI= new MetierDescriptionVariable("QSSMA", "D\xE9bit solide (Smart & Jaggi)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
- public static final MetierDescriptionVariable QS_RICKENMANN= new MetierDescriptionVariable("QSRIC", "D\xE9bit solide (Rickenmann)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_MEYERPETER= new MetierDescriptionVariable("QSMEY", "D\xE9bit solide (Meyer-Peter)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_LEFORT91 = new MetierDescriptionVariable("QSL91", "D\xE9bit solide (Lefort 1991)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_LEFORT07 = new MetierDescriptionVariable("QSL07", "D\xE9bit solide (Lefort 2007)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_ENGELUND = new MetierDescriptionVariable("QSENG", "D\xE9bit solide (Engelund & Hansen)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_RECKING10 = new MetierDescriptionVariable("QSR10", "D\xE9bit solide (Recking 2010)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_RECKING11 = new MetierDescriptionVariable("QSR11", "D\xE9bit solide (Recking 2011)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_VANRIJN = new MetierDescriptionVariable("QSVAN", "D\xE9bit solide (Van Rijn)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_SMARTJAGGI= new MetierDescriptionVariable("QSSMA", "D\xE9bit solide (Smart & Jaggi)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ transient public static final MetierDescriptionVariable QS_RICKENMANN= new MetierDescriptionVariable("QSRIC", "D\xE9bit solide (Rickenmann)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
/**
- * Toutes les variables possibles, index\xE9s dans l'ordre d'apparition.
+ * Toutes les variables possibles, certaines issues de calculs, certaines
+ * calcul\xE9es \xE0 la vol\xE9e. Index\xE9s dans l'ordre d'apparition.
*/
public static final MetierDescriptionVariable[] VARIABLES= {
ZREF,
@@ -122,9 +124,10 @@
QS_ENGELUND,
QS_RECKING10,
QS_RECKING11,
- SE_VANRIJN,
- SE_SMARTJAGGI,
- QS_RICKENMANN
+ QS_VANRIJN,
+ QS_SMARTJAGGI,
+ QS_RICKENMANN,
+ PENE
};
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsGeneraux.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsGeneraux.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsGeneraux.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -43,7 +43,8 @@
resultatsRubens(q.resultatsRubens());
resultatsRubensCasier(q.resultatsRubensCasier());
resultatsRubensLiaison(q.resultatsRubensLiaison());
- resultatsTemporelSpatial(q.resultatsTemporelSpatial());
+ if (q.resultatsTemporelSpatial()!=null)
+ resultatsTemporelSpatial(q.resultatsTemporelSpatial());
resultatsTemporelCasier(q.resultatsTemporelCasier());
resultatsTemporelLiaison(q.resultatsTemporelLiaison());
resultatsTemporelTracer(q.resultatsTemporelTracer());
@@ -78,8 +79,8 @@
resultatsRubens_= null;
resultatsRubensCasier_= null;
resultatsRubensLiaison_= null;
- resultatsTemporelSpatial_=
- new MetierResultatsTemporelSpatial();
+ resultatsTemporelSpatial_= null;
+// new MetierResultatsTemporelSpatial();
resultatsTemporelCasier_=
new MetierResultatsTemporelSpatial();
resultatsTemporelLiaison_=
@@ -247,6 +248,10 @@
"resultatsRubensLiaison");
}
+ public boolean hasResultatsTemporelSpatial() {
+ return resultatsTemporelSpatial_!=null;
+ }
+
private MetierResultatsTemporelSpatial resultatsTemporelSpatial_;
public MetierResultatsTemporelSpatial resultatsTemporelSpatial() {
return resultatsTemporelSpatial_;
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -262,6 +262,16 @@
/**
* end l'indice de colonne correspondant \xE0 ce nom de variable.
*
+ * @param _var : La variable
+ * @return L'indice dans le tableau ou -1 si cette variable est introuvable.
+ */
+ public int getIndiceVariable(MetierDescriptionVariable _var) {
+ return getIndiceVariable(_var.nom());
+ }
+
+ /**
+ * end l'indice de colonne correspondant \xE0 ce nom de variable.
+ *
* @param _c : nom de la variable
* @return L'indice dans le tableau ou -1 si cette variable est introuvable.
*/
@@ -397,7 +407,7 @@
* Ajoute les r\xE9sultats pour une variable donn\xE9e.
*
* @param _var La variable pour laquelle on ajoute les valeurs.
- * @param _vals Un tableau \xE0 3 dimensions [ibief][itps][isect]. Le nombre de biefs, le nombre de sections par biefs,
+ * @param _vals Un tableau \xE0 3 dimensions [nbbief][nbtps][nbsect]. Le nombre de biefs, le nombre de sections par biefs,
* le nombre de temps doit \xEAtre identique \xE0 l'existant.
* @return True : Si l'ajout s'est correctement pass\xE9. False si la variable existe d\xE9j\xE0
* @exception IllegalArgumentException Si le tableau des valeurs pass\xE9es est incoh\xE9rent avec les r\xE9sultats existants.
Deleted: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -1,61 +0,0 @@
-package org.fudaa.dodico.hydraulique1d.metier.sediment;
-
-/**
- * Les formules pour la s\xE9dimentologie. Cette classe n'est volontairement pas une \xE9numeration
- * pour la serialisation Yapod.
- *
- * @author Bertrand Marchand (mar...@de...)
- * @version $Id$
- */
-public class EnumFormuleSediment {
- public static final EnumFormuleSediment MEYER_PETER=new EnumFormuleSediment("Meyer-Peter");
- public static final EnumFormuleSediment LEFORT_1991=new EnumFormuleSediment("Lefort 1991");
- public static final EnumFormuleSediment LEFORT_2007=new EnumFormuleSediment("Lefort 2007");
- public static final EnumFormuleSediment ENGELUND_HANSEN=new EnumFormuleSediment("Engelund & Hansen");
- public static final EnumFormuleSediment RECKING_2010=new EnumFormuleSediment("Recking 2010");
- public static final EnumFormuleSediment RECKING_2011=new EnumFormuleSediment("Recking 2011");
- public static final EnumFormuleSediment VAN_RIJN=new EnumFormuleSediment("Van Rijn");
- public static final EnumFormuleSediment SMART_JAGGI=new EnumFormuleSediment("Smart & J\xE4ggi");
- public static final EnumFormuleSediment RICKENMANN=new EnumFormuleSediment("Rickenmann");
-
- public String name_;
-
- public static EnumFormuleSediment[] values() {
- return new EnumFormuleSediment[]{
- MEYER_PETER,
- LEFORT_1991,
- LEFORT_2007,
- ENGELUND_HANSEN,
- RECKING_2010,
- RECKING_2011,
- VAN_RIJN,
- SMART_JAGGI,
- RICKENMANN
- };
- }
-
- /**
- * On ne devrait pas acceder \xE0 ce constructeur.
- */
- protected EnumFormuleSediment() {
- name_="";
- }
-
- private EnumFormuleSediment(String _name) {
- name_=_name;
- }
-
- /**
- * Necessaire pour comparer correctement 2 enums.
- */
- @Override
- public boolean equals(Object _obj) {
- if (_obj==null || !(_obj instanceof EnumFormuleSediment)) return false;
- return name_.equals(((EnumFormuleSediment)_obj).name_);
- }
-
- @Override
- public String toString() {
- return name_;
- }
-}
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -0,0 +1,66 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
+
+/**
+ * Calcul des resultats sp\xE9cifiques s\xE9dimentaires. Les r\xE9sultats sont ajout\xE9s
+ * aux r\xE9sultats g\xE9n\xE9raux.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class MetierCalculSediment {
+ private MetierResultatsTemporelSpatial res_;
+ private MetierParametresSediment params_;
+
+ public MetierCalculSediment(MetierResultatsTemporelSpatial _res, MetierParametresSediment _params) {
+ res_ = _res;
+ params_=_params;
+ }
+
+ /**
+ * Supprime tous les r\xE9sultats s\xE9dimentaires
+ */
+ public void clearResultatsSediment() {
+ for (MetierDescriptionVariable var : MetierSediment.VARIABLES) {
+ res_.removeResultsVariable(var);
+ }
+ }
+
+ /**
+ * Calcule et ajoute les r\xE9sultats pour une varaible s\xE9dimentaire.
+ * @param _var La variable s\xE9dimentaire.
+ */
+ public void computeResultsForVariable(MetierDescriptionVariable _var) {
+ boolean found=false;
+ for (MetierDescriptionVariable var : MetierSediment.VARIABLES) {
+ if (var.equals(_var)) {
+ found=true;
+ break;
+ }
+ }
+ if (!found)
+ throw new IllegalArgumentException("Variable non s\xE9dimentaire");
+
+ MetierFormuleSediment formule=MetierFormuleSediment.getFormule(_var);
+ ResultatTemporelSpatialAdapter resAdapter=new ResultatTemporelSpatialAdapter(res_);
+
+ // Suppression eventuelle de l'ancienne variable de m\xEAme nom
+ res_.removeResultsVariable(_var);
+
+ int nbBief=res_.resultatsBiefs().length;
+ int nbTps=res_.valPas().length;
+ double[][][] vals=new double[nbBief][nbTps][];
+ for (int ibief=0; ibief<nbBief; ibief++) {
+ int nbSect=res_.resultatsBiefs()[ibief].abscissesSections().length;
+ for (int itps=0; itps<nbTps; itps++) {
+ vals[ibief][itps]=new double[nbSect];
+ for (int isect=0; isect<nbSect; isect++) {
+ vals[ibief][itps][isect]=formule.calculer(params_, resAdapter, ibief, isect, itps);
+ }
+ }
+ }
+ res_.addResultsVariable(_var, vals);
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierCalculSediment.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: 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 (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -0,0 +1,30 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+
+public class MetierFormuleMeyerPeter extends MetierFormuleSediment {
+
+ @Override
+ public double calculer(MetierParametresSediment _params, ResultatTemporelSpatialAdapter _adapter, int _ibief, int _isect, int _itps) {
+ return 1;
+ }
+
+ @Override
+ public MetierDescriptionVariable[] getRequiredVariable() {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.B1,
+ MetierDescriptionVariable.CHAR
+ // A completer
+ };
+ }
+
+ @Override
+ public MetierDescriptionVariable getVariable() {
+ return MetierDescriptionVariable.QS_MEYERPETER;
+ }
+
+ @Override
+ public String getName() {
+ return "Meyer-Peter";
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleMeyerPeter.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Copied: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java (from rev 8519, trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java)
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSediment.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -0,0 +1,86 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+
+/**
+ * La classe abstraire pour toutes les formules de s\xE9diment
+ * @author Bertrand Marchand (mar...@de...)
+ *
+ */
+public abstract class MetierFormuleSediment {
+
+ /**
+ * Contient les instances de chaque formule.
+ */
+ private static List<MetierFormuleSediment> formules_=new ArrayList<MetierFormuleSediment>();
+ static {
+// formules_.add(MetierDescriptionVariable.QS_ENGELUND);
+// formules_.add(MetierDescriptionVariable.QS_LEFORT07);
+// formules_.add(MetierDescriptionVariable.QS_LEFORT91);
+ formules_.add(new MetierFormuleMeyerPeter());
+// formules_.add(MetierDescriptionVariable.QS_RECKING10);
+// formules_.add(MetierDescriptionVariable.QS_RECKING11);
+// formules_.add(MetierDescriptionVariable.QS_RICKENMANN);
+ formules_.add(new MetierFormuleSmartJaggi());
+// formules_.add(MetierDescriptionVariable.QS_VANRIJN);
+ }
+
+ public MetierFormuleSediment() {
+ super();
+ }
+
+ public abstract double calculer(MetierParametresSediment _params, ResultatTemporelSpatialAdapter _adapter, int _ibief, int _isect, int _itps);
+
+ /**
+ * @return La variable associ\xE9e et calcul\xE9e par la formule.
+ */
+ public abstract MetierDescriptionVariable getVariable();
+
+ /**
+ * @return Le nom de la formule (pour affichage)
+ */
+ public abstract String getName();
+
+ /**
+ * @return Les variables necessaires au calcul par la formule. Sans ces
+ * variables, le calcul n'est pas possible.
+ */
+ public abstract MetierDescriptionVariable[] getRequiredVariable();
+
+ /**
+ * Necessaire pour comparer correctement 2 enums.
+ */
+ @Override
+ public boolean equals(Object _obj) {
+ if (_obj==null || !(_obj instanceof MetierFormuleSediment)) return false;
+ return getVariable().equals(((MetierFormuleSediment)_obj).getVariable());
+ }
+
+ @Override
+ public String toString() {
+ return getName();
+ }
+
+ /**
+ * @return Toutes les formules possibles.
+ */
+ public static MetierFormuleSediment[] values() {
+ return formules_.toArray(new MetierFormuleSediment[0]);
+ }
+
+ /**
+ * La formule utilis\xE9e pour le calcul de la variable en entr\xE9e
+ * @param _var La variable
+ * @return La formule, ou null si la variable n'est pas s\xE9dimentaire.
+ */
+ public static MetierFormuleSediment getFormule(MetierDescriptionVariable _var) {
+ for (MetierFormuleSediment formule : values()) {
+ if (formule.getVariable().nom().equals(_var.nom()))
+ return formule;
+ }
+ return null;
+ }
+}
\ No newline at end of file
Added: 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 (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -0,0 +1,56 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+
+public class MetierFormuleSmartJaggi extends MetierFormuleSediment {
+
+ @Override
+ public double calculer(MetierParametresSediment _params, ResultatTemporelSpatialAdapter _adapter, int _ibief, int _isect, int _itps) {
+ double larg=_adapter.getValue(MetierDescriptionVariable.B1, _ibief,_itps,_isect);
+ double pente=_adapter.getValue(MetierDescriptionVariable.PENE, _ibief,_itps,_isect);
+
+ double densMat=_params.getDensiteMateriau();
+ double d30=_params.getD30();
+ double d90=_params.getD90();
+
+ double rap=Math.pow(d90/d30,0.2);
+ double tetac=0.05*Math.cos(Math.atan(pente))*(1.-pente/Math.tan(0.61));
+
+ return 2;
+ }
+
+ public double debitCrit(MetierParametresSediment _params, double tau_cible) {
+ // Issu des resultats hydrau pour ce profil.
+ double coefStrickler=0; // (change suivant profil)
+ double ks = coefStrickler;
+ double pente=0;
+ double Larg = 0; // change suivant profil
+ double dens=_params.getDensiteMateriau();
+ double dm = _params.getDmoyen();
+
+ double Rhc = tau_cible * (dens - 1) * dm / pente;
+ double hc = Rhc * Larg / (Larg - 2 * Rhc);
+ double surf = hc * Larg;
+
+ return ks * surf / Math.pow(pente,(1. / 6)) * Math.pow((tau_cible * (dens - 1) * dm),(2. / 3));
+ }
+
+ @Override
+ public MetierDescriptionVariable[] getRequiredVariable() {
+ return new MetierDescriptionVariable[] {
+ MetierDescriptionVariable.B1,
+ MetierDescriptionVariable.CHAR
+ // A completer
+ };
+ }
+
+ @Override
+ public MetierDescriptionVariable getVariable() {
+ return MetierDescriptionVariable.QS_SMARTJAGGI;
+ }
+
+ @Override
+ public String getName() {
+ return "Smart & Jaggi";
+ }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierFormuleSmartJaggi.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -33,7 +33,7 @@
/** Contrainte critique adimensionnelle */
private double tauc_=0.047;
/** Formule de calcul */
- private EnumFormuleSediment formule_;
+ private MetierFormuleSediment formule_;
// Constructeur.
public MetierParametresSediment() {
@@ -69,6 +69,12 @@
return p;
}
+ @Override
+ final public String toString() {
+ String s = "parametresSediment";
+ return s;
+ }
+
public void setActif(boolean _b) {
if (isActif_==_b) return;
this.isActif_ = _b;
@@ -179,11 +185,11 @@
this.tauc_ = tauc;
}
- public EnumFormuleSediment getFormule() {
+ public MetierFormuleSediment getFormule() {
return formule_;
}
- public void setFormule(EnumFormuleSediment _formule) {
+ public void setFormule(MetierFormuleSediment _formule) {
if (formule_==_formule) return;
Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Formule");
this.formule_ = _formule;
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -8,6 +8,7 @@
*/
package org.fudaa.dodico.hydraulique1d.metier.sediment;
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
@@ -18,6 +19,22 @@
* @author Bertrand Marchand (mar...@de...)
*/
public class MetierSediment extends MetierHydraulique1d {
+
+ /**
+ * L'ensemble des variables s\xE9dimentaires
+ */
+ public final static MetierDescriptionVariable[] VARIABLES = {
+ MetierDescriptionVariable.QS_ENGELUND,
+ MetierDescriptionVariable.QS_LEFORT07,
+ MetierDescriptionVariable.QS_LEFORT91,
+ MetierDescriptionVariable.QS_MEYERPETER,
+ MetierDescriptionVariable.QS_RECKING10,
+ MetierDescriptionVariable.QS_RECKING11,
+ MetierDescriptionVariable.QS_RICKENMANN,
+ MetierDescriptionVariable.QS_SMARTJAGGI,
+ MetierDescriptionVariable.QS_VANRIJN
+ };
+
private MetierParametresSediment params_;
// Constructeur.
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -0,0 +1,98 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierResultatsTemporelSpatial;
+
+import sun.nio.cs.ext.ISCII91;
+
+/**
+ * Un adapter pour les r\xE9sultats temporels. Retourne la valeur d'un r\xE9sultat pour un bief donn\xE9,
+ * un profil et un temps donn\xE9e.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class ResultatTemporelSpatialAdapter {
+ private MetierResultatsTemporelSpatial res_;
+
+ public ResultatTemporelSpatialAdapter(MetierResultatsTemporelSpatial _res) {
+ res_=_res;
+ }
+
+ public double getValue(MetierDescriptionVariable _var, int _ibief, int _itps, int _isect) {
+
+ double[][][] vals=res_.resultatsBiefs()[_ibief].valeursVariables();
+ double[] absSect=res_.resultatsBiefs()[_ibief].abscissesSections();
+
+ // Calcul a la vol\xE9e de la pente d'energie
+ if (MetierDescriptionVariable.PENE.equals(_var)) {
+ int indChargeVar=res_.getIndiceVariable(MetierDescriptionVariable.CHAR);
+ if (indChargeVar==-1) {
+ return Double.NaN;
+ }
+ if (vals[indChargeVar][_itps].length==1) {
+ return vals[indChargeVar][_itps][_isect];
+ }
+ else {
+ int isectInf = Math.max(_isect - 1, 0);
+ int isectSup = Math.min(_isect + 1, vals[indChargeVar][_itps].length - 1);
+ return Math.abs((vals[indChargeVar][_itps][isectSup] - vals[indChargeVar][_itps][isectInf]) / (absSect[isectSup] - absSect[isectInf]));
+ }
+ }
+ // Pour les autres variables, acc\xE8s direct
+ else {
+ int indvar=res_.getIndiceVariable(_var);
+ if (indvar==-1) {
+ return Double.NaN;
+ }
+
+ return vals[indvar][_itps][_isect];
+ }
+ }
+
+// public double getValue(MetierDescriptionVariable _var, int _ibief, int _iprofil, int _itps) {
+// MetierBief bief=etude_.reseau().biefs()[_ibief];
+// int indvar=etude_.resultatsGeneraux().resultatsTemporelSpatial().getIndiceVariable(_var.nom());
+// MetierResultatsTemporelSpatialBief resBief=etude_.resultatsGeneraux().resultatsTemporelSpatial().resultatsBiefs()[_ibief];
+//
+// // extraction de l'abscisse de d\xE9but du r\xE9sultat du bief
+// double[] sectionRes = resBief.abscissesSections();
+//
+// double xDebutRes = sectionRes[0];
+// // calcul du d\xE9calage \xE9ventuelle des abscisses entre r\xE9sultat et
+// // g\xE9om\xE9trie.
+// double diffAbscisse = xDebutRes - bief.extrAmont().profilRattache().abscisse();
+// double abscProfilCorrige = bief.profils()[_iprofil].abscisse() + diffAbscisse;
+// int ifound = Arrays.binarySearch(sectionRes, abscProfilCorrige);
+// if (ifound >= 0) {
+// double[] vals = resBief.valeursVariables()[indvar][_itps];
+// return vals[ifound];
+// }
+// else {
+// // Le nombre de sections de calcul peut parfois etre inferieur a 2.
+// if (sectionRes.length<2)
+// return Double.NaN;
+//
+// int iResSup = -ifound - 1;
+// if (iResSup >= sectionRes.length) {
+// iResSup = sectionRes.length - 1;
+// }
+// int iResInf = iResSup - 1;
+// double x2 = sectionRes[iResSup];
+// double x1 = sectionRes[iResInf];
+//
+// double[] cotes = resBief.valeursVariables()[indvar][_itps];
+// double y1 = cotes[iResInf];
+// double y2 = cotes[iResSup];
+//
+// if (x1==abscProfilCorrige)
+// return y1;
+// else if (x2==abscProfilCorrige)
+// return y2;
+// else if (x1==x2)
+// throw new IllegalArgumentException("interpolation impossible");
+// else
+// return ((y1-y2)*(abscProfilCorrige-x2)/(x1-x2))+y2;
+// }
+// }
+}
Property changes on: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/ResultatTemporelSpatialAdapter.java
___________________________________________________________________
Added: svn:keywords
## -0,0 +1 ##
+Id
\ No newline at end of property
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -12,11 +12,17 @@
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
+import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
-import org.fudaa.dodico.hydraulique1d.metier.sediment.EnumFormuleSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierCalculSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierSediment;
import org.fudaa.ebli.commun.EbliPreferences;
import org.fudaa.ebli.dialog.BDialogContent;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseImplementation;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import com.memoire.bu.BuComboBox;
@@ -36,6 +42,7 @@
implements ActionListener {
private MetierParametresSediment param_;
+ private MetierEtude1d etude_;
private JCheckBox cbActif_;
private BuGridLayout lyCenter_;
@@ -103,7 +110,7 @@
lbFormule_=new BuLabel(getS("Formule"));
coFormule_=new BuComboBox();
coFormule_.addItem("");
- for (EnumFormuleSediment item : EnumFormuleSediment.values()) {
+ for (MetierFormuleSediment item : MetierFormuleSediment.values()) {
coFormule_.addItem(item);
}
@@ -162,6 +169,7 @@
}
else {
if (getValeurs()) firePropertyChange("parametres", null, param_);
+ updateResults();
fermer();
}
}
@@ -264,8 +272,8 @@
param_.setTEau(tEau);
changed=true;
}
- EnumFormuleSediment formule;
- formule=(EnumFormuleSediment)coFormule_.getSelectedItem();
+ MetierFormuleSediment formule;
+ formule=(MetierFormuleSediment)coFormule_.getSelectedItem();
if (!formule.equals(param_.getFormule())) {
param_.setFormule(formule);
changed=true;
@@ -274,15 +282,57 @@
return changed;
}
+ /**
+ * Pas utilis\xE9. Trop g\xE9n\xE9raliste.
+ */
@Override
public void setObject(MetierHydraulique1d _param) {
- if (!(_param instanceof MetierParametresSediment)) return;
+ }
+
+ public void setParametres(MetierParametresSediment _param) {
if (_param==param_) return;
-
- param_= (MetierParametresSediment)_param;
+ param_=_param;
setValeurs();
}
+
+ public void setEtude(MetierEtude1d _etude) {
+ if (etude_==_etude) return;
+ etude_= _etude;
+ }
+ private void updateResults() {
+ if (etude_.resultatsGeneraux().hasResultatsTemporelSpatial()) {
+ // On ajoute le nouveau r\xE9sultat
+ if (etude_.sediment().parametres().isActif()) {
+ MetierFormuleSediment formule=etude_.sediment().parametres().getFormule();
+ StringBuilder sb=new StringBuilder();
+ for (MetierDescriptionVariable var : formule.getRequiredVariable()) {
+ if (etude_.resultatsGeneraux().resultatsTemporelSpatial().getIndiceVariable(var)==-1) {
+ sb.append("\n- ").append(var.description());
+ }
+ }
+ if (sb.length() != 0) {
+// sb.setLength(sb.length()-2);
+ JOptionPane.showMessageDialog(this,
+ getS("Les variables hydrauliques suivantes sont n\xE9cessaires pour le calcul s\xE9dimentologique:{0}\n\nAucun calcul ne sera effectu\xE9.", sb.toString()),
+ getS("Attention"),
+ JOptionPane.WARNING_MESSAGE);
+ return;
+ }
+
+ MetierCalculSediment calSed=new MetierCalculSediment(etude_.resultatsGeneraux().resultatsTemporelSpatial(), etude_.sediment().parametres());
+ calSed.computeResultsForVariable(formule.getVariable());
+ }
+ // On supprime les resultats de s\xE9dimentologie.
+ else {
+ for (MetierDescriptionVariable var : MetierSediment.VARIABLES) {
+ etude_.resultatsGeneraux().resultatsTemporelSpatial().removeResultsVariable(var);
+ }
+ }
+// if (etude_.sediment().parametres().getFormule());
+ }
+ }
+
private void changeCbActif() {
boolean b=cbActif_.isSelected();
lbDmoy_.setEnabled(b);
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -10,8 +10,13 @@
import javax.swing.JComponent;
+import org.fudaa.dodico.hydraulique1d.metier.MetierDescriptionVariable;
import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierCalculSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierFormuleSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierSediment;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseImplementation;
import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
import org.fudaa.fudaa.hydraulique1d.editor.Hydraulique1dParametresSedimentEditor;
@@ -34,7 +39,8 @@
public void editer() {
if (edit_ == null) {
edit_= new Hydraulique1dParametresSedimentEditor();
- edit_.setObject(etude_.sediment().parametres());
+ edit_.setParametres(etude_.sediment().parametres());
+ edit_.setEtude(etude_);
installContextHelp(edit_);
listenToEditor(edit_);
BuAssistant ass= Hydraulique1dResource.getAssistant();
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-10-11 16:11:52 UTC (rev 8520)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-10-15 10:09:52 UTC (rev 8521)
@@ -476,7 +476,7 @@
zonesFrottementCalees();
} else if (action.equals("CALCUL_CALAGE")) {
calculer(true);
- } else if (action.equals("GRANULO_SEDIMENT")) {
+ } else if (action.equals("PARAM_SEDIMENT")) {
paramsSediment();
} else if (action.equals("MODELEQUALITEDEAU")) {
modeleQualiteDEau();
@@ -835,7 +835,7 @@
*/
private BuMenu buildSedimentMenu() {
BuMenu r=new BuMenu(_("S\xE9diment"), "SEDIMENT");
- r.addMenuItem(_("Param\xE8tres de granulom\xE9trie"),"GRANULO_SEDIMENT");
+ r.addMenuItem(_("Param\xE8tres de s\xE9dimentologie"),"PARAM_SEDIMENT");
return r;
}
@@ -2176,6 +2176,7 @@
setEnabledForAction("EXPORTMASCARET", false);
setEnabledForAction("EXPORTXML", false);
}
+ setEnabledForAction("SEDIMENT", etat>=AUTORISE_RESEAU);
if (etat >= AUTORISE_RESEAU) {
setEnabledForAction("RESEAU", true);
} else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-10-11 16:11:58
|
Revision: 8520
http://sourceforge.net/p/fudaa/svn/8520
Author: bmarchan
Date: 2013-10-11 16:11:52 +0000 (Fri, 11 Oct 2013)
Log Message:
-----------
Mascaret : S?\195?\169dimentologie active/non + ajout/suppression d'un resultat
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/conv/ConvMasc_H1D.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierParametresResultats.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/conv/ConvMasc_H1D.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/conv/ConvMasc_H1D.java 2013-10-10 13:28:07 UTC (rev 8519)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/conv/ConvMasc_H1D.java 2013-10-11 16:11:52 UTC (rev 8520)
@@ -906,9 +906,9 @@
private static final void convertirParametresVarStock(MetierParametresResultats _res, SParametresVarStock _params) {
for (int i = 0; i < _params.varStockees.length; i++) {
if (_params.varStockees[i] == true) {
- _res.ajouteVariable(MetierParametresResultats.VARIABLES[i].nom());
+ _res.ajouteVariable(MetierDescriptionVariable.VARIABLES[i].nom());
} else {
- _res.supprimeVariable(MetierParametresResultats.VARIABLES[i].nom());
+ _res.supprimeVariable(MetierDescriptionVariable.VARIABLES[i].nom());
}
}
}
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-10 13:28:07 UTC (rev 8519)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-11 16:11:52 UTC (rev 8520)
@@ -14,6 +14,120 @@
* @author Axel von Arnim
*/
public class MetierDescriptionVariable extends MetierHydraulique1d {
+ public static final MetierDescriptionVariable ZREF = new MetierDescriptionVariable("ZREF", "Cote du fond", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable RGC = new MetierDescriptionVariable("RGC", "Cote de la rive gauche", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable RDC = new MetierDescriptionVariable("RDC", "Cote de la rive droite", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable KMIN = new MetierDescriptionVariable("KMIN", "Coefficient de frottement mineur", EnumMetierUnite.M1_TIERS_PAR_S, EnumMetierTypeNombre.REEL, 0);
+ public static final MetierDescriptionVariable KMAJ = new MetierDescriptionVariable("KMAJ", "Coefficient de frottement majeur", EnumMetierUnite.M1_TIERS_PAR_S, EnumMetierTypeNombre.REEL, 0);
+ public static final MetierDescriptionVariable Z = new MetierDescriptionVariable("Z", "Cote de l'eau", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QMIN = new MetierDescriptionVariable("QMIN", "D\xE9bit mineur", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QMAJ = new MetierDescriptionVariable("QMAJ", "D\xE9bit majeur", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable S1 = new MetierDescriptionVariable("S1", "Section mouillee mineure", EnumMetierUnite.M2, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable S2 = new MetierDescriptionVariable("S2", "Section mouillee majeure", EnumMetierUnite.M2, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable FR = new MetierDescriptionVariable("FR", "Nombre de Froude", EnumMetierUnite.RIEN, EnumMetierTypeNombre.REEL, 5);
+ public static final MetierDescriptionVariable BETA = new MetierDescriptionVariable("BETA", "Coefficient beta modele DEBORD", EnumMetierUnite.RIEN, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable B1 = new MetierDescriptionVariable("B1", "Largeur au miroir mineure", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable B2 = new MetierDescriptionVariable("B2", "Largeur au miroir majeure", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable BS = new MetierDescriptionVariable("BS", "Largeur au miroir du stockage", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable P1 = new MetierDescriptionVariable("P1", "Perimetre mouille mineur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable P2 = new MetierDescriptionVariable("P2", "Perimetre mouille majeur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable RH1 = new MetierDescriptionVariable("RH1", "Rayon hydraulique mineur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable RH2 = new MetierDescriptionVariable("RH2", "Rayon hydraulique majeur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable VMIN = new MetierDescriptionVariable("VMIN", "Vitesse mineur", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable VMAJ = new MetierDescriptionVariable("VMAJ", "Vitesse majeure", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable TAUF = new MetierDescriptionVariable("TAUF", "Contrainte au fond", EnumMetierUnite.PA, EnumMetierTypeNombre.REEL, 6);
+ public static final MetierDescriptionVariable Y = new MetierDescriptionVariable("Y", "Hauteur d'eau maximale", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable HMOY = new MetierDescriptionVariable("HMOY", "Hauteur d'eau moyenne", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable Q2G = new MetierDescriptionVariable("Q2G", "Debit majeur gauche", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable Q2D = new MetierDescriptionVariable("Q2D", "Debit majeur droit", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable SS = new MetierDescriptionVariable("SS", "Section mouillee du stockage", EnumMetierUnite.M2, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable VOL = new MetierDescriptionVariable("VOL", "Volume du lit actif", EnumMetierUnite.M3, EnumMetierTypeNombre.REEL, 0);
+ public static final MetierDescriptionVariable VOLS = new MetierDescriptionVariable("VOLS", "Volume de stockage", EnumMetierUnite.M3, EnumMetierTypeNombre.REEL, 0);
+ public static final MetierDescriptionVariable CHAR = new MetierDescriptionVariable("CHAR", "Charge", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable ZMAX = new MetierDescriptionVariable("ZMAX", "Cote maximale atteinte", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable TZMA = new MetierDescriptionVariable("TZMA", "Instant de cote maximale", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1);
+ public static final MetierDescriptionVariable VZMX = new MetierDescriptionVariable("VZMX", "Vitesse a la cote maximale", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable ZMIN = new MetierDescriptionVariable("ZMIN", "Cote minimale atteinte", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable TZMI = new MetierDescriptionVariable("TZMI", "Instant de cote minimale", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1);
+ public static final MetierDescriptionVariable VINF = new MetierDescriptionVariable("VINF", "Vitesse mineure minimale", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable VSUP = new MetierDescriptionVariable("VSUP", "Vitesse mineure maximale", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4);
+ public static final MetierDescriptionVariable BMAX = new MetierDescriptionVariable("BMAX", "Largeur au miroir maximale", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable TOND = new MetierDescriptionVariable("TOND", "Instant d'arrivee d'onde", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1);
+ public static final MetierDescriptionVariable QMAX = new MetierDescriptionVariable("QMAX", "Debit maximal", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2);
+ public static final MetierDescriptionVariable TQMA = new MetierDescriptionVariable("TQMA", "Instant de debit maximal", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1);
+ public static final MetierDescriptionVariable EMAX = new MetierDescriptionVariable("EMAX", "Energie maximale", EnumMetierUnite.J, EnumMetierTypeNombre.REEL, 3);
+
+ /**
+ * Variables pour la s\xE9dimentologie
+ */
+ public static final MetierDescriptionVariable QS_MEYERPETER= new MetierDescriptionVariable("QSMEY", "D\xE9bit solide (Meyer-Peter)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_LEFORT91 = new MetierDescriptionVariable("QSL91", "D\xE9bit solide (Lefort 1991)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_LEFORT07 = new MetierDescriptionVariable("QSL07", "D\xE9bit solide (Lefort 2007)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_ENGELUND = new MetierDescriptionVariable("QSENG", "D\xE9bit solide (Engelund & Hansen)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_RECKING10 = new MetierDescriptionVariable("QSR10", "D\xE9bit solide (Recking 2010)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_RECKING11 = new MetierDescriptionVariable("QSR11", "D\xE9bit solide (Recking 2011)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable SE_VANRIJN = new MetierDescriptionVariable("QSVAN", "D\xE9bit solide (Van Rijn)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable SE_SMARTJAGGI= new MetierDescriptionVariable("QSSMA", "D\xE9bit solide (Smart & Jaggi)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+ public static final MetierDescriptionVariable QS_RICKENMANN= new MetierDescriptionVariable("QSRIC", "D\xE9bit solide (Rickenmann)", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3);
+
+ /**
+ * Toutes les variables possibles, index\xE9s dans l'ordre d'apparition.
+ */
+ public static final MetierDescriptionVariable[] VARIABLES= {
+ ZREF,
+ RGC,
+ RDC,
+ KMIN,
+ KMAJ,
+ Z,
+ QMIN,
+ QMAJ,
+ S1,
+ S2,
+ FR,
+ BETA,
+ B1,
+ B2,
+ BS,
+ P1,
+ P2,
+ RH1,
+ RH2,
+ VMIN,
+ VMAJ,
+ TAUF,
+ Y,
+ HMOY,
+ Q2G,
+ Q2D,
+ SS,
+ VOL,
+ VOLS,
+ CHAR,
+ ZMAX,
+ TZMA,
+ VZMX,
+ ZMIN,
+ TZMI,
+ VINF,
+ VSUP,
+ BMAX,
+ TOND,
+ QMAX,
+ TQMA,
+ EMAX,
+ QS_MEYERPETER,
+ QS_LEFORT91,
+ QS_LEFORT07,
+ QS_ENGELUND,
+ QS_RECKING10,
+ QS_RECKING11,
+ SE_VANRIJN,
+ SE_SMARTJAGGI,
+ QS_RICKENMANN
+ };
+
+
@Override
public void initialise(MetierHydraulique1d _o) {
// super.initialise(_o);
@@ -27,7 +141,7 @@
}
}
@Override
- final public MetierHydraulique1d creeClone() {
+ final public MetierDescriptionVariable creeClone() {
MetierDescriptionVariable p=
new MetierDescriptionVariable();
p.initialise(this);
@@ -50,6 +164,23 @@
notifieObjetCree();
}
+
+
+ /**
+ * Creation d'une variable a partir de ses informations.
+ */
+ public MetierDescriptionVariable(String _nom, String _desc, EnumMetierUnite _unite, EnumMetierTypeNombre _type, int _nbDec) {
+ super();
+ nom_=_nom;
+ description_=_desc;
+ unite_=_unite;
+ type_=_type;
+ nbDecimales_=_nbDec;
+
+ notifieObjetCree();
+ }
+
+
@Override
public void dispose() {
nom_= null;
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierParametresResultats.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierParametresResultats.java 2013-10-10 13:28:07 UTC (rev 8519)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierParametresResultats.java 2013-10-11 16:11:52 UTC (rev 8520)
@@ -27,52 +27,6 @@
* @author Axel von Arnim
*/
public class MetierParametresResultats extends MetierHydraulique1d {
-
- // Toutes les variables possibles, index\xE9s dans l'ordre d'apparition.
- public static final MetierDescriptionVariable[] VARIABLES= {
- creeVariable("ZREF", "Cote du fond", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 4),
- creeVariable("RGC", "Cote de la rive gauche", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 4),
- creeVariable("RDC", "Cote de la rive droite", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 4),
- creeVariable("KMIN", "Coefficient de frottement mineur", EnumMetierUnite.M1_TIERS_PAR_S,EnumMetierTypeNombre.REEL, 0),
- creeVariable("KMAJ", "Coefficient de frottement majeur", EnumMetierUnite.M1_TIERS_PAR_S,EnumMetierTypeNombre.REEL, 0),
- creeVariable("Z", "Cote de l'eau", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 3),
- creeVariable("QMIN", "D\xE9bit mineur", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3),
- creeVariable("QMAJ", "D\xE9bit majeur", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 3),
- creeVariable("S1", "Section mouillee mineure", EnumMetierUnite.M2, EnumMetierTypeNombre.REEL, 2),
- creeVariable("S2", "Section mouillee majeure", EnumMetierUnite.M2, EnumMetierTypeNombre.REEL, 2),
- creeVariable("FR", "Nombre de Froude", EnumMetierUnite.RIEN, EnumMetierTypeNombre.REEL, 5),
- creeVariable("BETA", "Coefficient beta modele DEBORD", EnumMetierUnite.RIEN, EnumMetierTypeNombre.REEL, 2),
- creeVariable("B1", "Largeur au miroir mineure", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("B2", "Largeur au miroir majeure", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("BS", "Largeur au miroir du stockage", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("P1", "Perimetre mouille mineur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("P2", "Perimetre mouille majeur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("RH1", "Rayon hydraulique mineur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("RH2", "Rayon hydraulique majeur", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("VMIN", "Vitesse mineur", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4),
- creeVariable("VMAJ", "Vitesse majeure", EnumMetierUnite.M_PAR_S, EnumMetierTypeNombre.REEL, 4),
- creeVariable("TAUF", "Contrainte au fond", EnumMetierUnite.PA, EnumMetierTypeNombre.REEL, 6),
- creeVariable("Y", "Hauteur d'eau maximale", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 3),
- creeVariable("HMOY", "Hauteur d'eau moyenne", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 3),
- creeVariable("Q2G", "Debit majeur gauche", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2),
- creeVariable("Q2D", "Debit majeur droit", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2),
- creeVariable("SS", "Section mouillee du stockage", EnumMetierUnite.M2, EnumMetierTypeNombre.REEL, 2),
- creeVariable("VOL", "Volume du lit actif", EnumMetierUnite.M3, EnumMetierTypeNombre.REEL, 0),
- creeVariable("VOLS", "Volume de stockage", EnumMetierUnite.M3, EnumMetierTypeNombre.REEL, 0),
- creeVariable("CHAR", "Charge", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("ZMAX", "Cote maximale atteinte", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("TZMA", "Instant de cote maximale", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1),
- creeVariable("VZMX", "Vitesse a la cote maximale", EnumMetierUnite.M_PAR_S,EnumMetierTypeNombre.REEL, 4),
- creeVariable("ZMIN", "Cote minimale atteinte", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("TZMI", "Instant de cote minimale", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1),
- creeVariable("VINF", "Vitesse mineure minimale", EnumMetierUnite.M_PAR_S,EnumMetierTypeNombre.REEL, 4),
- creeVariable("VSUP", "Vitesse mineure maximale", EnumMetierUnite.M_PAR_S,EnumMetierTypeNombre.REEL, 4),
- creeVariable("BMAX", "Largeur au miroir maximale", EnumMetierUnite.M, EnumMetierTypeNombre.REEL, 2),
- creeVariable("TOND", "Instant d'arrivee d'onde", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1),
- creeVariable("QMAX", "Debit maximal", EnumMetierUnite.M3_PAR_S, EnumMetierTypeNombre.REEL, 2),
- creeVariable("TQMA", "Instant de debit maximal", EnumMetierUnite.S, EnumMetierTypeNombre.REEL, 1),
- creeVariable("EMAX", "Energie maximale", EnumMetierUnite.J, EnumMetierTypeNombre.REEL, 3),
- };
@Override
public void initialise(MetierHydraulique1d _o) {
@@ -280,31 +234,17 @@
}
/**
- * Creation d'une variable a partir de ses informations.
- */
- private static MetierDescriptionVariable creeVariable(String _nom, String _desc, EnumMetierUnite _unite, EnumMetierTypeNombre _type, int _nbDec) {
- MetierDescriptionVariable var=new MetierDescriptionVariable();
- var.description(_desc);
- var.nbDecimales(_nbDec);
- var.nom(_nom);
- var.type(_type);
- var.unite(_unite);
-
- return var;
- }
-
- /**
* Ajoute une variable par son nom
* @param _nom Le nom court de la variable
*/
public void ajouteVariable(String _nom) {
if (existeVariable(_nom)) return;
- for (int i=0; i<VARIABLES.length; i++) {
- if (VARIABLES[i].nom().equals(_nom)) {
- List listVar=new ArrayList(Arrays.asList(variables_));
- listVar.add(VARIABLES[i].creeClone());
- variables_=(MetierDescriptionVariable[])listVar.toArray(new MetierDescriptionVariable[0]);
+ for (int i=0; i<MetierDescriptionVariable.VARIABLES.length; i++) {
+ if (MetierDescriptionVariable.VARIABLES[i].nom().equals(_nom)) {
+ List<MetierDescriptionVariable> listVar=new ArrayList<MetierDescriptionVariable>(Arrays.asList(variables_));
+ listVar.add(MetierDescriptionVariable.VARIABLES[i].creeClone());
+ variables_=listVar.toArray(new MetierDescriptionVariable[0]);
break;
}
}
@@ -319,13 +259,13 @@
descrip.unite(unite);
descrip.type(type);
descrip.nbDecimales(nbDecimal);
- List listVar=new ArrayList(Arrays.asList(variables_));
+ List<MetierDescriptionVariable> listVar=new ArrayList<MetierDescriptionVariable>(Arrays.asList(variables_));
listVar.add(descrip);
- variables_=(MetierDescriptionVariable[])listVar.toArray(new MetierDescriptionVariable[0]);
+ variables_=listVar.toArray(new MetierDescriptionVariable[0]);
}
public void supprimeVariable(String nomVariable) {
- Vector newVars=new Vector();
+ Vector<MetierDescriptionVariable> newVars=new Vector<MetierDescriptionVariable>();
for (int i=0; i<variables_.length; i++) {
if (variables_[i].nom().equals(nomVariable)) {
variables_[i].supprime();
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java 2013-10-10 13:28:07 UTC (rev 8519)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierResultatsTemporelSpatial.java 2013-10-11 16:11:52 UTC (rev 8520)
@@ -10,6 +10,7 @@
import java.util.Arrays;
+import org.apache.commons.lang.ArrayUtils;
import org.fudaa.ctulu.CtuluLibArray;
import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
@@ -262,6 +263,7 @@
* end l'indice de colonne correspondant \xE0 ce nom de variable.
*
* @param _c : nom de la variable
+ * @return L'indice dans le tableau ou -1 si cette variable est introuvable.
*/
public int getIndiceVariable(String _c) {
for (int i = 0; i < descriptionVariables_.length; i++) {
@@ -390,4 +392,78 @@
return ires;
}
+
+ /**
+ * Ajoute les r\xE9sultats pour une variable donn\xE9e.
+ *
+ * @param _var La variable pour laquelle on ajoute les valeurs.
+ * @param _vals Un tableau \xE0 3 dimensions [ibief][itps][isect]. Le nombre de biefs, le nombre de sections par biefs,
+ * le nombre de temps doit \xEAtre identique \xE0 l'existant.
+ * @return True : Si l'ajout s'est correctement pass\xE9. False si la variable existe d\xE9j\xE0
+ * @exception IllegalArgumentException Si le tableau des valeurs pass\xE9es est incoh\xE9rent avec les r\xE9sultats existants.
+ */
+ public boolean addResultsVariable(MetierDescriptionVariable _var, double[][][] _vals) {
+ if (getIndiceVariable(_var.nom())!=-1) return false;
+
+ // Controle que le nombre de valeurs est bien correspondant.
+ if (resultatsBiefs_.length!=0) {
+ if (resultatsBiefs_.length!=_vals.length) {
+ throw new IllegalArgumentException();
+ }
+ else {
+ for (int ibief=0; ibief<resultatsBiefs_.length; ibief++) {
+ double[][][] vals=resultatsBiefs_[ibief].valeursVariables();
+ if (vals[0].length!=_vals[0].length) {
+ throw new IllegalArgumentException();
+ }
+ else {
+ for (int itps=0; itps<vals[0].length; itps++) {
+ if (vals[0][itps].length!=_vals[0][itps].length) {
+ throw new IllegalArgumentException();
+ }
+ }
+ }
+ }
+ }
+ }
+
+ // Ajout des r\xE9sultats
+ for (int ibief=0; ibief<resultatsBiefs_.length; ibief++) {
+ double[][][] oldvals=resultatsBiefs_[ibief].valeursVariables();
+ double[][][] newvals=(double[][][])ArrayUtils.add(oldvals, _vals[ibief]);
+
+ resultatsBiefs_[ibief].valeursVariables(newvals);
+ }
+
+ // Ajout de la variable.
+ MetierDescriptionVariable[] vars=(MetierDescriptionVariable[])ArrayUtils.add(descriptionVariables(),_var);
+ descriptionVariables(vars);
+
+ return true;
+ }
+
+ /**
+ * Supprime les r\xE9sultats pour une variable donn\xE9e.
+ * @param _var La variable pour laquelle on supprime les valeurs.
+ *
+ * @return True : Si la suppression a \xE9t\xE9 r\xE9alis\xE9e.
+ */
+ public boolean removeResultsVariable(MetierDescriptionVariable _var) {
+ int ind=getIndiceVariable(_var.nom());
+ if (ind==-1) return false;
+
+ // Suppression des r\xE9sultats
+ for (int ibief=0; ibief<resultatsBiefs_.length; ibief++) {
+ double[][][] oldvals=resultatsBiefs_[ibief].valeursVariables();
+ double[][][] newvals=(double[][][])ArrayUtils.remove(oldvals, ind);
+
+ resultatsBiefs_[ibief].valeursVariables(newvals);
+ }
+
+ // Suppression de la variable.
+ MetierDescriptionVariable[] vars=(MetierDescriptionVariable[])ArrayUtils.remove(descriptionVariables(),ind);
+ descriptionVariables(vars);
+
+ return true;
+ }
}
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-11 16:11:52 UTC (rev 8520)
@@ -10,6 +10,8 @@
* @author Bertrand Marchand (mar...@de...)
*/
public class MetierParametresSediment extends MetierHydraulique1d {
+ /** Le calcul s\xE9dimentaire est-il activ\xE9 ? */
+ private boolean isActif_;
/** Temperature de l'eau */
private double tEau_;
/** Diametre moyen */
@@ -56,6 +58,7 @@
setDensiteMateriau(q.getDensiteMateriau());
setTauc(q.getTauc());
setFormule(q.getFormule());
+ setActif(q.isActif());
}
}
@@ -66,6 +69,16 @@
return p;
}
+ public void setActif(boolean _b) {
+ if (isActif_==_b) return;
+ this.isActif_ = _b;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "CalculActif");
+ }
+
+ public boolean isActif() {
+ return isActif_;
+ }
+
public double getTEau() {
return tEau_;
}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-10 13:28:07 UTC (rev 8519)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-11 16:11:52 UTC (rev 8520)
@@ -3,8 +3,11 @@
import java.awt.BorderLayout;
import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;
+import java.awt.event.ItemEvent;
+import java.awt.event.ItemListener;
import javax.swing.BorderFactory;
+import javax.swing.JCheckBox;
import javax.swing.JOptionPane;
import javax.swing.border.Border;
import javax.swing.border.EtchedBorder;
@@ -34,6 +37,7 @@
private MetierParametresSediment param_;
+ private JCheckBox cbActif_;
private BuGridLayout lyCenter_;
private BuLabel lbDmoy_;
private BuTextField tfDmoy_;
@@ -68,6 +72,13 @@
public Hydraulique1dParametresSedimentEditor(BDialogContent parent) {
super(parent, Hydraulique1dResource.getS("Edition des param\xE8tres de s\xE9dimentologie"));
+ cbActif_=new JCheckBox(getS("S\xE9dimentologie active"));
+ cbActif_.addItemListener(new ItemListener() {
+ @Override
+ public void itemStateChanged(ItemEvent e) {
+ changeCbActif();
+ }
+ });
lbDmoy_=new BuLabel(getS("Diam\xE8tre moyen"));
tfDmoy_=BuTextField.createDoubleField();
tfDmoy_.setColumns(7);
@@ -130,6 +141,7 @@
lyPrincipal_=new BorderLayout(5,0);
pnPrincipal_.setLayout(lyPrincipal_);
pnPrincipal_.add(pnCenter_,BorderLayout.CENTER);
+ getContentPane().add(cbActif_,BorderLayout.NORTH);
getContentPane().add(pnPrincipal_,BorderLayout.CENTER);
param_= null;
@@ -163,6 +175,8 @@
* @return Un message indiquant l'origine du pb. null si pas de pb.
*/
public String isValide() {
+ if (!cbActif_.isSelected()) return null;
+
if (tfDmoy_.getValue()==null || ((Double)tfDmoy_.getValue())<=0)
return getS("Diam\xE8tre moyen")+" : "+getS("La valeur doit \xEAtre strictement positive");
if (tfD30_.getValue()==null || ((Double)tfD30_.getValue())<=0)
@@ -192,6 +206,13 @@
@Override
protected boolean getValeurs() {
boolean changed= false;
+
+ boolean isActif=cbActif_.isSelected();
+ if (isActif!=param_.isActif()) {
+ param_.setActif(isActif);
+ changed=true;
+ }
+ if (!isActif) return changed;
double dmoy=((Double)tfDmoy_.getValue());
if (dmoy!=param_.getDmoyen()) {
@@ -262,8 +283,36 @@
setValeurs();
}
+ private void changeCbActif() {
+ boolean b=cbActif_.isSelected();
+ lbDmoy_.setEnabled(b);
+ lbD30_.setEnabled(b);
+ lbD50_.setEnabled(b);
+ lbD84_.setEnabled(b);
+ lbD90_.setEnabled(b);
+ lbRugo_.setEnabled(b);
+ lbDensMat_.setEnabled(b);
+ lbDensApparente_.setEnabled(b);
+ lbTauc_.setEnabled(b);
+ lbTEau_.setEnabled(b);
+ lbFormule_.setEnabled(b);
+ tfDmoy_.setEnabled(b);
+ tfD30_.setEnabled(b);
+ tfD50_.setEnabled(b);
+ tfD84_.setEnabled(b);
+ tfD90_.setEnabled(b);
+ tfRugo_.setEnabled(b);
+ tfDensMat_.setEnabled(b);
+ tfDensApparente_.setEnabled(b);
+ tfTauc_.setEnabled(b);
+ tfTEau_.setEnabled(b);
+ coFormule_.setEnabled(b);
+ }
+
@Override
protected void setValeurs() {
+ cbActif_.setSelected(param_.isActif());
+ changeCbActif();
tfDmoy_.setValue(param_.getDmoyen());
tfD30_.setValue(param_.getD30());
tfD50_.setValue(param_.getD50());
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-10-10 13:28:11
|
Revision: 8519
http://sourceforge.net/p/fudaa/svn/8519
Author: bmarchan
Date: 2013-10-10 13:28:07 +0000 (Thu, 10 Oct 2013)
Log Message:
-----------
Saisie et sauvegarde des param?\195?\168tres de s?\195?\169dimentologie
Modified Paths:
--------------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
Added Paths:
-----------
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierDescriptionVariable.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -59,7 +59,7 @@
nbDecimales_= 0;
super.dispose();
}
- // Attributs
+ // Le nom, comme il apparait dans les fichiers de r\xE9sultats.
private String nom_;
public String nom() {
return nom_;
Modified: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/MetierEtude1d.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -20,6 +20,7 @@
import org.fudaa.dodico.hydraulique1d.metier.calageauto.MetierCalageAuto;
import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
import org.fudaa.dodico.hydraulique1d.metier.qualitedeau.MetierParametresQualiteDEau;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierSediment;
import java.io.IOException;
@@ -57,11 +58,13 @@
qualiteDEau((MetierParametresQualiteDEau)q.qualiteDEau().creeClone());
if (q.calageAuto() != null)
calageAuto((MetierCalageAuto)q.calageAuto().creeClone());
+ if (q.sediment()!=null)
+ sediment(q.sediment().creeClone());
}
}
@Override
- final public MetierHydraulique1d creeClone() {
+ final public MetierEtude1d creeClone() {
MetierEtude1d p= new MetierEtude1d();
p.initialise(this);
return p;
@@ -88,6 +91,7 @@
versionFormat_= FORMAT_VERSION;
identifieurs_= new SMetierIdentifieur[0];
qualiteDEau_ = new MetierParametresQualiteDEau();
+ sediment_=new MetierSediment();
notifieObjetCree();
}
@@ -238,6 +242,16 @@
Notifieur.getNotifieur().fireObjetModifie(toString(), this, "calageAuto");
}
+ private MetierSediment sediment_;
+ public MetierSediment sediment() {
+ return sediment_;
+ }
+ public void sediment(MetierSediment _sediment) {
+ if (sediment_==_sediment) return;
+ sediment_=_sediment;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "sediment");
+ }
+
private MetierParametresQualiteDEau qualiteDEau_;
public MetierParametresQualiteDEau qualiteDEau() {
return qualiteDEau_;
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/EnumFormuleSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,61 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+/**
+ * Les formules pour la s\xE9dimentologie. Cette classe n'est volontairement pas une \xE9numeration
+ * pour la serialisation Yapod.
+ *
+ * @author Bertrand Marchand (mar...@de...)
+ * @version $Id$
+ */
+public class EnumFormuleSediment {
+ public static final EnumFormuleSediment MEYER_PETER=new EnumFormuleSediment("Meyer-Peter");
+ public static final EnumFormuleSediment LEFORT_1991=new EnumFormuleSediment("Lefort 1991");
+ public static final EnumFormuleSediment LEFORT_2007=new EnumFormuleSediment("Lefort 2007");
+ public static final EnumFormuleSediment ENGELUND_HANSEN=new EnumFormuleSediment("Engelund & Hansen");
+ public static final EnumFormuleSediment RECKING_2010=new EnumFormuleSediment("Recking 2010");
+ public static final EnumFormuleSediment RECKING_2011=new EnumFormuleSediment("Recking 2011");
+ public static final EnumFormuleSediment VAN_RIJN=new EnumFormuleSediment("Van Rijn");
+ public static final EnumFormuleSediment SMART_JAGGI=new EnumFormuleSediment("Smart & J\xE4ggi");
+ public static final EnumFormuleSediment RICKENMANN=new EnumFormuleSediment("Rickenmann");
+
+ public String name_;
+
+ public static EnumFormuleSediment[] values() {
+ return new EnumFormuleSediment[]{
+ MEYER_PETER,
+ LEFORT_1991,
+ LEFORT_2007,
+ ENGELUND_HANSEN,
+ RECKING_2010,
+ RECKING_2011,
+ VAN_RIJN,
+ SMART_JAGGI,
+ RICKENMANN
+ };
+ }
+
+ /**
+ * On ne devrait pas acceder \xE0 ce constructeur.
+ */
+ protected EnumFormuleSediment() {
+ name_="";
+ }
+
+ private EnumFormuleSediment(String _name) {
+ name_=_name;
+ }
+
+ /**
+ * Necessaire pour comparer correctement 2 enums.
+ */
+ @Override
+ public boolean equals(Object _obj) {
+ if (_obj==null || !(_obj instanceof EnumFormuleSediment)) return false;
+ return name_.equals(((EnumFormuleSediment)_obj).name_);
+ }
+
+ @Override
+ public String toString() {
+ return name_;
+ }
+}
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierParametresSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,199 @@
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
+import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
+
+/**
+ * Classe de stockage des parametres de granulometrie pour le calcul de s\xE9diments.
+ *
+ * @version $Id$
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class MetierParametresSediment extends MetierHydraulique1d {
+ /** Temperature de l'eau */
+ private double tEau_;
+ /** Diametre moyen */
+ private double dmoy_;
+ /** Diametre fractile 30 */
+ private double d30_;
+ /** Diametre fractile 50 */
+ private double d50_;
+ /** Diametre fractile 84 */
+ private double d84_;
+ /** Diametre fractile 90 */
+ private double d90_;
+ /** Rugosite de grain */
+ private double rugo_=4;
+ /** Densite de materiau */
+ private double densMat_=2.65;
+ /** Densite apparente */
+ private double densApparente_=2;
+ /** Contrainte critique adimensionnelle */
+ private double tauc_=0.047;
+ /** Formule de calcul */
+ private EnumFormuleSediment formule_;
+
+ // Constructeur.
+ public MetierParametresSediment() {
+ super();
+
+ notifieObjetCree();
+ }
+
+ @Override
+ public void initialise(MetierHydraulique1d _o) {
+ super.initialise(_o);
+ if (_o instanceof MetierParametresSediment) {
+ MetierParametresSediment q=(MetierParametresSediment)_o;
+ setTEau(q.getTauc());
+ setDmoyen(q.getDmoyen());
+ setD30(q.getD30());
+ setD50(q.getD50());
+ setD84(q.getD84());
+ setD90(q.getD90());
+ setRugosite(q.getRugosite());
+ setDensiteApparente(q.getDensiteApparente());
+ setDensiteMateriau(q.getDensiteMateriau());
+ setTauc(q.getTauc());
+ setFormule(q.getFormule());
+ }
+ }
+
+ @Override
+ final public MetierParametresSediment creeClone() {
+ MetierParametresSediment p= new MetierParametresSediment();
+ p.initialise(this);
+ return p;
+ }
+
+ public double getTEau() {
+ return tEau_;
+ }
+
+ public void setTEau(double tEau) {
+ if (tEau_==tEau) return;
+ this.tEau_ = tEau;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "TEau");
+ }
+
+ public double getDmoyen() {
+ return dmoy_;
+ }
+
+ public void setDmoyen(double dmoy) {
+ if (dmoy_==dmoy) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "DMoyen");
+ this.dmoy_ = dmoy;
+ }
+
+ public double getD30() {
+ return d30_;
+ }
+
+ public void setD30(double d30) {
+ if (d30_==d30) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D30");
+ this.d30_ = d30;
+ }
+
+ public double getD50() {
+ return d50_;
+ }
+
+ public void setD50(double d50) {
+ if (d50_==d50) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D50");
+ this.d50_ = d50;
+ }
+
+ public double getD84() {
+ return d84_;
+ }
+
+ public void setD84(double d84) {
+ if (d84_==d84) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D84");
+ this.d84_ = d84;
+ }
+
+ public double getD90() {
+ return d90_;
+ }
+
+ public void setD90(double d90) {
+ if (d90_==d90) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "D90");
+ this.d90_ = d90;
+ }
+
+ public double getRugosite() {
+ return rugo_;
+ }
+
+ public void setRugosite(double rugo) {
+ if (rugo_==rugo) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Rugosite");
+ this.rugo_ = rugo;
+ }
+
+ public double getDensiteMateriau() {
+ return densMat_;
+ }
+
+ public void setDensiteMateriau(double densMat) {
+ if (densMat_==densMat) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "DensiteMateriau");
+ this.densMat_ = densMat;
+ }
+
+ public double getDensiteApparente() {
+ return densApparente_;
+ }
+
+ public void setDensiteApparente(double densApparente) {
+ if (densApparente_==densApparente) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "DensiteApparente");
+ this.densApparente_ = densApparente;
+ }
+
+ public double getTauc() {
+ return tauc_;
+ }
+
+ public void setTauc(double tauc) {
+ if (tauc_==tauc) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Tauc");
+ this.tauc_ = tauc;
+ }
+
+ public EnumFormuleSediment getFormule() {
+ return formule_;
+ }
+
+ public void setFormule(EnumFormuleSediment _formule) {
+ if (formule_==_formule) return;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "Formule");
+ this.formule_ = _formule;
+ }
+
+ @Override
+ public String[] getInfos() {
+ String[] res= new String[2];
+ res[0]= getS("Parametres");
+ res[1]=
+ super.getInfos()[1]
+ + " TEau=" + tEau_
+ + " Dmoyen=" + dmoy_
+ + " D30=" + d30_
+ + " D50=" + d50_
+ + " D84=" + d84_
+ + " D90=" + d90_
+ + " Rugosite=" + rugo_
+ + " Densite apparente=" + densApparente_
+ + " Densite materiau=" + densMat_
+ + " Tauc=" + tauc_
+ + " Formule=" + formule_ ==null ? "None":formule_.toString();
+
+ return res;
+ }
+}
Added: trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/server/src/main/java/org/fudaa/dodico/hydraulique1d/metier/sediment/MetierSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,75 @@
+/*
+ * @file MetierCasier.java
+ * @creation
+ * @modification $Date: 2007-11-20 11:43:26 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 CETMEF 2 bd Gambetta F-60231 Compiegne
+ * @mail de...@fu...
+ */
+package org.fudaa.dodico.hydraulique1d.metier.sediment;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
+import org.fudaa.dodico.hydraulique1d.metier.evenement.Notifieur;
+
+/**
+ * Objet racine de la s\xE9dimentologie.
+ *
+ * @version $Revision: 1.2 $ $Date: 2007-11-20 11:43:26 $ by $Author: bmarchan $
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class MetierSediment extends MetierHydraulique1d {
+ private MetierParametresSediment params_;
+
+ // Constructeur.
+ public MetierSediment() {
+ super();
+ params_=new MetierParametresSediment();
+
+ notifieObjetCree();
+ }
+
+ @Override
+ public void initialise(MetierHydraulique1d _o) {
+ super.initialise(_o);
+ if (_o instanceof MetierSediment) {
+ MetierSediment q= (MetierSediment)_o;
+ parametres(q.parametres().creeClone());
+ }
+ }
+
+ @Override
+ final public MetierSediment creeClone() {
+ MetierSediment p=new MetierSediment();
+ p.initialise(this);
+ return p;
+ }
+
+ @Override
+ public String[] getInfos() {
+ String[] res= new String[2];
+ res[0]= getS("S\xE9diment");
+ res[1]=super.getInfos()[1];
+
+ return res;
+ }
+
+ @Override
+ public void dispose() {
+ if (params_!=null) params_.dispose();
+ super.dispose();
+ }
+
+ //--- Interface MetierCalageAuto { ----------------------------------------------
+
+ public MetierParametresSediment parametres() {
+ return params_;
+ }
+
+ public void parametres(MetierParametresSediment _params) {
+ if (params_==_params) return;
+ params_=_params;
+ Notifieur.getNotifieur().fireObjetModifie(toString(), this, "params");
+ }
+
+ //--- } Interface MetierCalageAuto ----------------------------------------------
+}
Added: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java (rev 0)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/editor/Hydraulique1dParametresSedimentEditor.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,286 @@
+package org.fudaa.fudaa.hydraulique1d.editor;
+
+import java.awt.BorderLayout;
+import java.awt.event.ActionEvent;
+import java.awt.event.ActionListener;
+
+import javax.swing.BorderFactory;
+import javax.swing.JOptionPane;
+import javax.swing.border.Border;
+import javax.swing.border.EtchedBorder;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierHydraulique1d;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.EnumFormuleSediment;
+import org.fudaa.dodico.hydraulique1d.metier.sediment.MetierParametresSediment;
+import org.fudaa.ebli.commun.EbliPreferences;
+import org.fudaa.ebli.dialog.BDialogContent;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
+
+import com.memoire.bu.BuComboBox;
+import com.memoire.bu.BuGridLayout;
+import com.memoire.bu.BuLabel;
+import com.memoire.bu.BuPanel;
+import com.memoire.bu.BuTextField;
+
+/**
+ * Editeur des param\xE8tres de s\xE9diment.
+ *
+ * @version $Id$
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class Hydraulique1dParametresSedimentEditor
+ extends Hydraulique1dCustomizerImprimable
+ implements ActionListener {
+
+ private MetierParametresSediment param_;
+
+ private BuGridLayout lyCenter_;
+ private BuLabel lbDmoy_;
+ private BuTextField tfDmoy_;
+ private BuLabel lbD30_;
+ private BuTextField tfD30_;
+ private BuLabel lbD50_;
+ private BuTextField tfD50_;
+ private BuLabel lbD84_;
+ private BuTextField tfD84_;
+ private BuLabel lbD90_;
+ private BuTextField tfD90_;
+ private BuLabel lbRugo_;
+ private BuTextField tfRugo_;
+ private BuLabel lbDensMat_;
+ private BuTextField tfDensMat_;
+ private BuLabel lbDensApparente_;
+ private BuTextField tfDensApparente_;
+ private BuLabel lbTauc_;
+ private BuTextField tfTauc_;
+ private BuLabel lbTEau_;
+ private BuTextField tfTEau_;
+ private BuLabel lbFormule_;
+ private BuComboBox coFormule_;
+ private BuPanel pnCenter_;
+ private BuPanel pnPrincipal_;
+ private BorderLayout lyPrincipal_;
+
+ public Hydraulique1dParametresSedimentEditor() {
+ this(null);
+ }
+
+ public Hydraulique1dParametresSedimentEditor(BDialogContent parent) {
+ super(parent, Hydraulique1dResource.getS("Edition des param\xE8tres de s\xE9dimentologie"));
+
+ lbDmoy_=new BuLabel(getS("Diam\xE8tre moyen"));
+ tfDmoy_=BuTextField.createDoubleField();
+ tfDmoy_.setColumns(7);
+ lbD30_=new BuLabel(getS("Diam\xE8tre fractile 30"));
+ tfD30_=BuTextField.createDoubleField();
+ lbD50_=new BuLabel(getS("Diam\xE8tre fractile 50"));
+ tfD50_=BuTextField.createDoubleField();
+ lbD84_=new BuLabel(getS("Diam\xE8tre fractile 84"));
+ tfD84_=BuTextField.createDoubleField();
+ lbD90_=new BuLabel(getS("Diam\xE8tre fractile 90"));
+ tfD90_=BuTextField.createDoubleField();
+ lbRugo_=new BuLabel(getS("Rugosit\xE9 de grain"));
+ tfRugo_=BuTextField.createDoubleField();
+ lbDensMat_=new BuLabel(getS("Densit\xE9 de mat\xE9riau"));
+ tfDensMat_=BuTextField.createDoubleField();
+ lbDensApparente_=new BuLabel(getS("Densit\xE9 apparente"));
+ tfDensApparente_=BuTextField.createDoubleField();
+ lbTauc_=new BuLabel(getS("Contrainte critique adimensionnelle"));
+ tfTauc_=BuTextField.createDoubleField();
+ lbTEau_=new BuLabel(getS("Temp\xE9rature de l'eau"));
+ tfTEau_=BuTextField.createDoubleField();
+ lbFormule_=new BuLabel(getS("Formule"));
+ coFormule_=new BuComboBox();
+ coFormule_.addItem("");
+ for (EnumFormuleSediment item : EnumFormuleSediment.values()) {
+ coFormule_.addItem(item);
+ }
+
+
+ lyCenter_=new BuGridLayout(2,5,2);
+ pnCenter_=new BuPanel();
+ pnCenter_.setBorder(BorderFactory.createEmptyBorder(0,0,5,0)); // Pour des pb d'affichage.
+ pnCenter_.setLayout(lyCenter_);
+ pnCenter_.add(lbDmoy_);
+ pnCenter_.add(tfDmoy_);
+ pnCenter_.add(lbD30_);
+ pnCenter_.add(tfD30_);
+ pnCenter_.add(lbD50_);
+ pnCenter_.add(tfD50_);
+ pnCenter_.add(lbD84_);
+ pnCenter_.add(tfD84_);
+ pnCenter_.add(lbD90_);
+ pnCenter_.add(tfD90_);
+ pnCenter_.add(lbRugo_);
+ pnCenter_.add(tfRugo_);
+ pnCenter_.add(lbDensMat_);
+ pnCenter_.add(tfDensMat_);
+ pnCenter_.add(lbDensApparente_);
+ pnCenter_.add(tfDensApparente_);
+ pnCenter_.add(lbTauc_);
+ pnCenter_.add(tfTauc_);
+ pnCenter_.add(lbTEau_);
+ pnCenter_.add(tfTEau_);
+ pnCenter_.add(lbFormule_);
+ pnCenter_.add(coFormule_);
+
+ Border bd=BorderFactory.createEtchedBorder(EtchedBorder.LOWERED);
+ pnPrincipal_=new BuPanel();
+ pnPrincipal_.setBorder(BorderFactory.createTitledBorder(bd,getS("Param\xE8tres")));
+ lyPrincipal_=new BorderLayout(5,0);
+ pnPrincipal_.setLayout(lyPrincipal_);
+ pnPrincipal_.add(pnCenter_,BorderLayout.CENTER);
+ getContentPane().add(pnPrincipal_,BorderLayout.CENTER);
+
+ param_= null;
+ setNavPanel(EbliPreferences.DIALOG.VALIDER|EbliPreferences.DIALOG.ANNULER);
+ pack();
+ }
+
+ @Override
+ public void actionPerformed(ActionEvent _evt) {
+ String cmd= _evt.getActionCommand();
+ if ("VALIDER".equals(cmd)) {
+ String mes=isValide();
+ if (mes!=null) {
+ JOptionPane.showMessageDialog(this,
+ mes+".",
+ getS("Erreur de mise en donn\xE9es"),
+ JOptionPane.ERROR_MESSAGE);
+ }
+ else {
+ if (getValeurs()) firePropertyChange("parametres", null, param_);
+ fermer();
+ }
+ }
+ else {
+ super.actionPerformed(_evt);
+ }
+ }
+
+ /**
+ * Controle que le panneau est correctement rempli.
+ * @return Un message indiquant l'origine du pb. null si pas de pb.
+ */
+ public String isValide() {
+ if (tfDmoy_.getValue()==null || ((Double)tfDmoy_.getValue())<=0)
+ return getS("Diam\xE8tre moyen")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD30_.getValue()==null || ((Double)tfD30_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD50_.getValue()==null || ((Double)tfD50_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD84_.getValue()==null || ((Double)tfD84_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfD90_.getValue()==null || ((Double)tfD90_.getValue())<=0)
+ return getS("Diam\xE8tre fractile 30")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfRugo_.getValue()==null || ((Double)tfRugo_.getValue())<=0)
+ return getS("Rugosit\xE9")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfDensMat_.getValue()==null || ((Double)tfDensMat_.getValue())<=0)
+ return getS("Densit\xE9 mat\xE9riau")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfDensApparente_.getValue()==null || ((Double)tfDensApparente_.getValue())<=0)
+ return getS("Densit\xE9 apparente")+" : "+getS("La valeur doit \xEAtre strictement positive");
+ if (tfTauc_.getValue()==null)
+ return getS("Contrainte critique adimensionnelle")+" : "+getS("La valeur doit \xEAtre donn\xE9e");
+ if (tfTEau_.getValue()==null)
+ return getS("Temp\xE9rature de l'eau")+" : "+getS("La valeur doit \xEAtre donn\xE9e");
+ if (coFormule_.getSelectedIndex()==0)
+ return getS("La formule n'est pas donn\xE9e");
+
+ return null;
+ }
+
+ @Override
+ protected boolean getValeurs() {
+ boolean changed= false;
+
+ double dmoy=((Double)tfDmoy_.getValue());
+ if (dmoy!=param_.getDmoyen()) {
+ param_.setDmoyen(dmoy);
+ changed=true;
+ }
+ double d30=((Double)tfD30_.getValue());
+ if (d30!=param_.getD30()) {
+ param_.setD30(d30);
+ changed=true;
+ }
+ double d50=((Double)tfD50_.getValue());
+ if (d50!=param_.getD50()) {
+ param_.setD50(d50);
+ changed=true;
+ }
+ double d84=((Double)tfD84_.getValue());
+ if (d84!=param_.getD84()) {
+ param_.setD84(d84);
+ changed=true;
+ }
+ double d90=((Double)tfD90_.getValue());
+ if (d90!=param_.getD90()) {
+ param_.setD90(d90);
+ changed=true;
+ }
+ double rugo=((Double)tfRugo_.getValue());
+ if (rugo!=param_.getRugosite()) {
+ param_.setRugosite(rugo);
+ changed=true;
+ }
+ double densMat=((Double)tfDensMat_.getValue());
+ if (densMat!=param_.getDensiteMateriau()) {
+ param_.setDensiteMateriau(densMat);
+ changed=true;
+ }
+ double densApparente=((Double)tfDensApparente_.getValue());
+ if (densApparente!=param_.getDensiteApparente()) {
+ param_.setDensiteApparente(densApparente);
+ changed=true;
+ }
+ double tauc=((Double)tfTauc_.getValue());
+ if (tauc!=param_.getTauc()) {
+ param_.setTauc(tauc);
+ changed=true;
+ }
+ double tEau=((Double)tfTEau_.getValue());
+ if (tEau!=param_.getTEau()) {
+ param_.setTEau(tEau);
+ changed=true;
+ }
+ EnumFormuleSediment formule;
+ formule=(EnumFormuleSediment)coFormule_.getSelectedItem();
+ if (!formule.equals(param_.getFormule())) {
+ param_.setFormule(formule);
+ changed=true;
+ }
+
+ return changed;
+ }
+
+ @Override
+ public void setObject(MetierHydraulique1d _param) {
+ if (!(_param instanceof MetierParametresSediment)) return;
+ if (_param==param_) return;
+
+ param_= (MetierParametresSediment)_param;
+ setValeurs();
+ }
+
+ @Override
+ protected void setValeurs() {
+ tfDmoy_.setValue(param_.getDmoyen());
+ tfD30_.setValue(param_.getD30());
+ tfD50_.setValue(param_.getD50());
+ tfD84_.setValue(param_.getD84());
+ tfD90_.setValue(param_.getD90());
+ tfD90_.setValue(param_.getD90());
+ tfRugo_.setValue(param_.getRugosite());
+ tfDensMat_.setValue(param_.getDensiteMateriau());
+ tfDensApparente_.setValue(param_.getDensiteApparente());
+ tfTauc_.setValue(param_.getTauc());
+ tfTEau_.setValue(param_.getTEau());
+
+ if (param_.getFormule()==null) {
+ coFormule_.setSelectedIndex(0);
+ }
+ else {
+ coFormule_.setSelectedItem(param_.getFormule());
+ }
+ }
+}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHMRepository.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -44,7 +44,7 @@
/**
* Map entre le nom de l'ihmHelper d\xE9j\xE0 utilis\xE9 (la cl\xE9) et l'instance de l'ihmHelper.
*/
- private Map ihmHelpers_;
+ private Map<String, Hydraulique1dIHM_Base> ihmHelpers_;
/**
* Constructeur par d\xE9faut qui initialise la Map ihmHelpers_.
@@ -83,9 +83,9 @@
*/
public void setEtude(MetierEtude1d e) {
etude_= e;
- Iterator ite = ihmHelpers_.values().iterator();
+ Iterator<Hydraulique1dIHM_Base> ite = ihmHelpers_.values().iterator();
while(ite.hasNext()) {
- ((Hydraulique1dIHM_Base)ite.next()).setEtude(etude_);
+ ite.next().setEtude(etude_);
}
}
@@ -93,9 +93,9 @@
* Ferme toutes les fenetres ihm
*/
public void fermer() {
- Iterator ite = ihmHelpers_.values().iterator();
+ Iterator<Hydraulique1dIHM_Base> ite = ihmHelpers_.values().iterator();
while(ite.hasNext()) {
- ((Hydraulique1dIHM_Base)ite.next()).fermer();
+ ite.next().fermer();
}
}
@@ -115,7 +115,7 @@
* Initialise la Map ihmHelpers_ a une taille de 50.
*/
public void init() {
- ihmHelpers_ = new HashMap(50);
+ ihmHelpers_ = new HashMap<String,Hydraulique1dIHM_Base>(50);
}
// Impl\xE9mentation de l'interface FudaaProjetListener
/**
@@ -159,16 +159,39 @@
* Permet de r\xE9cup\xE9rer une instance unique de l'IhmHelper dont le nom est pass\xE9 en argument.
* @param nomIhmHelper Le nom de l'IhmHelper (Nom de la Classe sans le pr\xE9fix Hydraulique1dIHM_.
* @return Hydraulique1dIHM_Base
+ *
+ * @deprecated Not safe. Use {@link #getIhmHelper(Class)} instead
*/
public Hydraulique1dIHM_Base getIhmHelper(String nomIhmHelper) {
try {
- if (!ihmHelpers_.containsKey(nomIhmHelper)) {
- Class clazz = Class.forName(
+ @SuppressWarnings("unchecked")
+ Class<Hydraulique1dIHM_Base> clazz = (Class<Hydraulique1dIHM_Base>)Class.forName(
"org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_" +
nomIhmHelper);
- Constructor[] constructeurs = clazz.getConstructors();
+ return getIhmHelper(clazz);
+ }
+ catch (Exception ex) {
+ ex.printStackTrace();
+ }
+
+ return null;
+ }
+
+
+ /**
+ * Permet de r\xE9cup\xE9rer une instance unique de la classe pass\xE9e en argument.
+ * @param _clazz La classe de l'instance.
+ * @return L'instance.
+ */
+ @SuppressWarnings("unchecked")
+ public <T extends Hydraulique1dIHM_Base> T getIhmHelper(Class<T> _clazz) {
+ String nomIhmHelper=_clazz.getName().substring("org.fudaa.fudaa.hydraulique1d.ihmhelper.Hydraulique1dIHM_".length());
+
+ try {
+ if (!ihmHelpers_.containsKey(nomIhmHelper)) {
+ Constructor<?>[] constructeurs = _clazz.getConstructors();
for (int i = 0; i < constructeurs.length; i++) {
- Class[] classesParamConstruc = constructeurs[i].getParameterTypes();
+ Class<?>[] classesParamConstruc = constructeurs[i].getParameterTypes();
if (classesParamConstruc.length == 1) {
if (classesParamConstruc[0].equals(MetierEtude1d.class)) {
Object[] tmp = new Object[1];
@@ -185,8 +208,9 @@
ex.printStackTrace();
}
- return (Hydraulique1dIHM_Base)ihmHelpers_.get(nomIhmHelper);
+ return (T)ihmHelpers_.get(nomIhmHelper);
}
+
public Hydraulique1dIHM_Apport2 APPORT2() {
return (Hydraulique1dIHM_Apport2) getIhmHelper("Apport2");
}
@@ -335,4 +359,7 @@
public Hydraulique1dIHM_ZonesSeches ZONES_SECHES() {
return (Hydraulique1dIHM_ZonesSeches) getIhmHelper("ZonesSeches");
}
+ public Hydraulique1dIHM_ParamsSediment PARAMS_SEDIMENT() {
+ return getIhmHelper(Hydraulique1dIHM_ParamsSediment.class);
+ }
}
Added: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java (rev 0)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/hydraulique1d/ihmhelper/Hydraulique1dIHM_ParamsSediment.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -0,0 +1,55 @@
+/*
+ * @file Hydraulique1dIHM_ParamCalage.java
+ * @creation 2001-09-20
+ * @modification $Date: 2007-11-20 11:43:14 $
+ * @license GNU General Public License 2
+ * @copyright (c)1998-2001 EDF/LNHE
+ * @mail de...@fu...
+ */
+package org.fudaa.fudaa.hydraulique1d.ihmhelper;
+
+import javax.swing.JComponent;
+
+import org.fudaa.dodico.hydraulique1d.metier.MetierEtude1d;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dBaseApplication;
+import org.fudaa.fudaa.hydraulique1d.Hydraulique1dResource;
+import org.fudaa.fudaa.hydraulique1d.editor.Hydraulique1dParametresSedimentEditor;
+
+import com.memoire.bu.BuAssistant;
+
+/**
+ * Classe faisant le lien entre l'\xE9diteur des param\xE8tres de sediment et l'aide.
+ *
+ * @version $Id$
+ * @author Bertrand Marchand (mar...@de...)
+ */
+public class Hydraulique1dIHM_ParamsSediment extends Hydraulique1dIHM_Base {
+ Hydraulique1dParametresSedimentEditor edit_;
+
+ public Hydraulique1dIHM_ParamsSediment(MetierEtude1d e) {
+ super(e);
+ }
+
+ @Override
+ public void editer() {
+ if (edit_ == null) {
+ edit_= new Hydraulique1dParametresSedimentEditor();
+ edit_.setObject(etude_.sediment().parametres());
+ installContextHelp(edit_);
+ listenToEditor(edit_);
+ BuAssistant ass= Hydraulique1dResource.getAssistant();
+ if (ass != null)
+ ass.addEmitters(edit_);
+ }
+ edit_.show();
+ }
+
+ @Override
+ protected void installContextHelp(JComponent e) {
+ if (e == null)
+ return;
+ ((Hydraulique1dBaseApplication)Hydraulique1dBaseApplication.FRAME)
+ .getImplementation()
+ .installContextHelp(e.getRootPane(), "mascaret/sediment/parametres_sediment.html");
+ }
+}
Modified: trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java
===================================================================
--- trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-09-20 08:04:11 UTC (rev 8518)
+++ trunk/soft/fudaa-mascaret/ui/src/main/java/org/fudaa/fudaa/mascaret/MascaretImplementation.java 2013-10-10 13:28:07 UTC (rev 8519)
@@ -147,7 +147,7 @@
static {
isApp_.name = "Fudaa-Mascaret";
- isApp_.version = "3.1.9";
+ isApp_.version = "3.1.10";
isApp_.date = "06-09-2013";
isApp_.rights = MascaretResource.MASCARET.getString("Tous droits r\xE9serv\xE9s") + ". EDF-CETMEF (c) 2001-2013";
// isApp_.contact = "http://www.openmascaret.org/index.php?option=com_kunena&view=category&Itemid=177&layout=list";
@@ -168,7 +168,7 @@
isApp_.libraries = null;
isApp_.thanks = new String[]{"Fudaa team"};
idApp_.name = "Fudaa-Mascaret";
- idApp_.version = "3.1.9";
+ idApp_.version = "3.1.10";
idApp_.organization = "EDF-CETMEF";
idApp_.author = author;
idApp_.contact = "http://www.openmascaret.org/";
@@ -218,7 +218,8 @@
if (CGlobal.AVEC_QUALITE_DEAU) {
mb.addMenu(buildQualiteDEauMenu());
}
- mb.addMenu(buildResultat());
+ mb.addMenu(buildSedimentMenu());
+ mb.addMenu(buildResultatMenu());
if (CGlobal.AVEC_CALAGE_AUTO) {
mb.addMenu(buildCalageMenu());
}
@@ -475,6 +476,8 @@
zonesFrottementCalees();
} else if (action.equals("CALCUL_CALAGE")) {
calculer(true);
+ } else if (action.equals("GRANULO_SEDIMENT")) {
+ paramsSediment();
} else if (action.equals("MODELEQUALITEDEAU")) {
modeleQualiteDEau();
} else if (action.equals("LOIS_POUR_QUALITEDEAU")) {
@@ -802,7 +805,7 @@
}
// Menu Resultat
- private BuMenu buildResultat() {
+ private BuMenu buildResultatMenu() {
BuMenu r = new BuMenu(_("R\xE9sultats"), "RESULTATS", true);
r.addSeparator(_("R\xE9sultats"));
r.addMenuItem(_("R\xE9sultats g\xE9n\xE9raux"), "RESULTATS_GENERAUX", false);
@@ -826,6 +829,17 @@
r.addMenuItem(_("Zones de frottement cal\xE9es"), "FROT_CALAGE", false);
return r;
}
+
+ /**
+ * @return Le menu sediments
+ */
+ private BuMenu buildSedimentMenu() {
+ BuMenu r=new BuMenu(_("S\xE9diment"), "SEDIMENT");
+ r.addMenuItem(_("Param\xE8tres de granulom\xE9trie"),"GRANULO_SEDIMENT");
+
+ return r;
+ }
+
// Menu Synthese
private BuMenu buildSyntheseMenu() {
@@ -2113,6 +2127,10 @@
Hydraulique1dIHMRepository.getInstance().MODELE_QUALITE_EAU().editer();
}
}
+
+ private void paramsSediment() {
+ Hydraulique1dIHMRepository.getInstance().PARAMS_SEDIMENT().editer();
+ }
private void loiPourQualiteDEau() {
ihmP_.LIBRARY_LOI().setQualiteDEau(true);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <bma...@us...> - 2013-09-20 08:04:14
|
Revision: 8518
http://sourceforge.net/p/fudaa/svn/8518
Author: bmarchan
Date: 2013-09-20 08:04:11 +0000 (Fri, 20 Sep 2013)
Log Message:
-----------
Fix : Pb d'affichage des boutons du bas de fenetre sur certaines boites de dialogue.
Modified Paths:
--------------
trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java
Modified: trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java
===================================================================
--- trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java 2013-09-13 13:11:02 UTC (rev 8517)
+++ trunk/framework/ebli-common/src/main/java/org/fudaa/ebli/dialog/BDialogContent.java 2013-09-20 08:04:11 UTC (rev 8518)
@@ -34,8 +34,11 @@
*/
public class BDialogContent extends BuPanel implements ActionListener, PropertyChangeListener, KeyListener {
public static final int INSETS_SIZE = BPanneauNavigation.INSETS_SIZE;
+ // Boutons du bas
private BPanneauNavigation pnNav_;
+ // Boutons du haut
private BPanneauEditorAction pnAction_;
+ // Contient les boutons du bas et du haut en bas de fenetre
private BuPanel pnCtrl_;
protected int reponse_;
private final JComponent message_;
@@ -44,7 +47,9 @@
IDialogInterface dialog_;
boolean modal_, resizable_, closable_;
// non prive afin qu'il soit accessible depuis les inner-classes
+ // La barre de swith du dialogue.
JPanel pnSwitchMode_;
+ // Le panneau principal du dialogue.
private Container contentPane_;
private final BuCommonInterface appli_;
private boolean buildMode_;
@@ -200,7 +205,7 @@
pnAction_ = null;
pnCtrl_ = new BuPanel();
pnCtrl_.setLayout(new BorderLayout());
- add(pnCtrl_,BorderLayout.SOUTH);
+ super.add(pnCtrl_,BorderLayout.SOUTH);
if (EbliPreferences.DIALOG.TYPE == EbliPreferences.DIALOG.INTERNAL) {
setToInternalDialog();
} else {
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 13:11:05
|
Revision: 8517
http://sourceforge.net/p/fudaa/svn/8517
Author: deniger
Date: 2013-09-13 13:11:02 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
Added Paths:
-----------
branches/soft/fudaa-crue-1.0_branche/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 13:09:15
|
Revision: 8516
http://sourceforge.net/p/fudaa/svn/8516
Author: deniger
Date: 2013-09-13 13:09:12 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
tag version 1.0
Added Paths:
-----------
tags/soft/fudaa-crue-1.0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 13:08:10
|
Revision: 8515
http://sourceforge.net/p/fudaa/svn/8515
Author: deniger
Date: 2013-09-13 13:08:06 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
Removed Paths:
-------------
branches/soft/fudaa-crue-1.0_branche/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 13:07:49
|
Revision: 8514
http://sourceforge.net/p/fudaa/svn/8514
Author: deniger
Date: 2013-09-13 13:07:46 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
Removed Paths:
-------------
tags/soft/fudaa-crue-1.0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 13:07:24
|
Revision: 8513
http://sourceforge.net/p/fudaa/svn/8513
Author: deniger
Date: 2013-09-13 13:07:21 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
suppression anciens tags
Removed Paths:
-------------
tags/Prepro-0.91bis/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 11:50:59
|
Revision: 8511
http://sourceforge.net/p/fudaa/svn/8511
Author: deniger
Date: 2013-09-13 11:50:56 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
corrections minor bugs
Removed Paths:
-------------
trunk/soft/fudaa-crue/ui-options/src/main/resources/default-Preferences/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 11:37:53
|
Revision: 8510
http://sourceforge.net/p/fudaa/svn/8510
Author: deniger
Date: 2013-09-13 11:37:50 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
branche version 1.0
Added Paths:
-----------
branches/soft/fudaa-crue-1.0_branche/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 11:37:01
|
Revision: 8509
http://sourceforge.net/p/fudaa/svn/8509
Author: deniger
Date: 2013-09-13 11:37:00 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
Added Paths:
-----------
branches/soft/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 11:35:50
|
Revision: 8508
http://sourceforge.net/p/fudaa/svn/8508
Author: deniger
Date: 2013-09-13 11:35:46 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
tag version 1.0
Added Paths:
-----------
tags/soft/fudaa-crue-1.0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 11:33:51
|
Revision: 8507
http://sourceforge.net/p/fudaa/svn/8507
Author: deniger
Date: 2013-09-13 11:33:45 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
suppression anciens tags
Removed Paths:
-------------
tags/soft/fudaa-crue-1.0/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 11:33:29
|
Revision: 8506
http://sourceforge.net/p/fudaa/svn/8506
Author: deniger
Date: 2013-09-13 11:33:25 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
suppression anciens tags
Removed Paths:
-------------
tags/soft/fudaa-crue-0.62/
tags/soft/fudaa-crue-0.63/
tags/soft/fudaa-crue-0.9/
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 10:16:10
|
Revision: 8505
http://sourceforge.net/p/fudaa/svn/8505
Author: deniger
Date: 2013-09-13 10:16:07 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
corrections minor bugs
Modified Paths:
--------------
trunk/soft/fudaa-crue/ui-application/pom.xml
trunk/soft/fudaa-crue/ui-branding/src/main/resources/org/fudaa/fudaa/crue/branding/layer.xml
Modified: trunk/soft/fudaa-crue/ui-application/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-application/pom.xml 2013-09-13 10:02:48 UTC (rev 8504)
+++ trunk/soft/fudaa-crue/ui-application/pom.xml 2013-09-13 10:16:07 UTC (rev 8505)
@@ -248,14 +248,7 @@
<zipfileset dir="target/${brandingToken}/bin"
includes="${brandingToken}.exe" prefix="${brandingToken}/bin" />
</zip>
- <!--on enleve .lastModifed-->
- <unzip src="${project.build.directory}/Fudaa-Crue-${project.version}.zip" dest="${project.build.directory}/temp-zip"/>
- <zip destfile="${project.build.directory}/Fudaa-Crue-${project.version}.zip"
- basedir="${project.build.directory}/temp-zip/"
- includes="**/*"
- excludes="**/.lastModified"
- />
- <delete dir="${project.build.directory}/temp-zip"/>
+
</target>
</configuration>
<goals>
Modified: trunk/soft/fudaa-crue/ui-branding/src/main/resources/org/fudaa/fudaa/crue/branding/layer.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-branding/src/main/resources/org/fudaa/fudaa/crue/branding/layer.xml 2013-09-13 10:02:48 UTC (rev 8504)
+++ trunk/soft/fudaa-crue/ui-branding/src/main/resources/org/fudaa/fudaa/crue/branding/layer.xml 2013-09-13 10:16:07 UTC (rev 8505)
@@ -92,7 +92,6 @@
<file name="ReportSelectRunTopComponent.settings" url="ReportSelectRunTopComponentSettings.xml"/>
<file name="ReportVariableTopComponent.settings" url="ReportVariableTopComponentSettings.xml"/>
<file name="ReportViewManagerTopComponent.settings" url="ReportViewManagerTopComponentSettings.xml"/>
- <file name="ScenariosTopComponent.settings" url="ScenariosTopComponentSettings_1.xml"/>
<file name="SysdocTopComponent.settings" url="SysdocTopComponentSettings.xml"/>
<file name="properties.settings_hidden"/>
</folder>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 09:53:15
|
Revision: 8503
http://sourceforge.net/p/fudaa/svn/8503
Author: deniger
Date: 2013-09-13 09:53:08 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
corrections minor bugs
Modified Paths:
--------------
trunk/soft/fudaa-crue/crue-compare/pom.xml
trunk/soft/fudaa-crue/crue-config/pom.xml
trunk/soft/fudaa-crue/crue-core/pom.xml
trunk/soft/fudaa-crue/crue-emh/pom.xml
trunk/soft/fudaa-crue/crue-io/pom.xml
trunk/soft/fudaa-crue/crue-otfa/pom.xml
trunk/soft/fudaa-crue/crue-project/pom.xml
trunk/soft/fudaa-crue/crue-sysdoc/pom.xml
trunk/soft/fudaa-crue/crue-test/pom.xml
trunk/soft/fudaa-crue/crue-validation/pom.xml
trunk/soft/fudaa-crue/pom.xml
trunk/soft/fudaa-crue/ui-application/pom.xml
trunk/soft/fudaa-crue/ui-branding/pom.xml
trunk/soft/fudaa-crue/ui-commandline/pom.xml
trunk/soft/fudaa-crue/ui-common/pom.xml
trunk/soft/fudaa-crue/ui-comparison/pom.xml
trunk/soft/fudaa-crue/ui-emh/pom.xml
trunk/soft/fudaa-crue/ui-loader/pom.xml
trunk/soft/fudaa-crue/ui-loi/pom.xml
trunk/soft/fudaa-crue/ui-modelling/pom.xml
trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java
trunk/soft/fudaa-crue/ui-options/pom.xml
trunk/soft/fudaa-crue/ui-otfa/pom.xml
trunk/soft/fudaa-crue/ui-planimetry/pom.xml
trunk/soft/fudaa-crue/ui-post/pom.xml
trunk/soft/fudaa-crue/ui-report/pom.xml
trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTopComponent.java
trunk/soft/fudaa-crue/ui-study/pom.xml
trunk/soft/fudaa-crue/ui-sysdoc/pom.xml
trunk/soft/fudaa-crue/ui-views/pom.xml
trunk/soft/fudaa-crue/ui-wrapper/pom.xml
Modified: trunk/soft/fudaa-crue/crue-compare/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-compare/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-compare/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-compare</artifactId>
<name>Crue Compare</name>
Modified: trunk/soft/fudaa-crue/crue-config/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-config/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-config/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-config</artifactId>
<name>Crue Config</name>
Modified: trunk/soft/fudaa-crue/crue-core/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-core/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-core/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-core</artifactId>
<name>Crue Core</name>
Modified: trunk/soft/fudaa-crue/crue-emh/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-emh/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-emh/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-emh</artifactId>
<name>Crue EMH</name>
Modified: trunk/soft/fudaa-crue/crue-io/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-io/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-io/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-io</artifactId>
<name>Crue IO</name>
Modified: trunk/soft/fudaa-crue/crue-otfa/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-otfa/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-otfa/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-otfa</artifactId>
<name>Crue OTFA</name>
Modified: trunk/soft/fudaa-crue/crue-project/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-project/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-project/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-project</artifactId>
<name>Crue Project</name>
Modified: trunk/soft/fudaa-crue/crue-sysdoc/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-sysdoc/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-sysdoc/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-sysdoc</artifactId>
<name>Crue Sysdoc</name>
Modified: trunk/soft/fudaa-crue/crue-test/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-test/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-test/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-test</artifactId>
Modified: trunk/soft/fudaa-crue/crue-validation/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/crue-validation/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/crue-validation/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>crue-validation</artifactId>
<name>Crue Validation</name>
Modified: trunk/soft/fudaa-crue/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -8,7 +8,7 @@
</parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
<name>Fudaa-Crue</name>
<packaging>pom</packaging>
<ciManagement>
Modified: trunk/soft/fudaa-crue/ui-application/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-application/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-application/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>application</artifactId>
Modified: trunk/soft/fudaa-crue/ui-branding/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-branding/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-branding/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-branding</artifactId>
Modified: trunk/soft/fudaa-crue/ui-commandline/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-commandline/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-commandline/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -5,7 +5,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-commandline</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-common/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-common/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-common/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-common</artifactId>
Modified: trunk/soft/fudaa-crue/ui-comparison/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-comparison/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-comparison/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-comparison</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-emh/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-emh/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-emh/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-emh</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-loader/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-loader/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-loader/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-loader</artifactId>
<packaging>nbm</packaging>
Modified: trunk/soft/fudaa-crue/ui-loi/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-loi/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-loi/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-loi</artifactId>
Modified: trunk/soft/fudaa-crue/ui-modelling/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-modelling/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-modelling</artifactId>
Modified: trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-modelling/src/main/java/org/fudaa/fudaa/crue/modelling/AbstractModellingTopComponent.java 2013-09-13 09:53:08 UTC (rev 8503)
@@ -229,8 +229,8 @@
if (first != null) {
cancelSavePanel.add(first);
}
+ cancelSavePanel.add(buttonSave);
cancelSavePanel.add(buttonCancel);
- cancelSavePanel.add(buttonSave);
buttonCancel.setEnabled(modified);
buttonSave.setEnabled(modified);
}
Modified: trunk/soft/fudaa-crue/ui-options/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-options/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-options/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-options</artifactId>
<name>Crue UI Options</name>
Modified: trunk/soft/fudaa-crue/ui-otfa/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-otfa/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-otfa/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-otfa</artifactId>
Modified: trunk/soft/fudaa-crue/ui-planimetry/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-planimetry/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-planimetry/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-planimetry</artifactId>
Modified: trunk/soft/fudaa-crue/ui-post/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-post/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-post/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-post</artifactId>
Modified: trunk/soft/fudaa-crue/ui-report/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-report/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-report/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-report</artifactId>
Modified: trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTopComponent.java
===================================================================
--- trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTopComponent.java 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-report/src/main/java/org/fudaa/fudaa/crue/report/AbstractReportTopComponent.java 2013-09-13 09:53:08 UTC (rev 8503)
@@ -116,8 +116,8 @@
if (first != null) {
cancelSavePanel.add(first);
}
+ cancelSavePanel.add(buttonSave);
cancelSavePanel.add(buttonCancel);
- cancelSavePanel.add(buttonSave);
buttonCancel.setEnabled(modified);
buttonSave.setEnabled(modified);
}
Modified: trunk/soft/fudaa-crue/ui-study/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-study/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-study/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-study</artifactId>
Modified: trunk/soft/fudaa-crue/ui-sysdoc/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-sysdoc/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-sysdoc/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-sysdoc</artifactId>
Modified: trunk/soft/fudaa-crue/ui-views/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-views/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-views/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<packaging>nbm</packaging>
<artifactId>ui-views</artifactId>
Modified: trunk/soft/fudaa-crue/ui-wrapper/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/ui-wrapper/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
+++ trunk/soft/fudaa-crue/ui-wrapper/pom.xml 2013-09-13 09:53:08 UTC (rev 8503)
@@ -4,7 +4,7 @@
<parent>
<artifactId>fudaa-crue</artifactId>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
- <version>1.0RC5-SNAPSHOT</version>
+ <version>1.0</version>
</parent>
<artifactId>ui-wrapper</artifactId>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|
|
From: <de...@us...> - 2013-09-13 09:40:33
|
Revision: 8502
http://sourceforge.net/p/fudaa/svn/8502
Author: deniger
Date: 2013-09-13 09:40:30 +0000 (Fri, 13 Sep 2013)
Log Message:
-----------
corrections minor bugs
Modified Paths:
--------------
trunk/soft/fudaa-crue/pom.xml
Modified: trunk/soft/fudaa-crue/pom.xml
===================================================================
--- trunk/soft/fudaa-crue/pom.xml 2013-09-13 09:40:23 UTC (rev 8501)
+++ trunk/soft/fudaa-crue/pom.xml 2013-09-13 09:40:30 UTC (rev 8502)
@@ -8,7 +8,7 @@
</parent>
<groupId>org.fudaa.soft.fudaa-crue</groupId>
<artifactId>fudaa-crue</artifactId>
- <version>1.0RC4-SNAPSHOT</version>
+ <version>1.0RC5-SNAPSHOT</version>
<name>Fudaa-Crue</name>
<packaging>pom</packaging>
<ciManagement>
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|