[cig-commits] r17859 - mc/3D/CitcomS/trunk/lib

becker at geodynamics.org becker at geodynamics.org
Mon Feb 14 10:30:01 PST 2011


Author: becker
Date: 2011-02-13 21:45:26 -0800 (Sun, 13 Feb 2011)
New Revision: 17859

Modified:
   mc/3D/CitcomS/trunk/lib/Output_vtk.c
Log:
Improved vtk output, still for Dan to test. 



Modified: mc/3D/CitcomS/trunk/lib/Output_vtk.c
===================================================================
--- mc/3D/CitcomS/trunk/lib/Output_vtk.c	2011-02-13 00:53:31 UTC (rev 17858)
+++ mc/3D/CitcomS/trunk/lib/Output_vtk.c	2011-02-14 05:45:26 UTC (rev 17859)
@@ -105,11 +105,19 @@
 static void vtk_output_temp(struct All_variables *E, FILE *fp)
 {
     int i, j;
+    int m,k,l,nox,noy,noz,noxnoz;
+    noy=E->lmesh.noy;
+    nox=E->lmesh.nox;
+    noz=E->lmesh.noz;
+    noxnoz = nox * noz;
 
     fputs("        <DataArray type=\"Float32\" Name=\"temperature\" format=\"ascii\">\n", fp);
 
     for(j=1; j<=E->sphere.caps_per_proc; j++) {
-        for(i=1; i<=E->lmesh.nno; i++) {
+      for(m=1;m <= noz;m++)  
+	for(k=1;k <= noy;k++)
+	  for(l=1;l <= nox;l++){
+	    i = m + (l-1) * noz + (k-1) * noxnoz;
             fprintf(fp, "%.6e\n", E->T[j][i]);
         }
     }
@@ -125,6 +133,11 @@
     double sint, sinf, cost, cosf;
     float *V[4];
     const int lev = E->mesh.levmax;
+    int m,k,l,nox,noy,noz,noxnoz;
+    noy=E->lmesh.noy;
+    nox=E->lmesh.nox;
+    noz=E->lmesh.noz;
+    noxnoz = nox * noz;
 
     fputs("        <DataArray type=\"Float32\" Name=\"velocity\" NumberOfComponents=\"3\" format=\"ascii\">\n", fp);
 
@@ -133,17 +146,21 @@
         V[2] = E->sphere.cap[j].V[2];
         V[3] = E->sphere.cap[j].V[3];
 
-        for(i=1; i<=E->lmesh.nno; i++) {
-            sint = E->SinCos[lev][j][0][i];
-            sinf = E->SinCos[lev][j][1][i];
-            cost = E->SinCos[lev][j][2][i];
-            cosf = E->SinCos[lev][j][3][i];
-
-            fprintf(fp, "%.6e %.6e %.6e\n",
-                    V[1][i]*cost*cosf - V[2][i]*sinf + V[3][i]*sint*cosf,
-                    V[1][i]*cost*sinf + V[2][i]*cosf + V[3][i]*sint*sinf,
-                    -V[1][i]*sint + V[3][i]*cost);
-        }
+	for(m=1;m <= noz;m++)  
+	  for(k=1;k <= noy;k++)
+	    for(l=1;l <= nox;l++){
+	      i = m + (l-1) * noz + (k-1) * noxnoz;
+	    
+	      sint = E->SinCos[lev][j][0][i];
+	      sinf = E->SinCos[lev][j][1][i];
+	      cost = E->SinCos[lev][j][2][i];
+	      cosf = E->SinCos[lev][j][3][i];
+	      
+	      fprintf(fp, "%.6e %.6e %.6e\n",
+		      V[1][i]*cost*cosf - V[2][i]*sinf + V[3][i]*sint*cosf,
+		      V[1][i]*cost*sinf + V[2][i]*cosf + V[3][i]*sint*sinf,
+		      -V[1][i]*sint + V[3][i]*cost);
+	    }
     }
 
     fputs("        </DataArray>\n", fp);
@@ -155,12 +172,21 @@
 {
     int i, j;
     int lev = E->mesh.levmax;
+    int m,k,l,nox,noy,noz,noxnoz;
+    noy=E->lmesh.noy;
+    nox=E->lmesh.nox;
+    noz=E->lmesh.noz;
+    noxnoz = nox * noz;
 
     fputs("        <DataArray type=\"Float32\" Name=\"viscosity\" format=\"ascii\">\n", fp);
 
     for(j=1; j<=E->sphere.caps_per_proc; j++) {
-        for(i=1; i<=E->lmesh.nno; i++)
+      for(m=1;m <= noz;m++)  
+	for(k=1;k <= noy;k++)
+	  for(l=1;l <= nox;l++){
+	    i = m + (l-1) * noz + (k-1) * noxnoz;
             fprintf(fp, "%.4e\n", E->VI[lev][j][i]);
+	  }
     }
 
     fputs("        </DataArray>\n", fp);
@@ -173,16 +199,26 @@
     /* Output Cartesian coordinates as most VTK visualization softwares
        assume it. */
     int i, j;
+    int m,k,l,nox,noy,noz,noxnoz;
+    noy=E->lmesh.noy;
+    nox=E->lmesh.nox;
+    noz=E->lmesh.noz;
+    noxnoz = nox * noz;
 
     fputs("      <Points>\n", fp);
     fputs("        <DataArray type=\"Float32\" Name=\"coordinate\" NumberOfComponents=\"3\" format=\"ascii\">\n", fp);
 
     for(j=1; j<=E->sphere.caps_per_proc; j++) {
-        for(i=1; i<=E->lmesh.nno; i++)
+      for(m=1;m <= noz;m++)  
+	for(k=1;k <= noy;k++)
+	  for(l=1;l <= nox;l++){
+	    i = m + (l-1) * noz + (k-1) * noxnoz;
+	    
             fprintf(fp,"%.6e %.6e %.6e\n",
                     E->x[j][1][i],
                     E->x[j][2][i],
                     E->x[j][3][i]);
+	  }
     }
 
     fputs("        </DataArray>\n", fp);



More information about the CIG-COMMITS mailing list