[cig-commits] r4343 - in long/3D/Gale/trunk/src/StGermain: . Discretisation/Geometry/tests

walter at geodynamics.org walter at geodynamics.org
Thu Aug 17 17:17:48 PDT 2006


Author: walter
Date: 2006-08-17 17:17:47 -0700 (Thu, 17 Aug 2006)
New Revision: 4343

Modified:
   long/3D/Gale/trunk/src/StGermain/
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.0of1.expected
   long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.c
Log:
 r2716 at earth:  boo | 2006-08-17 17:14:25 -0700
  r2670 at earth (orig r3751):  KathleenHumble | 2006-08-06 21:56:57 -0700
  Added in a test for the iegenvector/eigenvalue sort function:
  EigenvectorList_Sort
  for 2 and 3D.
  
 



Property changes on: long/3D/Gale/trunk/src/StGermain
___________________________________________________________________
Name: svk:merge
   - 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2715
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3750
   + 1ef209d2-b310-0410-a72d-e20c9eb0015c:/cig:2716
afb6c753-b9d0-0310-b4e7-dbd8d91cdd35:/trunk/StGermain:3751

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.0of1.expected
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.0of1.expected	2006-08-18 00:17:45 UTC (rev 4342)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.0of1.expected	2006-08-18 00:17:47 UTC (rev 4343)
@@ -1,4 +1,4 @@
-StGermain Framework revision 3716. Copyright (C) 2003-2005 VPAC.
+StGermain Framework revision 3750. Copyright (C) 2003-2005 VPAC.
 
 ****************************************
 Check StGermain_nSymmetricTensorVectorComponents function
@@ -243,6 +243,35 @@
 (1,0): 3  = 3	(1,1): 1  = 1	(1,2): 5  = 5
 (2,0): 4  = 4	(2,1): 5  = 5	(2,2): 2  = 2
 
+/*************************************/
+Test function EigenvectorList_Sort
+ 3-D
+Unsorted eigenvectorList
+eigenvectorList[0].eigenvalue = 4
+eigenvectorList[1].eigenvalue = -1
+eigenvectorList[2].eigenvalue = 1
+eigenvectorList[0].vector = { 0.577, 0.577, 0.577 }
+eigenvectorList[1].vector = { -0.707, 0, 0.707 }
+eigenvectorList[2].vector = { 0.408, -0.816, 0.408 }
+Sorted eigenvectorList
+eigenvectorList[0].eigenvalue = -1
+eigenvectorList[1].eigenvalue = 1
+eigenvectorList[2].eigenvalue = 4
+eigenvectorList[0].vector = { -0.707, 0, 0.707 }
+eigenvectorList[1].vector = { 0.408, -0.816, 0.408 }
+eigenvectorList[2].vector = { 0.577, 0.577, 0.577 }
+2-D
+Unsorted eigenvectorList
+eigenvectorList[0].eigenvalue = 6
+eigenvectorList[1].eigenvalue = 4
+eigenvectorList[0].vector = { 0.707, 0.707 }
+eigenvectorList[1].vector = { 0.707, -0.707 }
+Sorted eigenvectorList
+eigenvectorList[0].eigenvalue = 4
+eigenvectorList[1].eigenvalue = 6
+eigenvectorList[0].vector = { 0.707, -0.707 }
+eigenvectorList[1].vector = { 0.707, 0.707 }
+
 /****************    Test Eigenvector 1   *********************/
 2D Case from Kresig, p. 371f
 

Modified: long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.c
===================================================================
--- long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.c	2006-08-18 00:17:45 UTC (rev 4342)
+++ long/3D/Gale/trunk/src/StGermain/Discretisation/Geometry/tests/testTensorMath.c	2006-08-18 00:17:47 UTC (rev 4343)
@@ -409,6 +409,81 @@
 		Journal_Printf( stream, "(2,1): %d  = %d	", 	ST3D_12, SymmetricTensor_TensorMap(2,1,3));
 		Journal_Printf( stream, "(2,2): %d  = %d\n", 	ST3D_22, SymmetricTensor_TensorMap(2,2,3));
 
+		Journal_Printf(stream, "\n/*************************************/\n");
+		Journal_Printf( stream, "Test function EigenvectorList_Sort\n");
+		// Matrix that gives eigenvalues and vectors 
+		//| 1.000 1.000 2.000 |
+		//| 1.000 2.000 1.000 |
+		//| 2.000 1.000 1.000 |
+		Journal_Printf( stream, " 3-D\n");
+		eigenvectorList[0].eigenvalue = 4;
+		eigenvectorList[1].eigenvalue = -1;
+		eigenvectorList[2].eigenvalue = 1;
+		
+		eigenvectorList[0].vector[0] = 0.577;
+		eigenvectorList[0].vector[1] = 0.577;
+		eigenvectorList[0].vector[2] = 0.577;
+
+		eigenvectorList[1].vector[0] = -0.707;
+		eigenvectorList[1].vector[1] = 0;
+		eigenvectorList[1].vector[2] = 0.707;
+
+		eigenvectorList[2].vector[0] = 0.408;
+		eigenvectorList[2].vector[1] = -0.816;
+		eigenvectorList[2].vector[2] = 0.408;
+		
+		Journal_Printf( stream, "Unsorted eigenvectorList\n");
+		Journal_PrintValue( stream, eigenvectorList[0].eigenvalue );
+		Journal_PrintValue( stream, eigenvectorList[1].eigenvalue );
+		Journal_PrintValue( stream, eigenvectorList[2].eigenvalue );		
+
+		Journal_PrintArray( stream, eigenvectorList[0].vector, 3 );
+		Journal_PrintArray( stream, eigenvectorList[1].vector, 3 );
+		Journal_PrintArray( stream, eigenvectorList[2].vector, 3 );
+
+		EigenvectorList_Sort( eigenvectorList, 3);
+
+		Journal_Printf( stream, "Sorted eigenvectorList\n");
+
+		Journal_PrintValue( stream, eigenvectorList[0].eigenvalue );
+		Journal_PrintValue( stream, eigenvectorList[1].eigenvalue );
+		Journal_PrintValue( stream, eigenvectorList[2].eigenvalue );		
+
+		Journal_PrintArray( stream, eigenvectorList[0].vector, 3 );
+		Journal_PrintArray( stream, eigenvectorList[1].vector, 3 );
+		Journal_PrintArray( stream, eigenvectorList[2].vector, 3 );
+
+		Journal_Printf( stream, "2-D\n");
+		
+		// Matrix that gives eigenvalues and vectors 
+		//| 5.000 1.000 |
+		//| 1.000 5.000 |
+
+		eigenvectorList[0].eigenvalue = 6;
+		eigenvectorList[1].eigenvalue = 4;
+		
+		eigenvectorList[0].vector[0] = 0.707;
+		eigenvectorList[0].vector[1] = 0.707;
+
+		eigenvectorList[1].vector[0] = 0.707;
+		eigenvectorList[1].vector[1] = -0.707;
+		
+		Journal_Printf( stream, "Unsorted eigenvectorList\n");
+		Journal_PrintValue( stream, eigenvectorList[0].eigenvalue );
+		Journal_PrintValue( stream, eigenvectorList[1].eigenvalue );
+
+		Journal_PrintArray( stream, eigenvectorList[0].vector, 2 );
+		Journal_PrintArray( stream, eigenvectorList[1].vector, 2 );
+		
+		EigenvectorList_Sort( eigenvectorList, 2);
+
+		Journal_Printf( stream, "Sorted eigenvectorList\n");
+		Journal_PrintValue( stream, eigenvectorList[0].eigenvalue );
+		Journal_PrintValue( stream, eigenvectorList[1].eigenvalue );
+
+		Journal_PrintArray( stream, eigenvectorList[0].vector, 2 );
+		Journal_PrintArray( stream, eigenvectorList[1].vector, 2 );
+		
 		Journal_Printf(stream, "\n/****************    Test Eigenvector 1   *********************/\n");
 		Journal_Printf( stream, "2D Case from Kresig, p. 371f\n\n");
 		symmTensor[0] = -5;
@@ -473,10 +548,10 @@
 
 		/* Test Matrix Solve */
 		dim = 2;
-		tensorArray[ MAP_TENSOR( 0, 0, dim ) ] = 10;
-		tensorArray[ MAP_TENSOR( 0, 1, dim ) ] = 11;
-		tensorArray[ MAP_TENSOR( 1, 0, dim ) ] = 12;
-		tensorArray[ MAP_TENSOR( 1, 1, dim ) ] = 13;
+		tensorArray[ FT2D_00 ] = 10;
+		tensorArray[ FT2D_01 ] = 11;
+		tensorArray[ FT2D_10 ] = 12;
+		tensorArray[ FT2D_11 ] = 13;
 		Journal_PrintTensorArray( stream, tensorArray, dim );
 
 		rightHandSide[0] = 24;
@@ -487,15 +562,15 @@
 		Journal_PrintArray( stream, solution, dim );
 
 		dim = 3;
-		tensorArray[ MAP_TENSOR( 0, 0, dim ) ] = 10;
-		tensorArray[ MAP_TENSOR( 0, 1, dim ) ] = 11;
-		tensorArray[ MAP_TENSOR( 0, 2, dim ) ] = 12;
-		tensorArray[ MAP_TENSOR( 1, 0, dim ) ] = 13;
-		tensorArray[ MAP_TENSOR( 1, 1, dim ) ] = 14;
-		tensorArray[ MAP_TENSOR( 1, 2, dim ) ] = 15;
-		tensorArray[ MAP_TENSOR( 2, 0, dim ) ] = 16;
-		tensorArray[ MAP_TENSOR( 2, 1, dim ) ] = 17;
-		tensorArray[ MAP_TENSOR( 2, 2, dim ) ] = 19;
+		tensorArray[ FT3D_00 ] = 10;
+		tensorArray[ FT3D_01 ] = 11;
+		tensorArray[ FT3D_02 ] = 12;
+		tensorArray[ FT3D_10 ] = 13;
+		tensorArray[ FT3D_11 ] = 14;
+		tensorArray[ FT3D_12 ] = 15;
+		tensorArray[ FT3D_20 ] = 16;
+		tensorArray[ FT3D_21 ] = 17;
+		tensorArray[ FT3D_22 ] = 19;
 		Journal_PrintTensorArray( stream, tensorArray, dim );
 
 		rightHandSide[0] = 24;



More information about the cig-commits mailing list