|
From: <de...@us...> - 2003-08-18 11:30:44
|
Update of /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/test/h2d
In directory sc8-pr-cvs1:/tmp/cvs-serv3430/test/h2d
Modified Files:
TestMaillage.java
Log Message:
Maj des projets hydraulique 2d
Index: TestMaillage.java
===================================================================
RCS file: /cvsroot/fudaa/fudaa_devel/dodico/src/org/fudaa/dodico/test/h2d/TestMaillage.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -C2 -d -r1.2 -r1.3
*** TestMaillage.java 7 Aug 2003 08:01:41 -0000 1.2
--- TestMaillage.java 18 Aug 2003 11:05:20 -0000 1.3
***************
*** 9,20 ****
--- 9,25 ----
package org.fudaa.dodico.test.h2d;
+ import gnu.trove.TIntIntHashMap;
+ import gnu.trove.TObjectIntHashMap;
+
import java.util.Arrays;
import junit.framework.TestCase;
+ import org.fudaa.dodico.commun.ProgressionTestAdapter;
import org.fudaa.dodico.h2d.H2dElement;
import org.fudaa.dodico.h2d.H2dMaillage;
import org.fudaa.dodico.h2d.H2dMaillageBord;
import org.fudaa.dodico.h2d.H2dPoint;
+ import org.fudaa.dodico.h2d.H2dSegment;
/**
***************
*** 38,45 ****
--- 43,52 ----
H2dMaillage mail_;
double eps_;
+ ProgressionTestAdapter progress_;
/**
*
*/
public TestMaillage() {
+ progress_= new ProgressionTestAdapter();
eps_= 1E-15;
***************
*** 59,70 ****
H2dElement[] elt= new H2dElement[9];
elt[0]= new H2dElement(new int[] { 0, 2, 1 });
! elt[1]= new H2dElement(new int[] { 1, 3, 2 });
elt[2]= new H2dElement(new int[] { 0, 4, 2 });
elt[3]= new H2dElement(new int[] { 4, 5, 2 });
! elt[4]= new H2dElement(new int[] { 5, 3, 6 });
! elt[5]= new H2dElement(new int[] { 5, 7, 4 });
elt[6]= new H2dElement(new int[] { 1, 3, 6 });
elt[7]= new H2dElement(new int[] { 7, 8, 5 });
! elt[8]= new H2dElement(new int[] { 6, 8, 5 });
mail_= new H2dMaillage(pts, elt);
}
--- 66,77 ----
H2dElement[] elt= new H2dElement[9];
elt[0]= new H2dElement(new int[] { 0, 2, 1 });
! elt[1]= new H2dElement(new int[] { 1, 2, 3 });
elt[2]= new H2dElement(new int[] { 0, 4, 2 });
elt[3]= new H2dElement(new int[] { 4, 5, 2 });
! elt[4]= new H2dElement(new int[] { 5, 6, 3 });
! elt[5]= new H2dElement(new int[] { 5, 4, 7 });
elt[6]= new H2dElement(new int[] { 1, 3, 6 });
elt[7]= new H2dElement(new int[] { 7, 8, 5 });
! elt[8]= new H2dElement(new int[] { 6, 5, 8 });
mail_= new H2dMaillage(pts, elt);
}
***************
*** 88,93 ****
//elt 1
! pts[12]= H2dPoint.createMilieu(pts[1], pts[3]);
! pts[13]= H2dPoint.createMilieu(pts[2], pts[3]);
//pts10
--- 95,101 ----
//elt 1
! pts[12]= H2dPoint.createMilieu(pts[2], pts[3]);
! pts[13]= H2dPoint.createMilieu(pts[1], pts[3]);
!
//pts10
***************
*** 103,113 ****
// elt 4
! pts[18]= H2dPoint.createMilieu(pts[5], pts[3]);
pts[19]= H2dPoint.createMilieu(pts[3], pts[6]);
! pts[20]= H2dPoint.createMilieu(pts[5], pts[6]);
// elt 5
! pts[21]= H2dPoint.createMilieu(pts[5], pts[7]);
! pts[22]= H2dPoint.createMilieu(pts[4], pts[7]);
//pts 16
--- 111,121 ----
// elt 4
! pts[18]= H2dPoint.createMilieu(pts[5], pts[6]);
pts[19]= H2dPoint.createMilieu(pts[3], pts[6]);
! pts[20]= H2dPoint.createMilieu(pts[5], pts[3]);
// elt 5
! pts[21]= H2dPoint.createMilieu(pts[4], pts[7]);
! pts[22]= H2dPoint.createMilieu(pts[5], pts[7]);
//pts 16
***************
*** 129,140 ****
H2dElement[] elt= new H2dElement[9];
elt[0]= new H2dElement(new int[] { 0, 9, 2, 10, 1, 11 });
! elt[1]= new H2dElement(new int[] { 1, 12, 3, 13, 2, 10 });
elt[2]= new H2dElement(new int[] { 0, 14, 4, 15, 2, 9 });
elt[3]= new H2dElement(new int[] { 4, 16, 5, 17, 2, 15 });
! elt[4]= new H2dElement(new int[] { 5, 18, 3, 19, 6, 20 });
! elt[5]= new H2dElement(new int[] { 5, 21, 7, 22, 4, 16 });
! elt[6]= new H2dElement(new int[] { 1, 12, 3, 19, 6, 23 });
! elt[7]= new H2dElement(new int[] { 7, 24, 8, 25, 5, 21 });
! elt[8]= new H2dElement(new int[] { 6, 26, 8, 25, 5, 20 });
mail_= new H2dMaillage(pts, elt);
--- 137,148 ----
H2dElement[] elt= new H2dElement[9];
elt[0]= new H2dElement(new int[] { 0, 9, 2, 10, 1, 11 });
! elt[1]= new H2dElement(new int[] { 1, 10, 2, 12, 3, 13 });
elt[2]= new H2dElement(new int[] { 0, 14, 4, 15, 2, 9 });
elt[3]= new H2dElement(new int[] { 4, 16, 5, 17, 2, 15 });
! elt[4]= new H2dElement(new int[] { 5, 18, 6, 19, 3, 20 });
! elt[5]= new H2dElement(new int[] { 5, 16, 4, 21, 7, 22 });
! elt[6]= new H2dElement(new int[] { 1, 13, 3, 19, 6, 23 });
! elt[7]= new H2dElement(new int[] { 7, 24, 8, 25, 5, 22 });
! elt[8]= new H2dElement(new int[] { 6, 18, 5, 25, 8, 26 });
mail_= new H2dMaillage(pts, elt);
***************
*** 149,160 ****
el= mail_.getElement(1);
assertEquals(el.getPtIndex()[0], 1);
! assertEquals(el.getPtIndex()[1], 3);
! assertEquals(el.getPtIndex()[2], 2);
assertEquals(mail_.isElementTrigoOriente(0), -1);
! assertEquals(mail_.isElementTrigoOriente(1), 1);
! assertEquals(el.isSegmentInEltOrient(1, 3), 1);
! assertEquals(el.isSegmentInEltOrient(3, 2), 1);
! assertEquals(el.isSegmentInEltOrient(2, 1), 1);
! assertEquals(el.isSegmentInEltOrient(2, 3), -1);
assertEquals(el.isSegmentInEltOrient(2, 2), 0);
}
--- 157,168 ----
el= mail_.getElement(1);
assertEquals(el.getPtIndex()[0], 1);
! assertEquals(el.getPtIndex()[1], 2);
! assertEquals(el.getPtIndex()[2], 3);
assertEquals(mail_.isElementTrigoOriente(0), -1);
! assertEquals(mail_.isElementTrigoOriente(1), -1);
! assertEquals(el.isSegmentInEltOrient(1, 3), -1);
! assertEquals(el.isSegmentInEltOrient(3, 2), -1);
! assertEquals(el.isSegmentInEltOrient(2, 1), -1);
! assertEquals(el.isSegmentInEltOrient(2, 3), 1);
assertEquals(el.isSegmentInEltOrient(2, 2), 0);
}
***************
*** 166,171 ****
assertEquals(el.getPtIndex()[1], 9);
assertEquals(el.getPtIndex()[2], 2);
! assertEquals(mail_.isElementTrigoOriente(0), -1);
! assertEquals(mail_.isElementTrigoOriente(1), 1);
assertEquals(el.isSegmentInEltOrient(0, 9), 1);
assertEquals(el.isSegmentInEltOrient(9, 2), 1);
--- 174,181 ----
assertEquals(el.getPtIndex()[1], 9);
assertEquals(el.getPtIndex()[2], 2);
! for (int i= 0; i < 9; i++) {
! assertEquals(mail_.isElementTrigoOriente(i), -1);
! }
!
assertEquals(el.isSegmentInEltOrient(0, 9), 1);
assertEquals(el.isSegmentInEltOrient(9, 2), 1);
***************
*** 225,240 ****
}
! public void testBordFast() {
initMaillage();
! mail_.computeBordFast(null);
_testBordCommun();
}
! public void testBordFastT6() {
initMaillageT6();
! mail_.computeBordFast(null);
_testBordCommunT6();
}
public void testBord() {
initMaillage();
--- 235,252 ----
}
!
! public void testBordV2() {
initMaillage();
! mail_.computeBordV2(null);
_testBordCommun();
}
! public void testBordV2T6() {
initMaillageT6();
! mail_.computeBordV2(null);
_testBordCommunT6();
}
+
public void testBord() {
initMaillage();
***************
*** 269,273 ****
assertEquals(24, bord.getPtIdxForBord(0, 7));
assertEquals(7, bord.getPtIdxForBord(0, 8));
! assertEquals(22, bord.getPtIdxForBord(0, 9));
assertEquals(4, bord.getPtIdxForBord(0, 10));
assertEquals(14, bord.getPtIdxForBord(0, 11));
--- 281,285 ----
assertEquals(24, bord.getPtIdxForBord(0, 7));
assertEquals(7, bord.getPtIdxForBord(0, 8));
! assertEquals(21, bord.getPtIdxForBord(0, 9));
assertEquals(4, bord.getPtIdxForBord(0, 10));
assertEquals(14, bord.getPtIdxForBord(0, 11));
***************
*** 277,284 ****
assertEquals(17, bord.getPtIdxForBord(1, 1));
assertEquals(5, bord.getPtIdxForBord(1, 2));
! assertEquals(18, bord.getPtIdxForBord(1, 3));
assertEquals(3, bord.getPtIdxForBord(1, 4));
! assertEquals(13, bord.getPtIdxForBord(1, 5));
}
--- 289,443 ----
assertEquals(17, bord.getPtIdxForBord(1, 1));
assertEquals(5, bord.getPtIdxForBord(1, 2));
! assertEquals(20, bord.getPtIdxForBord(1, 3));
assertEquals(3, bord.getPtIdxForBord(1, 4));
! assertEquals(12, bord.getPtIdxForBord(1, 5));
! }
+ public void testT3T6() {
+ initMaillage();
+ TObjectIntHashMap segmentPtIdx= new TObjectIntHashMap(mail_.getEltNb() * 3);
+ H2dMaillage temp= mail_.maillageT3enT6(progress_, segmentPtIdx);
+ assertEquals(temp.getEltNb(), 9);
+ assertEquals(27, temp.getPtsNb());
+ initMaillageT6();
+ for (int i= 0; i < mail_.getPtsNb(); i++) {
+ assertTrue(temp.getPt(i).isSame(mail_.getPt(i)));
+ }
+ H2dSegment s= new H2dSegment(0, 1);
+ assertEquals(11, segmentPtIdx.get(s));
+ s.setPt1Idx(1);
+ s.setPt2Idx(2);
+ assertEquals(10, segmentPtIdx.get(s));
+ s.setPt1Idx(3);
+ s.setPt2Idx(2);
+ assertEquals(12, segmentPtIdx.get(s));
+ s.setPt1Idx(1);
+ s.setPt2Idx(3);
+ assertEquals(13, segmentPtIdx.get(s));
+ s.setPt1Idx(0);
+ s.setPt2Idx(4);
+ assertEquals(14, segmentPtIdx.get(s));
+ s.setPt1Idx(4);
+ s.setPt2Idx(2);
+ assertEquals(15, segmentPtIdx.get(s));
+ s.setPt1Idx(4);
+ s.setPt2Idx(5);
+ assertEquals(16, segmentPtIdx.get(s));
+ s.setPt1Idx(5);
+ s.setPt2Idx(2);
+ assertEquals(17, segmentPtIdx.get(s));
+ s.setPt1Idx(5);
+ s.setPt2Idx(6);
+ assertEquals(18, segmentPtIdx.get(s));
+ s.setPt1Idx(3);
+ s.setPt2Idx(6);
+ assertEquals(19, segmentPtIdx.get(s));
+ s.setPt1Idx(5);
+ s.setPt2Idx(3);
+ assertEquals(20, segmentPtIdx.get(s));
+ s.setPt1Idx(4);
+ s.setPt2Idx(7);
+ assertEquals(21, segmentPtIdx.get(s));
+ s.setPt1Idx(7);
+ s.setPt2Idx(5);
+ assertEquals(22, segmentPtIdx.get(s));
+ s.setPt1Idx(1);
+ s.setPt2Idx(6);
+ assertEquals(23, segmentPtIdx.get(s));
+ s.setPt1Idx(7);
+ s.setPt2Idx(8);
+ assertEquals(24, segmentPtIdx.get(s));
+ s.setPt1Idx(8);
+ s.setPt2Idx(5);
+ assertEquals(25, segmentPtIdx.get(s));
+ s.setPt1Idx(8);
+ s.setPt2Idx(6);
+ assertEquals(26, segmentPtIdx.get(s));
+ assertTrue(temp.isSame(mail_));
+ }
+
+ public void testT61T3() {
+ initMaillageT6();
+ TIntIntHashMap T6T3Corresp= new TIntIntHashMap(mail_.getPtsNb() / 2);
+
+ H2dMaillage temp= mail_.maillageT6enT3(progress_, T6T3Corresp);
+ temp.isSame(mail_);
+ assertEquals(9, T6T3Corresp.size());
+ for (int i= 0; i < 9; i++) {
+ assertEquals(i, T6T3Corresp.get(i));
+ }
+ //Autre essai
+ H2dPoint[] pts= new H2dPoint[15];
+ pts[0]= new H2dPoint(0, 0, 0);
+ pts[1]= new H2dPoint(1, 1, 0);
+ pts[2]= new H2dPoint(2, 2, 0);
+ pts[3]= new H2dPoint(3, 3, 0);
+ pts[4]= new H2dPoint(4, 4, 0);
+ pts[5]= new H2dPoint(5, 3, 0);
+ pts[6]= new H2dPoint(6, 2, 0);
+ pts[7]= new H2dPoint(7, 1, 0);
+ pts[8]= new H2dPoint(8, 0, 0);
+ pts[9]= new H2dPoint(6, 0, 0);
+ pts[10]= new H2dPoint(4, 0, 0);
+ pts[11]= new H2dPoint(2, 0, 0);
+ pts[12]= new H2dPoint(3, 1, 0);
+ pts[13]= new H2dPoint(4, 2, 0);
+ pts[14]= new H2dPoint(5, 1, 0);
+ H2dElement[] elt= new H2dElement[4];
+ elt[0]= new H2dElement(new int[] { 0, 1, 2, 12, 10, 11 });
+ elt[1]= new H2dElement(new int[] { 2, 3, 4, 5, 6, 13 });
+ elt[2]= new H2dElement(new int[] { 6, 7, 8, 9, 10, 14 });
+ elt[3]= new H2dElement(new int[] { 10, 12, 2, 13, 6, 14 });
+ //Attention a bien initialiser la table de correspondance.
+ T6T3Corresp.clear();
+ H2dMaillage t3calc=
+ new H2dMaillage(pts, elt).maillageT6enT3(null, T6T3Corresp);
+ pts= new H2dPoint[6];
+ pts[0]= new H2dPoint(0, 0, 0);
+ pts[1]= new H2dPoint(2, 2, 0);
+ pts[2]= new H2dPoint(4, 4, 0);
+ pts[3]= new H2dPoint(6, 2, 0);
+ pts[4]= new H2dPoint(8, 0, 0);
+ pts[5]= new H2dPoint(4, 0, 0);
+ elt= new H2dElement[4];
+ elt[0]= new H2dElement(new int[] { 0, 1, 5 });
+ elt[1]= new H2dElement(new int[] { 1, 2, 3 });
+ elt[2]= new H2dElement(new int[] { 3, 4, 5 });
+ elt[3]= new H2dElement(new int[] { 5, 1, 3 });
+ H2dMaillage t3final= new H2dMaillage(pts, elt);
+ assertTrue(t3calc.isSame(t3final));
+ for (int i= 0; i < pts.length; i++) {
+ assertEquals(i, T6T3Corresp.get(2 * i));
+ }
+ }
+
+ public void testT6en4T3() {
+ initMaillageT6();
+ H2dMaillage temp= mail_.maillageT6en4T3(progress_);
+ assertEquals(36, temp.getEltNb());
+ H2dElement t= temp.getElement(0);
+ assertEquals(t.getPtIndex(0), 0);
+ assertEquals(t.getPtIndex(1), 9);
+ assertEquals(t.getPtIndex(2), 11);
+ t= temp.getElement(12);
+ assertEquals(t.getPtIndex(0), 4);
+ assertEquals(t.getPtIndex(1), 16);
+ assertEquals(t.getPtIndex(2), 15);
+ t= temp.getElement(13);
+ assertEquals(t.getPtIndex(0), 16);
+ assertEquals(t.getPtIndex(1), 5);
+ assertEquals(t.getPtIndex(2), 17);
+ t= temp.getElement(14);
+ assertEquals(t.getPtIndex(0), 17);
+ assertEquals(t.getPtIndex(1), 2);
+ assertEquals(t.getPtIndex(2), 15);
+ t= temp.getElement(15);
+ assertEquals(t.getPtIndex(0), 16);
+ assertEquals(t.getPtIndex(1), 17);
+ assertEquals(t.getPtIndex(2), 15);
+ t= temp.getElement(35);
+ assertEquals(t.getPtIndex(0), 18);
+ assertEquals(t.getPtIndex(1), 25);
+ assertEquals(t.getPtIndex(2), 26);
}
|