[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