[cig-commits] [commit] rajesh-petsc-schur: Corrected the signature of allocate_std_mem, compute_nodal_stress, free_std_mem (ced0542)

cig_noreply at geodynamics.org cig_noreply at geodynamics.org
Fri Sep 19 15:46:24 PDT 2014


Repository : https://github.com/geodynamics/citcoms

On branch  : rajesh-petsc-schur
Link       : https://github.com/geodynamics/citcoms/compare/bf06b875e7dc84c29b7a035ba968f94db116d1db...c8e5eda008ae8e9252def10e7cadbc5883f6e175

>---------------------------------------------------------------

commit ced0542374dc300e73a78c641de1cfb88f00014e
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date:   Fri Sep 19 15:31:44 2014 -0700

    Corrected the signature of allocate_std_mem, compute_nodal_stress, free_std_mem


>---------------------------------------------------------------

ced0542374dc300e73a78c641de1cfb88f00014e
 lib/Topo_gravity.c | 140 ++++++++++++++++++++++++++---------------------------
 lib/prototypes.h   |   6 +--
 2 files changed, 73 insertions(+), 73 deletions(-)

diff --git a/lib/Topo_gravity.c b/lib/Topo_gravity.c
index 160a35b..0fd3dad 100644
--- a/lib/Topo_gravity.c
+++ b/lib/Topo_gravity.c
@@ -36,17 +36,17 @@ void sum_across_depth_sph1(struct All_variables *, float *, float *);
 void broadcast_vertical(struct All_variables *, float *, float *, int);
 long double lg_pow(long double, int);
 void allocate_STD_mem(struct All_variables *E,
-                      float** , float** , float** ,
-                      float** , float** , float** ,
-                      float** , float** );
+                      float* , float* , float* ,
+                      float* , float* , float* ,
+                      float* , float* );
 void free_STD_mem(struct All_variables *E,
-                  float** , float** , float** ,
-                  float** , float** , float** ,
-                  float** , float** );
+                  float* , float* , float* ,
+                  float* , float* , float* ,
+                  float* , float* );
 void compute_nodal_stress(struct All_variables *,
-                          float** , float** , float** ,
-                          float** , float** , float** ,
-                          float** , float** );
+                          float* , float* , float* ,
+                          float* , float* , float* ,
+                          float* , float* );
 void stress_conform_bcs(struct All_variables *);
 #ifdef CITCOM_ALLOW_ANISOTROPIC_VISC
 #include "anisotropic_viscosity.h"
@@ -75,8 +75,8 @@ void get_STD_topo(E,tpg,tpgb,divg,vort,ii)
     //void get_surf_stress();
 
     int node,snode,m;
-    float *SXX[NCS],*SYY[NCS],*SXY[NCS],*SXZ[NCS],*SZY[NCS],*SZZ[NCS];
-    float *divv[NCS],*vorv[NCS];
+    float *SXX,*SYY,*SXY,*SXZ,*SZY,*SZZ;
+    float *divv,*vorv;
     float topo_scaling1, topo_scaling2;
 
     allocate_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
@@ -93,14 +93,14 @@ void get_STD_topo(E,tpg,tpgb,divg,vort,ii)
 
      for(snode=1;snode<=E->lmesh.nsf;snode++)   {
         node = E->surf_node[CPPR][snode];
-        tpg[CPPR][snode]  = -2*SZZ[CPPR][node]               + SZZ[CPPR][node-1];
-        tpgb[CPPR][snode] =  2*SZZ[CPPR][node-E->lmesh.noz+1]- SZZ[CPPR][node-E->lmesh.noz+2];
+        tpg[CPPR][snode]  = -2*SZZ[node]               + SZZ[node-1];
+        tpgb[CPPR][snode] =  2*SZZ[node-E->lmesh.noz+1]- SZZ[node-E->lmesh.noz+2];
 
         tpg[CPPR][snode]  =  tpg[CPPR][snode] *topo_scaling1;
         tpgb[CPPR][snode]  = tpgb[CPPR][snode]*topo_scaling2;
 
-        divg[CPPR][snode] = 2*divv[CPPR][node]-divv[CPPR][node-1];
-        vort[CPPR][snode] = 2*vorv[CPPR][node]-vorv[CPPR][node-1];
+        divg[CPPR][snode] = 2*divv[node]-divv[node-1];
+        vort[CPPR][snode] = 2*vorv[node]-vorv[node-1];
      }
 
    free_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
@@ -119,53 +119,53 @@ void get_STD_freesurf(struct All_variables *E,float **freesurf)
 
 
 void allocate_STD_mem(struct All_variables *E,
-                      float** SXX, float** SYY, float** SZZ,
-                      float** SXY, float** SXZ, float** SZY,
-                      float** divv, float** vorv)
+                      float* SXX, float* SYY, float* SZZ,
+                      float* SXY, float* SXZ, float* SZY,
+                      float* divv, float* vorv)
 {
   int m, i;
 
-    SXX[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    SYY[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    SXY[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    SXZ[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    SZY[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    SZZ[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    divv[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
-    vorv[CPPR] = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    SXX = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    SYY = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    SXY = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    SXZ = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    SZY = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    SZZ = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    divv = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
+    vorv = (float *)malloc((E->lmesh.nno+1)*sizeof(float));
 
     for(i=1;i<=E->lmesh.nno;i++) {
-      SZZ[CPPR][i] = 0.0;
-      SXX[CPPR][i] = 0.0;
-      SYY[CPPR][i] = 0.0;
-      SXY[CPPR][i] = 0.0;
-      SXZ[CPPR][i] = 0.0;
-      SZY[CPPR][i] = 0.0;
-      divv[CPPR][i] = 0.0;
-      vorv[CPPR][i] = 0.0;
+      SZZ[i] = 0.0;
+      SXX[i] = 0.0;
+      SYY[i] = 0.0;
+      SXY[i] = 0.0;
+      SXZ[i] = 0.0;
+      SZY[i] = 0.0;
+      divv[i] = 0.0;
+      vorv[i] = 0.0;
     }
 }
 
 
 void free_STD_mem(struct All_variables *E,
-                  float** SXX, float** SYY, float** SZZ,
-                  float** SXY, float** SXZ, float** SZY,
-                  float** divv, float** vorv)
+                  float* SXX, float* SYY, float* SZZ,
+                  float* SXY, float* SXZ, float* SZY,
+                  float* divv, float* vorv)
 {
-    free((void *)SXX[CPPR]);
-    free((void *)SYY[CPPR]);
-    free((void *)SXY[CPPR]);
-    free((void *)SXZ[CPPR]);
-    free((void *)SZY[CPPR]);
-    free((void *)SZZ[CPPR]);
-    free((void *)divv[CPPR]);
-    free((void *)vorv[CPPR]);
+    free((void *)SXX);
+    free((void *)SYY);
+    free((void *)SXY);
+    free((void *)SXZ);
+    free((void *)SZY);
+    free((void *)SZZ);
+    free((void *)divv);
+    free((void *)vorv);
 }
 
 void compute_nodal_stress(struct All_variables *E,
-                          float** SXX, float** SYY, float** SZZ,
-                          float** SXY, float** SXZ, float** SZY,
-                          float** divv, float** vorv)
+                          float* SXX, float* SYY, float* SZZ,
+                          float* SXY, float* SXZ, float* SZY,
+                          float* divv, float* vorv)
 {
   void get_rtf_at_vpts();
   void velo_from_element();
@@ -379,14 +379,14 @@ void compute_nodal_stress(struct All_variables *E,
 
       for(i=1;i<=ends;i++) {
         node = E->ien[e].node[i]; /* assign to global nodes */
-        SZZ[CPPR][node] += tww[i] * Szz;
-        SXX[CPPR][node] += tww[i] * Sxx;
-        SYY[CPPR][node] += tww[i] * Syy;
-        SXY[CPPR][node] += tww[i] * Sxy;
-        SXZ[CPPR][node] += tww[i] * Sxz;
-        SZY[CPPR][node] += tww[i] * Szy;
-        divv[CPPR][node]+= tww[i] * div;
-        vorv[CPPR][node]+= tww[i] * vor;
+        SZZ[node] += tww[i] * Szz;
+        SXX[node] += tww[i] * Sxx;
+        SYY[node] += tww[i] * Syy;
+        SXY[node] += tww[i] * Sxy;
+        SXZ[node] += tww[i] * Sxz;
+        SZY[node] += tww[i] * Szy;
+        divv[node]+= tww[i] * div;
+        vorv[node]+= tww[i] * vor;
       }
 
     }    /* end for el */
@@ -404,26 +404,26 @@ void compute_nodal_stress(struct All_variables *E,
 
     for(node=1;node<=E->lmesh.nno;node++)   {
       mass_fac = E->Mass[CPPR][node]*stress_scaling;
-      SZZ[CPPR][node] *= mass_fac;
-      SXX[CPPR][node] *= mass_fac;
-      SYY[CPPR][node] *= mass_fac;
-      SXY[CPPR][node] *= mass_fac;
-      SXZ[CPPR][node] *= mass_fac;
-      SZY[CPPR][node] *= mass_fac;
+      SZZ[node] *= mass_fac;
+      SXX[node] *= mass_fac;
+      SYY[node] *= mass_fac;
+      SXY[node] *= mass_fac;
+      SXZ[node] *= mass_fac;
+      SZY[node] *= mass_fac;
       
       mass_fac = E->Mass[CPPR][node]*velo_scaling;
-      vorv[CPPR][node] *= mass_fac;
-      divv[CPPR][node] *= mass_fac;
+      vorv[node] *= mass_fac;
+      divv[node] *= mass_fac;
     }
 
   /* assign stress to all the nodes */
     for (node=1;node<=E->lmesh.nno;node++) {
-      E->gstress[CPPR][(node-1)*6+1] = SXX[CPPR][node];
-      E->gstress[CPPR][(node-1)*6+2] = SYY[CPPR][node];
-      E->gstress[CPPR][(node-1)*6+3] = SZZ[CPPR][node];
-      E->gstress[CPPR][(node-1)*6+4] = SXY[CPPR][node];
-      E->gstress[CPPR][(node-1)*6+5] = SXZ[CPPR][node];
-      E->gstress[CPPR][(node-1)*6+6] = SZY[CPPR][node];
+      E->gstress[CPPR][(node-1)*6+1] = SXX[node];
+      E->gstress[CPPR][(node-1)*6+2] = SYY[node];
+      E->gstress[CPPR][(node-1)*6+3] = SZZ[node];
+      E->gstress[CPPR][(node-1)*6+4] = SXY[node];
+      E->gstress[CPPR][(node-1)*6+5] = SXZ[node];
+      E->gstress[CPPR][(node-1)*6+6] = SZY[node];
     }
 
   /* replace boundary stresses with boundary conditions (if specified) */
diff --git a/lib/prototypes.h b/lib/prototypes.h
index 6e5b938..4fe1c64 100644
--- a/lib/prototypes.h
+++ b/lib/prototypes.h
@@ -494,9 +494,9 @@ void solve_constrained_flow_iterative(struct All_variables *);
 /* Topo_gravity.c */
 void get_STD_topo(struct All_variables *, float **, float **, float **, float **, int);
 void get_STD_freesurf(struct All_variables *, float **);
-void allocate_STD_mem(struct All_variables *, float **, float **, float **, float **, float **, float **, float **, float **);
-void free_STD_mem(struct All_variables *, float **, float **, float **, float **, float **, float **, float **, float **);
-void compute_nodal_stress(struct All_variables *, float **, float **, float **, float **, float **, float **, float **, float **);
+void allocate_STD_mem(struct All_variables *, float *, float *, float *, float *, float *, float *, float *, float *);
+void free_STD_mem(struct All_variables *, float *, float *, float *, float *, float *, float *, float *, float *);
+void compute_nodal_stress(struct All_variables *, float *, float *, float *, float *, float *, float *, float *, float *);
 void stress_conform_bcs(struct All_variables *);
 void compute_geoid(struct All_variables *);
 void get_CBF_topo(struct All_variables *, float **, float **);



More information about the CIG-COMMITS mailing list