|
From: <de...@us...> - 2003-12-19 12:10:40
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux
In directory sc8-pr-cvs1:/tmp/cvs-serv28839/h2d/reflux
Modified Files:
H2dRefluxBcManager.java H2dRefluxBoundaryCondition.java
H2dRefluxBoundaryConditionMiddleFriction.java
H2dRefluxElementProperty.java
H2dRefluxElementPropertyMngAbstract.java
H2dRefluxParameters.java H2dRefluxSourceInterface.java
Log Message:
Update for h2d model
Add support for evolution
Index: H2dRefluxBcManager.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxBcManager.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** H2dRefluxBcManager.java 12 Dec 2003 10:30:54 -0000 1.4
--- H2dRefluxBcManager.java 19 Dec 2003 12:10:36 -0000 1.5
***************
*** 1218,1226 ****
return bcArray_[_idxOnThisFrontier];
}
! public void fillWithUsedEvolution(final Set _r) {
for (int i= bcArray_.length - 1; i >= 0; i--) {
bcArray_[i].fillWithUsedEvolution(_r);
}
}
public int getNbPt() {
return bcArray_.length;
--- 1218,1232 ----
return bcArray_[_idxOnThisFrontier];
}
! public void fillWithUsedEvolution(Set _r) {
for (int i= bcArray_.length - 1; i >= 0; i--) {
bcArray_[i].fillWithUsedEvolution(_r);
}
}
+
+ protected void replaceEvol(Map evolEquivEvol){
+ for (int i= bcArray_.length - 1; i >= 0; i--) {
+ bcArray_[i].replaceEvol(evolEquivEvol);
+ }
+ }
public int getNbPt() {
return bcArray_.length;
***************
*** 1233,1236 ****
--- 1239,1249 ----
return null;
}
+ }
+
+ protected void replaceEvol(Map evolEquivEvol){
+ for (int i= bcFrontier_.length - 1; i >= 0; i--) {
+ ((RefluxMiddleFrontier)bcFrontier_[i]).replaceEvol(evolEquivEvol);
+ }
+
}
public boolean isModified() {
Index: H2dRefluxBoundaryCondition.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxBoundaryCondition.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** H2dRefluxBoundaryCondition.java 11 Dec 2003 12:41:27 -0000 1.3
--- H2dRefluxBoundaryCondition.java 19 Dec 2003 12:10:36 -0000 1.4
***************
*** 53,63 ****
}
}
!
! public void initUsedEvol(){
! if(uTransitoireCourbe_!=null) uTransitoireCourbe_.setUsed();
! if(vTransitoireCourbe_!=null) vTransitoireCourbe_.setUsed();
! if(hTransitoireCourbe_!=null) hTransitoireCourbe_.setUsed();
! if(qTransitoireCourbe_!=null) qTransitoireCourbe_.setUsed();
!
}
public boolean containsPnTransient() {
--- 53,91 ----
}
}
!
! protected void replaceEvol(Map evolEquivEvol) {
! if ((uTransitoireCourbe_ != null)
! && (evolEquivEvol.containsKey(uTransitoireCourbe_))) {
! uTransitoireCourbe_= (H2dEvolution)evolEquivEvol.get(uTransitoireCourbe_);
! uTransitoireCourbe_.setUsed();
! }
! if ((vTransitoireCourbe_ != null)
! && (evolEquivEvol.containsKey(vTransitoireCourbe_))) {
! vTransitoireCourbe_= (H2dEvolution)evolEquivEvol.get(vTransitoireCourbe_);
! vTransitoireCourbe_.setUsed();
! }
! if ((hTransitoireCourbe_ != null)
! && (evolEquivEvol.containsKey(hTransitoireCourbe_))) {
! hTransitoireCourbe_= (H2dEvolution)evolEquivEvol.get(hTransitoireCourbe_);
! hTransitoireCourbe_.setUsed();
! }
! if ((qTransitoireCourbe_ != null)
! && (evolEquivEvol.containsKey(qTransitoireCourbe_))) {
! qTransitoireCourbe_= (H2dEvolution)evolEquivEvol.get(qTransitoireCourbe_);
! qTransitoireCourbe_.setUsed();
! }
!
! }
!
! public void initUsedEvol() {
! if (uTransitoireCourbe_ != null)
! uTransitoireCourbe_.setUsed();
! if (vTransitoireCourbe_ != null)
! vTransitoireCourbe_.setUsed();
! if (hTransitoireCourbe_ != null)
! hTransitoireCourbe_.setUsed();
! if (qTransitoireCourbe_ != null)
! qTransitoireCourbe_.setUsed();
!
}
public boolean containsPnTransient() {
***************
*** 106,110 ****
_newBoundary.qTransitoireCourbe_.setUsed();
}
! if(_newBoundary.isMiddleWithFriction() && (_newBoundary.getMiddleFriction().getFrictionEvolution()!=null)){
_newBoundary.getMiddleFriction().getFrictionEvolution().setUsed();
}
--- 134,139 ----
_newBoundary.qTransitoireCourbe_.setUsed();
}
! if (_newBoundary.isMiddleWithFriction()
! && (_newBoundary.getMiddleFriction().getFrictionEvolution() != null)) {
_newBoundary.getMiddleFriction().getFrictionEvolution().setUsed();
}
Index: H2dRefluxBoundaryConditionMiddleFriction.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxBoundaryConditionMiddleFriction.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** H2dRefluxBoundaryConditionMiddleFriction.java 11 Dec 2003 12:41:27 -0000 1.3
--- H2dRefluxBoundaryConditionMiddleFriction.java 19 Dec 2003 12:10:36 -0000 1.4
***************
*** 8,18 ****
*/
package org.fudaa.dodico.h2d.reflux;
import java.util.Set;
- import org.fudaa.dodico.h2d.H2dBoundaryCondition;
- import org.fudaa.dodico.h2d.H2dElement;
import org.fudaa.dodico.h2d.H2dEvolution;
- import org.fudaa.dodico.h2d.type.H2dBoundaryType;
import org.fudaa.dodico.h2d.type.H2dBcType;
import org.fudaa.dodico.h2d.type.H2dVariableType;
/**
--- 8,17 ----
*/
package org.fudaa.dodico.h2d.reflux;
+ import java.util.Map;
import java.util.Set;
import org.fudaa.dodico.h2d.H2dEvolution;
import org.fudaa.dodico.h2d.type.H2dBcType;
+ import org.fudaa.dodico.h2d.type.H2dBoundaryType;
import org.fudaa.dodico.h2d.type.H2dVariableType;
/**
***************
*** 210,213 ****
--- 209,221 ----
}
+ protected void replaceEvol(Map evolEquivEvol) {
+ if ((frictionEvol_ != null)
+ && (evolEquivEvol.containsKey(frictionEvol_))) {
+ frictionEvol_= (H2dEvolution)evolEquivEvol.get(frictionEvol_);
+ frictionEvol_.setUsed();
+ }
+ super.replaceEvol(evolEquivEvol);
+ }
+
/**
*
***************
*** 258,262 ****
public void initUsedEvol() {
super.initUsedEvol();
! if(frictionEvol_!=null) frictionEvol_.setUsed();
}
--- 266,271 ----
public void initUsedEvol() {
super.initUsedEvol();
! if (frictionEvol_ != null)
! frictionEvol_.setUsed();
}
Index: H2dRefluxElementProperty.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxElementProperty.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** H2dRefluxElementProperty.java 11 Dec 2003 12:41:27 -0000 1.1
--- H2dRefluxElementProperty.java 19 Dec 2003 12:10:36 -0000 1.2
***************
*** 8,11 ****
--- 8,13 ----
*/
package org.fudaa.dodico.h2d.reflux;
+ import java.util.Map;
+
import gnu.trove.TIntArrayList;
import gnu.trove.TIntDoubleHashMap;
***************
*** 211,214 ****
--- 213,232 ----
}
return null;
+ }
+
+ protected void replaceEvol(Map evolEquivEvol) {
+ if(indiceTransitoireEvolution_!=null){
+ TIntObjectIterator intObject=indiceTransitoireEvolution_.iterator();
+ for (int i= indiceTransitoireEvolution_.size(); i-- > 0;) {
+ intObject.advance();
+ H2dEvolution newE=(H2dEvolution)evolEquivEvol.get(intObject.value());
+ if(newE!=null){
+ newE.setUsed();
+ indiceTransitoireEvolution_.put(intObject.key(), newE);
+ }
+ }
+
+
+ }
}
protected RefluxMemento setValueIntern(
Index: H2dRefluxElementPropertyMngAbstract.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxElementPropertyMngAbstract.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** H2dRefluxElementPropertyMngAbstract.java 11 Dec 2003 12:41:27 -0000 1.1
--- H2dRefluxElementPropertyMngAbstract.java 19 Dec 2003 12:10:36 -0000 1.2
***************
*** 73,76 ****
--- 73,82 ----
}
+ protected void replaceEvol(Map evolEquivEvol) {
+ for (Iterator it= varNodalProp.values().iterator(); it.hasNext();) {
+ ((H2dRefluxElementProperty)it.next()).replaceEvol(evolEquivEvol);
+ }
+ }
+
public boolean containsPnTransient() {
for (Iterator it= varNodalProp.values().iterator(); it.hasNext();) {
Index: H2dRefluxParameters.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxParameters.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** H2dRefluxParameters.java 11 Dec 2003 12:41:27 -0000 1.3
--- H2dRefluxParameters.java 19 Dec 2003 12:10:36 -0000 1.4
***************
*** 8,12 ****
--- 8,20 ----
*/
package org.fudaa.dodico.h2d.reflux;
+ import gnu.trove.TDoubleArrayList;
+
+ import java.util.ArrayList;
+ import java.util.HashMap;
import java.util.HashSet;
+ import java.util.Iterator;
+ import java.util.Map;
+ import java.util.Set;
+
import org.fudaa.dodico.commun.DodicoAnalyze;
import org.fudaa.dodico.commun.DodicoCommand;
***************
*** 26,29 ****
--- 34,38 ----
import org.fudaa.dodico.h2d.type.H2dBcType;
import org.fudaa.dodico.h2d.type.H2dProjetType;
+ import org.fudaa.dodico.h2d.type.H2dResolutionSchemaType;
import org.fudaa.dodico.reflux.io.INPFileFormat;
/**
***************
*** 51,54 ****
--- 60,64 ----
new H2dBcType[] { H2dBcType.PERMANENT, H2dBcType.TRANSITOIRE }));
H2dTimeStepGroup[] gptTemps_;
+ double beginTime_;
H2dRefluxElementPropertyMngAbstract propElem_;
private H2dProjetType projetType_;
***************
*** 58,64 ****
*
*/
! private H2dRefluxParameters(DicoParams _p,H2dProjetType _t) {
super(_p);
! projetType_=_t;
}
--- 68,74 ----
*
*/
! private H2dRefluxParameters(DicoParams _p, H2dProjetType _t) {
super(_p);
! projetType_= _t;
}
***************
*** 98,101 ****
--- 108,114 ----
if (listener_ != null)
propElem_.removeListener(listener_);
+ if(evolMng_!=null){
+ evolMng_.setDispatcher(_l);
+ }
propElem_.addListener(_l);
listener_= _l;
***************
*** 119,125 ****
--- 132,180 ----
return new H2dTimeStepGroup(gptTemps_[_i]);
}
+
public H2dTimeStepGroup[] getGroupePasTempsTab() {
return H2dTimeStepGroup.cloneTimeStep(gptTemps_);
}
+
+ public double getBeginTimeForTrans() {
+ return beginTime_;
+ }
+
+ public void setBeginTimeForTrans(double _t) {
+ if (_t != beginTime_) {
+ isModified= true;
+ fireTimeStepChanged();
+ beginTime_= _t;
+ }
+ }
+
+ public double getMinTime() {
+ return H2dTimeStepGroup.getMinTime(beginTime_, gptTemps_);
+ }
+
+ public double getMaxTime() {
+ return H2dTimeStepGroup.getMaxTime(beginTime_, gptTemps_);
+ }
+
+ public double[] getTimeStep() {
+ return H2dTimeStepGroup.getTimeStep(beginTime_, gptTemps_);
+ }
+
+ protected void guessBeginTimeForTrans() {
+ beginTime_= 0;
+ if (gptTemps_[0].getSchema() == H2dResolutionSchemaType.STATIONNAIRE) {
+ return;
+ } else {
+ HashSet evol= getUsedEvol();
+ if (evol.size() > 0) {
+ H2dEvolution e= (H2dEvolution)evol.toArray()[0];
+ beginTime_= e.getMinX() - gptTemps_[0].getValeurPasTemps();
+ if (beginTime_ < 0)
+ beginTime_= 0;
+ }
+
+ }
+ }
+
protected void fireTimeStepChanged() {
if (listener_ != null)
***************
*** 146,150 ****
isModified= true;
fireTimeStepChanged();
! }
public void redo() {
gptTemps_= newT;
--- 201,205 ----
isModified= true;
fireTimeStepChanged();
! }
public void redo() {
gptTemps_= newT;
***************
*** 170,174 ****
DodicoAnalyze.Editor _analyze) {
DicoParams params= new DicoParams(null, _ft);
! H2dRefluxParameters r= new H2dRefluxParameters(params,_type);
r.setMaillage(_inter, _prog, _analyze);
r.setClManager(H2dRefluxBcManager.init(_inter));
--- 225,229 ----
DodicoAnalyze.Editor _analyze) {
DicoParams params= new DicoParams(null, _ft);
! H2dRefluxParameters r= new H2dRefluxParameters(params, _type);
r.setMaillage(_inter, _prog, _analyze);
r.setClManager(H2dRefluxBcManager.init(_inter));
***************
*** 180,184 ****
r.gptTemps_=
new H2dTimeStepGroup[] { H2dTimeStepGroup.createDefaultStationnaire()};
! r.isModified=true;
return r;
}
--- 235,239 ----
r.gptTemps_=
new H2dTimeStepGroup[] { H2dTimeStepGroup.createDefaultStationnaire()};
! r.isModified= true;
return r;
}
***************
*** 197,201 ****
}
DicoParams params= new DicoParams(_inter.getEntiteValue(), _ft);
! H2dRefluxParameters r= new H2dRefluxParameters(params,_inter.getTypeProjet());
r.setMaillage(_inter.getMaillage(), _prog, _analyze);
if (r.getMaillage() == null) {
--- 252,257 ----
}
DicoParams params= new DicoParams(_inter.getEntiteValue(), _ft);
! H2dRefluxParameters r=
! new H2dRefluxParameters(params, _inter.getTypeProjet());
r.setMaillage(_inter.getMaillage(), _prog, _analyze);
if (r.getMaillage() == null) {
***************
*** 221,224 ****
--- 277,309 ----
_prog.setProgression(100);
}
+ HashSet s= r.getUsedEvol();
+ Map evolEquivEvol= new HashMap(s.size());
+ Set baseEvolu= new HashSet(s.size());
+ boolean foundEquiv;
+ for (Iterator it= s.iterator(); it.hasNext();) {
+ H2dEvolution eToCompare= (H2dEvolution)it.next();
+ foundEquiv= false;
+ for (Iterator itBase= baseEvolu.iterator();
+ (itBase.hasNext()) && (!foundEquiv);
+ ) {
+ H2dEvolution eBase= (H2dEvolution)itBase.next();
+ if (eToCompare.isEvolutionEquivalentTo(eBase)) {
+ foundEquiv= true;
+ evolEquivEvol.put(eToCompare, eBase);
+ }
+ }
+ if (!foundEquiv) {
+ baseEvolu.add(eToCompare);
+ }
+ }
+ if (evolEquivEvol.size() > 0) {
+ r.clMng_.replaceEvol(evolEquivEvol);
+ r.propElem_.replaceEvol(evolEquivEvol);
+ if (r.evolMng_ != null) {
+ r.evolMng_= null;
+ }
+ }
+ r.guessBeginTimeForTrans();
+
return r;
}
***************
*** 278,281 ****
--- 363,373 ----
}
}
+
+ public HashSet getUsedEvol() {
+ HashSet evol= new HashSet();
+ clMng_.fillWithUsedEvolution(evol);
+ propElem_.fillWithUsedEvolution(evol);
+ return evol;
+ }
/**
*
***************
*** 283,289 ****
public H2dEvolutionManager getEvolMng() {
if (evolMng_ == null) {
! HashSet evol= new HashSet();
! clMng_.fillWithUsedEvolution(evol);
! propElem_.fillWithUsedEvolution(evol);
evolMng_= new H2dEvolutionManager(listener_, evol);
}
--- 375,379 ----
public H2dEvolutionManager getEvolMng() {
if (evolMng_ == null) {
! HashSet evol= getUsedEvol();
evolMng_= new H2dEvolutionManager(listener_, evol);
}
Index: H2dRefluxSourceInterface.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/h2d/reflux/H2dRefluxSourceInterface.java,v
retrieving revision 1.7
retrieving revision 1.8
diff -C2 -d -r1.7 -r1.8
*** H2dRefluxSourceInterface.java 25 Nov 2003 10:11:36 -0000 1.7
--- H2dRefluxSourceInterface.java 19 Dec 2003 12:10:36 -0000 1.8
***************
*** 33,36 ****
--- 33,41 ----
*/
public boolean contientVent();
+
+ /**
+ * @return le temps a partir duquel les evolutions doivent commencer
+ */
+ public double getTimeBeginningForTrans();
/**
*/
|