[cig-commits] r4717 - mc/3D/CitcomCU/trunk/src

tan2 at geodynamics.org tan2 at geodynamics.org
Fri Oct 6 12:34:43 PDT 2006


Author: tan2
Date: 2006-10-06 12:34:43 -0700 (Fri, 06 Oct 2006)
New Revision: 4717

Modified:
   mc/3D/CitcomCU/trunk/src/Element_calculations.c
   mc/3D/CitcomCU/trunk/src/Topo_gravity.c
Log:
Fixed issue59 "bug in kinematic b.c.". Contributed by Shijie Zhong

Modified: mc/3D/CitcomCU/trunk/src/Element_calculations.c
===================================================================
--- mc/3D/CitcomCU/trunk/src/Element_calculations.c	2006-10-06 18:58:07 UTC (rev 4716)
+++ mc/3D/CitcomCU/trunk/src/Element_calculations.c	2006-10-06 19:34:43 UTC (rev 4717)
@@ -125,7 +125,7 @@
   Function to supply the element k matrix for a given element e.
   ==============================================================  */
 
-void get_elt_k(struct All_variables *E, int el, double elt_k[24 * 24], int lev, int penalty)
+void get_elt_k(struct All_variables *E, int el, double elt_k[24 * 24], int lev, int iconv)
 {
 	double bdbmu[4][4];
 	//double bdbl[4][4];
@@ -172,7 +172,7 @@
 	{
 		get_rtf(E, el, 0, rtf, lev);
 
-		if((el - 1) % E->lmesh.ELZ[lev] == 0)
+		if(iconv == 1 || ((iconv == 0) && (el - 1) % E->lmesh.ELZ[lev] == 0))
 			construct_c3x3matrix_el(E, el, &Cc, &Ccx, lev, 0);
 
 		for(k = 1; k <= vpts; k++)
@@ -835,7 +835,7 @@
 							{
 								if(!got_elt_k)
 								{
-									get_elt_k(E, el, elt_k, E->mesh.levmax, penalty);
+									get_elt_k(E, el, elt_k, E->mesh.levmax, 1);
 									got_elt_k = 1;
 								}
 								q = dims * (b - 1) + j - 1;
@@ -885,7 +885,7 @@
 							{
 								if(!got_elt_k)
 								{
-									get_elt_k(E, el, elt_k, E->mesh.levmax, penalty);
+									get_elt_k(E, el, elt_k, E->mesh.levmax, 1);
 									got_elt_k = 1;
 								}
 								q = dims * (b - 1) + j - 1;

Modified: mc/3D/CitcomCU/trunk/src/Topo_gravity.c
===================================================================
--- mc/3D/CitcomCU/trunk/src/Topo_gravity.c	2006-10-06 18:58:07 UTC (rev 4716)
+++ mc/3D/CitcomCU/trunk/src/Topo_gravity.c	2006-10-06 19:34:43 UTC (rev 4717)
@@ -136,8 +136,8 @@
 				eu[m * dims + 2] = E->V[3][node];
 		}
 
-		get_elt_k(E, el, eltk, lev, 0);
-		get_elt_k(E, elb, eltkb, lev, 0);
+		get_elt_k(E, el, eltk, lev, 1);
+		get_elt_k(E, elb, eltkb, lev, 1);
 		get_elt_f(E, el, eltf, 0, 0);
 		get_elt_f(E, elb, eltfb, 0, 0);
 		get_elt_g(E, el, eltg, lev);



More information about the cig-commits mailing list