[cig-commits] r13213 - mc/3D/CitcomS/trunk/lib
becker at geodynamics.org
becker at geodynamics.org
Sat Nov 1 11:37:20 PDT 2008
Author: becker
Date: 2008-11-01 11:37:20 -0700 (Sat, 01 Nov 2008)
New Revision: 13213
Modified:
mc/3D/CitcomS/trunk/lib/Full_sphere_related.c
mc/3D/CitcomS/trunk/lib/Full_version_dependent.c
mc/3D/CitcomS/trunk/lib/Instructions.c
mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c
Log:
Fixed two typos, velocity norm function was called where pressure norm should have been called.
This leads to core dumps, all seems to be working now.
Modified: mc/3D/CitcomS/trunk/lib/Full_sphere_related.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Full_sphere_related.c 2008-11-01 18:13:44 UTC (rev 13212)
+++ mc/3D/CitcomS/trunk/lib/Full_sphere_related.c 2008-11-01 18:37:20 UTC (rev 13213)
@@ -202,6 +202,8 @@
qx = malloc((temp+1)*sizeof(double));
qy = malloc((temp+1)*sizeof(double));
+
+
/* 4 corners of the cap in Cartesian coordinates */
/* the order of corners is: */
/* 1 - 4 */
@@ -242,6 +244,7 @@
center[2]*center[2]));;
referencep[1] = myatan(center[1], center[0]);
+
lev = E->mesh.levmax;
/* # of elements/nodes per cap */
@@ -416,12 +419,12 @@
lvnox = E->lmesh.NOX[lev];
lvnoy = E->lmesh.NOY[lev];
lvnoz = E->lmesh.NOZ[lev];
-
+
node = 1;
for (k=0; k<lvnoy; k++) {
for (j=0, ns=step*lnoy*k; j<lvnox; j++, ns+=step) {
theta = qx[ns];
- fi = qy[ns];
+ fi = qy[ns];
cost = cos(theta);
sint = sin(theta);
@@ -435,9 +438,9 @@
E->SX[lev][m][3][node] = E->sphere.R[lev][i];
/* x,y,and z oordinates */
- E->X[lev][m][1][node] = E->sphere.R[lev][i]*sint*cosf;
- E->X[lev][m][2][node] = E->sphere.R[lev][i]*sint*sinf;
- E->X[lev][m][3][node] = E->sphere.R[lev][i]*cost;
+ E->X[lev][m][1][node] = E->sphere.R[lev][i]*sint*cosf;
+ E->X[lev][m][2][node] = E->sphere.R[lev][i]*sint*sinf;
+ E->X[lev][m][3][node] = E->sphere.R[lev][i]*cost;
node++;
}
@@ -474,6 +477,7 @@
free ((void *)qx );
free ((void *)qy );
+
return;
}
Modified: mc/3D/CitcomS/trunk/lib/Full_version_dependent.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Full_version_dependent.c 2008-11-01 18:13:44 UTC (rev 13212)
+++ mc/3D/CitcomS/trunk/lib/Full_version_dependent.c 2008-11-01 18:37:20 UTC (rev 13213)
@@ -189,7 +189,6 @@
void full_coord_of_cap();
void compute_angle_surf_area ();
-
rr = (double *) malloc((E->mesh.noz+1)*sizeof(double));
RR = (double *) malloc((E->mesh.noz+1)*sizeof(double));
@@ -259,7 +258,6 @@
full_coord_of_cap(E,j,ii);
}
-
if (E->control.verbose) {
for (lev=E->mesh.levmin;lev<=E->mesh.levmax;lev++) {
fprintf(E->fp_out,"output_coordinates before rotation %d \n",lev);
Modified: mc/3D/CitcomS/trunk/lib/Instructions.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Instructions.c 2008-11-01 18:13:44 UTC (rev 13212)
+++ mc/3D/CitcomS/trunk/lib/Instructions.c 2008-11-01 18:37:20 UTC (rev 13213)
@@ -114,6 +114,7 @@
/* physical domain */
(E->solver.node_locations)(E);
+ if(chatty)fprintf(stderr,"node locations done\n");
allocate_velocity_vars(E);
if(chatty)fprintf(stderr,"velocity vars done\n");
Modified: mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c 2008-11-01 18:13:44 UTC (rev 13212)
+++ mc/3D/CitcomS/trunk/lib/Stokes_flow_Incomp.c 2008-11-01 18:37:20 UTC (rev 13213)
@@ -286,7 +286,7 @@
E->monitor.incompressibility);
}
-
+
r0dotz0 = 0;
while( (count < *steps_max) &&
@@ -304,7 +304,6 @@
r1dotz1 = global_pdot(E, r1, z1, lev);
assert(r1dotz1 != 0.0 /* Division by zero in head of incompressibility iteration */);
-
/* update search direction */
if(count == 0)
for (m=1; m<=E->sphere.caps_per_proc; m++)
@@ -318,7 +317,6 @@
s2[m][j] = z1[m][j] + delta * s1[m][j];
}
-
/* solve K*u1 = grad(s2) for u1 */
assemble_grad_p(E, s2, F, lev);
valid = solve_del2_u(E, E->u1, F, imp*v_res, lev);
@@ -361,7 +359,7 @@
v_norm = sqrt(E->monitor.vdotv);
p_norm = sqrt(E->monitor.pdotp);
dvelocity = alpha * sqrt(global_v_norm2(E, E->u1) / (1e-32 + E->monitor.vdotv));
- dpressure = alpha * sqrt(global_v_norm2(E, s2) / (1e-32 + E->monitor.pdotp));
+ dpressure = alpha * sqrt(global_p_norm2(E, s2) / (1e-32 + E->monitor.pdotp));
/* how many consecutive converging iterations? */
if(dvelocity < imp && dpressure < imp)
@@ -647,7 +645,7 @@
v_norm = sqrt(E->monitor.vdotv);
p_norm = sqrt(E->monitor.pdotp);
dvelocity = sqrt(global_v_norm2(E, F) / (1e-32 + E->monitor.vdotv));
- dpressure = sqrt(global_v_norm2(E, s0) / (1e-32 + E->monitor.pdotp));
+ dpressure = sqrt(global_p_norm2(E, s0) / (1e-32 + E->monitor.pdotp));
/* how many consecutive converging iterations? */
if(dvelocity < imp && dpressure < imp)
More information about the CIG-COMMITS
mailing list