[cig-commits] [commit] rajesh-petsc-schur: Changed the shape of PN and slice members of All_variables as part of caps_per_proc removal. Corrected the signatures of compute_nodal_stress, free_STD_mem, allocate_STD_mem, get_STD_topo, get_STD_freesurf, get_CBF_topo, full_exchange_snode_f, regional_exchange_snode_f, sphere_expansion, p_to_nodes (84c9d9b)
cig_noreply at geodynamics.org
cig_noreply at geodynamics.org
Mon Sep 22 16:00:45 PDT 2014
- Previous message: [cig-commits] [commit] rajesh-petsc-schur: Changed the shape of VI and EVI members of All_variables as part of caps_per_proc removal. Corrected the signatures of get_system_viscosity, visc_from_nodes_to_gint, visc_from_ele_to_gint, visc_from_gint_to_nodes, visc_from_gint_to_ele, apply_low_visc_wedge_channel, visc_from_P, visc_from_T, visc_from_S, visc_from_C, visc_from_mat (9790c04)
- Next message: [cig-commits] [commit] devel: clarified the way to define memory sizes for UNDO_ATTENUATION on Titan at Oak Ridge (8087d34)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
Repository : https://github.com/geodynamics/citcoms
On branch : rajesh-petsc-schur
Link : https://github.com/geodynamics/citcoms/compare/52aec23e041c16cd46dc4e188fab8576fb98df50...84c9d9ba99698cfd566c24b81a48b7bd340a7575
>---------------------------------------------------------------
commit 84c9d9ba99698cfd566c24b81a48b7bd340a7575
Author: Rajesh Kommu <rajesh.kommu at gmail.com>
Date: Mon Sep 22 15:22:14 2014 -0700
Changed the shape of PN and slice members of All_variables as part of caps_per_proc removal. Corrected the signatures
of compute_nodal_stress, free_STD_mem, allocate_STD_mem, get_STD_topo,
get_STD_freesurf, get_CBF_topo, full_exchange_snode_f,
regional_exchange_snode_f, sphere_expansion, p_to_nodes
>---------------------------------------------------------------
84c9d9ba99698cfd566c24b81a48b7bd340a7575
lib/Drive_solvers.c | 2 +-
lib/Element_calculations.c | 2 +-
lib/Full_parallel_related.c | 14 +--
lib/Instructions.c | 16 ++--
lib/Nodal_mesh.c | 8 +-
lib/Output.c | 22 ++---
lib/Output_gzdir.c | 24 +++---
lib/Output_h5.c | 22 ++---
lib/Output_vtk.c | 10 +--
lib/Process_buoyancy.c | 20 ++---
lib/Regional_parallel_related.c | 12 +--
lib/Sphere_harmonics.c | 12 +--
lib/Topo_gravity.c | 186 ++++++++++++++++++++--------------------
lib/global_defs.h | 16 ++--
lib/prototypes.h | 18 ++--
15 files changed, 192 insertions(+), 192 deletions(-)
diff --git a/lib/Drive_solvers.c b/lib/Drive_solvers.c
index af87a39..e6dcb7c 100644
--- a/lib/Drive_solvers.c
+++ b/lib/Drive_solvers.c
@@ -316,7 +316,7 @@ void general_stokes_solver_pseudo_surf(struct All_variables *E)
void get_system_viscosity();
void std_timestep();
void remove_rigid_rot();
- void get_STD_freesurf(struct All_variables *, float**);
+ void get_STD_freesurf(struct All_variables *, float*);
double Udot_mag, dUdot_mag;
int m,count,i;
diff --git a/lib/Element_calculations.c b/lib/Element_calculations.c
index 0a92690..e7c19a1 100644
--- a/lib/Element_calculations.c
+++ b/lib/Element_calculations.c
@@ -1167,7 +1167,7 @@ static void get_elt_tr_pseudo_surf(struct All_variables *E, int bel, int side, d
traction[1][a] = 0.0;
traction[2][a] = 0.0;
traction[3][a] = -1.0*factor*rho*g*(R*R*R)/(eta*kappa)
- *(E->slice.freesurf[CPPR][nodeas]+E->sphere.cap[CPPR].V[3][nodea]*E->advection.timestep);
+ *(E->slice.freesurf[nodeas]+E->sphere.cap[CPPR].V[3][nodea]*E->advection.timestep);
if(E->parallel.me==11 && nodea==3328)
fprintf(stderr,"traction=%e vnew=%e timestep=%e coeff=%e\n",traction[3][a],E->sphere.cap[CPPR].V[3][nodea],E->advection.timestep,-1.0*factor*rho*g*(R*R*R)/(eta*kappa));
found = 1;
diff --git a/lib/Full_parallel_related.c b/lib/Full_parallel_related.c
index a3f6ca1..b84db3b 100644
--- a/lib/Full_parallel_related.c
+++ b/lib/Full_parallel_related.c
@@ -1171,7 +1171,7 @@ static void exchange_node_f(E, U, lev)
free((void*) RV);
}
-void full_exchange_snode_f(struct All_variables *E, float **U1, float **U2, int lev)
+void full_exchange_snode_f(struct All_variables *E, float *U1, float *U2, int lev)
{
int ii,j,k,m,kk,t_cap,idb,msginfo[8];
@@ -1197,9 +1197,9 @@ void full_exchange_snode_f(struct All_variables *E, float **U1, float **U2, int
/* pack */
for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
- S[kk][j-1] = U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
+ S[kk][j-1] = U1[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
S[kk][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]]
- = U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
+ = U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
}
if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me) {
@@ -1227,8 +1227,8 @@ void full_exchange_snode_f(struct All_variables *E, float **U1, float **U2, int
else {
kk=k;
for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
- U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += S[kk][j-1];
- U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
+ U1[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += S[kk][j-1];
+ U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
S[kk][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]];
}
}
@@ -1243,8 +1243,8 @@ void full_exchange_snode_f(struct All_variables *E, float **U1, float **U2, int
if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=E->parallel.me)
if (E->parallel.PROCESSOR[lev][CPPR].pass[k]!=-1) {
for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
- U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += R[kk][j-1];
- U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
+ U1[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += R[kk][j-1];
+ U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
R[kk][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]];
}
}
diff --git a/lib/Instructions.c b/lib/Instructions.c
index d14164c..3dc1847 100644
--- a/lib/Instructions.c
+++ b/lib/Instructions.c
@@ -953,7 +953,7 @@ void allocate_common_vars(E)
E->P = (double *) malloc(npno*sizeof(double));
E->T = (double *) malloc((nno+1)*sizeof(double));
- E->NP[CPPR] = (float *) malloc((nno+1)*sizeof(float));
+ E->NP = (float *) malloc((nno+1)*sizeof(float));
E->buoyancy[CPPR] = (double *) malloc((nno+1)*sizeof(double));
E->gstress[CPPR] = (float *) malloc((6*nno+1)*sizeof(float));
@@ -963,14 +963,14 @@ void allocate_common_vars(E)
for(i=1;i<=E->mesh.nsd;i++)
E->sphere.cap[CPPR].TB[i] = (float *) malloc((nno+1)*sizeof(float));
- E->slice.tpg[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
- E->slice.tpgb[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
- E->slice.divg[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
- E->slice.vort[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
- E->slice.shflux[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
- E->slice.bhflux[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.tpg = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.tpgb = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.divg = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.vort = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.shflux = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.bhflux = (float *)malloc((nsf+2)*sizeof(float));
/* if(E->mesh.topvbc==2 && E->control.pseudo_free_surf) */
- E->slice.freesurf[CPPR] = (float *)malloc((nsf+2)*sizeof(float));
+ E->slice.freesurf = (float *)malloc((nsf+2)*sizeof(float));
E->mat[CPPR] = (int *) malloc((nel+2)*sizeof(int));
E->VIP[CPPR] = (float *) malloc((nel+2)*sizeof(float));
diff --git a/lib/Nodal_mesh.c b/lib/Nodal_mesh.c
index aec41b7..b244552 100644
--- a/lib/Nodal_mesh.c
+++ b/lib/Nodal_mesh.c
@@ -192,24 +192,24 @@ void velo_from_element_d(E,VV,el,sphere_key)
void p_to_nodes(E,P,PN,lev)
struct All_variables *E;
double *P;
- float **PN;
+ float *PN;
int lev;
{ int e,element,node,j,m;
for(node=1;node<=E->lmesh.NNO[lev];node++)
- PN[CPPR][node] = 0.0;
+ PN[node] = 0.0;
for(element=0;element<E->lmesh.NEL[lev];element++)
for(j=1;j<=enodes[E->mesh.nsd];j++) {
node = E->IEN[lev][CPPR][element+1].node[j];
- PN[CPPR][node] += P[element] * E->TWW[lev][CPPR][element+1].node[j] ;
+ PN[node] += P[element] * E->TWW[lev][CPPR][element+1].node[j] ;
}
(E->exchange_node_f)(E,PN,lev);
for(node=1;node<=E->lmesh.NNO[lev];node++)
- PN[CPPR][node] *= E->MASS[lev][node];
+ PN[node] *= E->MASS[lev][node];
}
diff --git a/lib/Output.c b/lib/Output.c
index 8a9a54a..aa0eae1 100644
--- a/lib/Output.c
+++ b/lib/Output.c
@@ -55,9 +55,9 @@ void output_heating(struct All_variables *, int);
extern void parallel_process_termination();
extern void heat_flux(struct All_variables *);
-extern void get_STD_topo(struct All_variables *, float**, float**,
- float**, float**, int);
-extern void get_CBF_topo(struct All_variables *, float**, float**);
+extern void get_STD_topo(struct All_variables *, float*, float*,
+ float*, float*, int);
+extern void get_CBF_topo(struct All_variables *, float*, float*);
#ifdef CITCOM_ALLOW_ANISOTROPIC_VISC
#include "anisotropic_viscosity.h"
void output_avisc(struct All_variables *, int);
@@ -384,15 +384,15 @@ void output_surf_botm(struct All_variables *E, int cycles)
/* choose either STD topo or pseudo-free-surf topo */
if(E->control.pseudo_free_surf)
- topo = E->slice.freesurf[CPPR];
+ topo = E->slice.freesurf;
else
- topo = E->slice.tpg[CPPR];
+ topo = E->slice.tpg;
fprintf(fp2,"%3d %7d\n",CPPR,E->lmesh.nsf);
for(i=1;i<=E->lmesh.nsf;i++) {
s = i*E->lmesh.noz;
fprintf(fp2,"%.4e %.4e %.4e %.4e\n",
- topo[i],E->slice.shflux[CPPR][i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
+ topo[i],E->slice.shflux[i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
}
fclose(fp2);
}
@@ -407,7 +407,7 @@ void output_surf_botm(struct All_variables *E, int cycles)
for(i=1;i<=E->lmesh.nsf;i++) {
s = (i-1)*E->lmesh.noz + 1;
fprintf(fp2,"%.4e %.4e %.4e %.4e\n",
- E->slice.tpgb[CPPR][i],E->slice.bhflux[CPPR][i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
+ E->slice.tpgb[i],E->slice.bhflux[i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
}
fclose(fp2);
}
@@ -463,11 +463,11 @@ void output_stress(struct All_variables *E, int cycles)
void allocate_STD_mem();
void compute_nodal_stress();
void free_STD_mem();
- 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;
/* */
if(E->control.use_cbf_topo) {/* for CBF topo, stress will not have been computed */
- allocate_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
+ allocate_STD_mem(E, &SXX, &SYY, &SZZ, &SXY, &SXZ, &SZY, &divv, &vorv);
compute_nodal_stress(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
free_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
}
@@ -616,7 +616,7 @@ void output_pressure(struct All_variables *E, int cycles)
fprintf(fp1,"%3d %7d\n",CPPR,E->lmesh.nno);
for(i=1;i<=E->lmesh.nno;i++)
- fprintf(fp1,"%.6e\n",E->NP[CPPR][i]);
+ fprintf(fp1,"%.6e\n",E->NP[i]);
fclose(fp1);
}
diff --git a/lib/Output_gzdir.c b/lib/Output_gzdir.c
index f18ac30..6d37629 100644
--- a/lib/Output_gzdir.c
+++ b/lib/Output_gzdir.c
@@ -126,9 +126,9 @@ extern void temperatures_conform_bcs(struct All_variables *);
extern void myerror(struct All_variables *,char *);
extern void mkdatadir(const char *);
extern void heat_flux(struct All_variables *);
-extern void get_STD_topo(struct All_variables *, float**, float**,
- float**, float**, int);
-extern void get_CBF_topo(struct All_variables *, float**, float**);
+extern void get_STD_topo(struct All_variables *, float*, float*,
+ float*, float*, int);
+extern void get_CBF_topo(struct All_variables *, float*, float*);
/**********************************************************************/
@@ -821,15 +821,15 @@ void gzdir_output_surf_botm(struct All_variables *E, int cycles)
/* choose either STD topo or pseudo-free-surf topo */
if(E->control.pseudo_free_surf)
- topo = E->slice.freesurf[CPPR];
+ topo = E->slice.freesurf;
else
- topo = E->slice.tpg[CPPR];
+ topo = E->slice.tpg;
gzprintf(fp2,"%3d %7d\n",CPPR,E->lmesh.nsf);
for(i=1;i<=E->lmesh.nsf;i++) {
s = i*E->lmesh.noz;
gzprintf(fp2,"%.4e %.4e %.4e %.4e\n",
- topo[i],E->slice.shflux[CPPR][i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
+ topo[i],E->slice.shflux[i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
}
gzclose(fp2);
}
@@ -844,7 +844,7 @@ void gzdir_output_surf_botm(struct All_variables *E, int cycles)
for(i=1;i<=E->lmesh.nsf;i++) {
s = (i-1)*E->lmesh.noz + 1;
gzprintf(fp2,"%.4e %.4e %.4e %.4e\n",
- E->slice.tpgb[CPPR][i],E->slice.bhflux[CPPR][i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
+ E->slice.tpgb[i],E->slice.bhflux[i],E->sphere.cap[CPPR].V[1][s],E->sphere.cap[CPPR].V[2][s]);
}
gzclose(fp2);
}
@@ -901,11 +901,11 @@ void gzdir_output_stress(struct All_variables *E, int cycles)
void allocate_STD_mem();
void compute_nodal_stress();
void free_STD_mem();
- 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;
/* */
if(E->control.use_cbf_topo) {/* for CBF topo, stress will not have been computed */
- allocate_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
+ allocate_STD_mem(E, &SXX, &SYY, &SZZ, &SXY, &SXZ, &SZY, &divv, &vorv);
compute_nodal_stress(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
free_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
}
@@ -1001,7 +1001,7 @@ void gzdir_output_pressure(struct All_variables *E, int cycles)
gzprintf(gz1,"%d %d %.5e\n",cycles,E->lmesh.nno,E->monitor.elapsed_time);
gzprintf(gz1,"%3d %7d\n",CPPR,E->lmesh.nno);
for(i=1;i<=E->lmesh.nno;i++)
- gzprintf(gz1,"%.6e\n",E->NP[CPPR][i]);
+ gzprintf(gz1,"%.6e\n",E->NP[i]);
gzclose(gz1);
}else{/* new legacy VTK */
if(E->output.gzdir.vtk_io == 2)
@@ -1016,7 +1016,7 @@ void gzdir_output_pressure(struct All_variables *E, int cycles)
fp1 = output_open(output_file,"a");
}
for(i=1;i<=E->lmesh.nno;i++){
- ftmp = E->NP[CPPR][i];
+ ftmp = E->NP[i];
if(be_write_float_to_file(&ftmp,1,fp1)!=1)BE_WERROR;
}
fclose(fp1);fflush(fp1); /* close file and flush buffer */
diff --git a/lib/Output_h5.c b/lib/Output_h5.c
index ce39b50..3b01e56 100644
--- a/lib/Output_h5.c
+++ b/lib/Output_h5.c
@@ -135,8 +135,8 @@ void h5output_time(struct All_variables *, int);
extern void parallel_process_termination();
extern void heat_flux(struct All_variables *);
-extern void get_STD_topo(struct All_variables *, float**, float**, float**, float**, int);
-extern void get_CBF_topo(struct All_variables *, float**, float**);
+extern void get_STD_topo(struct All_variables *, float*, float*, float*, float*, int);
+extern void get_CBF_topo(struct All_variables *, float*, float*);
extern void compute_geoid(struct All_variables *);
@@ -632,7 +632,7 @@ void h5output_pressure(struct All_variables *E, int cycles)
{
n = k + i*nz + j*nz*nx;
m = k + j*mz + i*mz*my;
- field->data[m] = E->NP[CPPR][n+1];
+ field->data[m] = E->NP[n+1];
}
}
}
@@ -661,12 +661,12 @@ void h5output_stress(struct All_variables *E, int cycles)
void allocate_STD_mem();
void compute_nodal_stress();
void free_STD_mem();
- 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;
/* */
if(E->control.use_cbf_topo) {/* for CBF topo, stress will not have been computed */
- allocate_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
+ allocate_STD_mem(E, &SXX, &SYY, &SZZ, &SXY, &SXZ, &SZY, &divv, &vorv);
compute_nodal_stress(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
free_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
}
@@ -866,7 +866,7 @@ void h5output_surf_botm(struct All_variables *E, int cycles)
{
n = k + i*nz + j*nz*nx;
m = j + i*my;
- scalar->data[m] = E->slice.shflux[CPPR][n+1];
+ scalar->data[m] = E->slice.shflux[n+1];
}
}
@@ -876,9 +876,9 @@ void h5output_surf_botm(struct All_variables *E, int cycles)
/* choose either STD topo or pseudo-free-surf topo */
if (E->control.pseudo_free_surf)
- topo = E->slice.freesurf[CPPR];
+ topo = E->slice.freesurf;
else
- topo = E->slice.tpg[CPPR];
+ topo = E->slice.tpg;
/* topography data */
for(i = 0; i < mx; i++)
@@ -936,7 +936,7 @@ void h5output_surf_botm(struct All_variables *E, int cycles)
{
n = k + i*nz + j*nz*nx;
m = j + i*my;
- scalar->data[m] = E->slice.bhflux[CPPR][n+1];
+ scalar->data[m] = E->slice.bhflux[n+1];
}
}
dataset = H5Dopen(file_id, "/botm/heatflux");
@@ -944,7 +944,7 @@ void h5output_surf_botm(struct All_variables *E, int cycles)
status = H5Dclose(dataset);
/* topography data */
- topo = E->slice.tpg[CPPR];
+ topo = E->slice.tpg;
for(i = 0; i < mx; i++)
{
for(j = 0; j < my; j++)
diff --git a/lib/Output_vtk.c b/lib/Output_vtk.c
index 6859513..c249dac 100644
--- a/lib/Output_vtk.c
+++ b/lib/Output_vtk.c
@@ -209,11 +209,11 @@ static void vtk_output_stress(struct All_variables *E, FILE *fp)
void allocate_STD_mem();
void compute_nodal_stress();
void free_STD_mem();
- 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;
/* those are sorted like stt spp srr stp str srp */
- allocate_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
+ allocate_STD_mem(E, &SXX, &SYY, &SZZ, &SXY, &SXZ, &SZY, &divv, &vorv);
compute_nodal_stress(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
free_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
@@ -282,9 +282,9 @@ static void vtk_output_surf(struct All_variables *E, FILE *fp, int cycles)
/* choose either STD topo or pseudo-free-surf topo */
if(E->control.pseudo_free_surf)
- floattopo[(CPPR-1)*E->lmesh.nno + i*E->lmesh.noz-1] = E->slice.freesurf[CPPR][i];
+ floattopo[(CPPR-1)*E->lmesh.nno + i*E->lmesh.noz-1] = E->slice.freesurf[i];
else
- floattopo[(CPPR-1)*E->lmesh.nno + i*E->lmesh.noz-1] = E->slice.tpg[CPPR][i];
+ floattopo[(CPPR-1)*E->lmesh.nno + i*E->lmesh.noz-1] = E->slice.tpg[i];
}
}
diff --git a/lib/Process_buoyancy.c b/lib/Process_buoyancy.c
index 52563cd..eed76f1 100644
--- a/lib/Process_buoyancy.c
+++ b/lib/Process_buoyancy.c
@@ -120,26 +120,26 @@ void heat_flux(E)
if (E->parallel.me_loc[3]==E->parallel.nprocz-1)
for(i=1;i<=E->lmesh.nsf;i++)
- E->slice.shflux[CPPR][i]=2*flux[E->surf_node[CPPR][i]]-flux[E->surf_node[CPPR][i]-1];
+ E->slice.shflux[i]=2*flux[E->surf_node[CPPR][i]]-flux[E->surf_node[CPPR][i]-1];
if (E->parallel.me_loc[3]==0)
for(i=1;i<=E->lmesh.nsf;i++)
- E->slice.bhflux[CPPR][i] = 2*flux[E->surf_node[CPPR][i]-E->lmesh.noz+1]
+ E->slice.bhflux[i] = 2*flux[E->surf_node[CPPR][i]-E->lmesh.noz+1]
- flux[E->surf_node[CPPR][i]-E->lmesh.noz+2];
for(e=1;e<=E->lmesh.snel;e++) {
- uT =(E->slice.shflux[CPPR][E->sien[e].node[1]] +
- E->slice.shflux[CPPR][E->sien[e].node[2]] +
- E->slice.shflux[CPPR][E->sien[e].node[3]] +
- E->slice.shflux[CPPR][E->sien[e].node[4]])*0.25;
+ uT =(E->slice.shflux[E->sien[e].node[1]] +
+ E->slice.shflux[E->sien[e].node[2]] +
+ E->slice.shflux[E->sien[e].node[3]] +
+ E->slice.shflux[E->sien[e].node[4]])*0.25;
el = e*E->lmesh.elz;
sum_h[0] += uT*E->eco[el].area;
sum_h[1] += E->eco[el].area;
- uT =(E->slice.bhflux[CPPR][E->sien[e].node[1]] +
- E->slice.bhflux[CPPR][E->sien[e].node[2]] +
- E->slice.bhflux[CPPR][E->sien[e].node[3]] +
- E->slice.bhflux[CPPR][E->sien[e].node[4]])*0.25;
+ uT =(E->slice.bhflux[E->sien[e].node[1]] +
+ E->slice.bhflux[E->sien[e].node[2]] +
+ E->slice.bhflux[E->sien[e].node[3]] +
+ E->slice.bhflux[E->sien[e].node[4]])*0.25;
el = (e-1)*E->lmesh.elz+1;
sum_h[2] += uT*E->eco[el].area;
sum_h[3] += E->eco[el].area;
diff --git a/lib/Regional_parallel_related.c b/lib/Regional_parallel_related.c
index f237376..3dec0f0 100644
--- a/lib/Regional_parallel_related.c
+++ b/lib/Regional_parallel_related.c
@@ -825,8 +825,8 @@ static void exchange_node_f(E, U, lev)
/* ================================================ */
/* ================================================ */
-void regional_exchange_snode_f(struct All_variables *E, float **U1,
- float **U2, int lev)
+void regional_exchange_snode_f(struct All_variables *E, float *U1,
+ float *U2, int lev)
{
int ii,j,k,m,kk,t_cap,idb,msginfo[8];
@@ -844,9 +844,9 @@ void regional_exchange_snode_f(struct All_variables *E, float **U1,
for (k=1;k<=E->parallel.sTNUM_PASS[lev][CPPR];k++) {
for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
- S[k][j-1] = U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
+ S[k][j-1] = U1[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
S[k][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]]
- = U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
+ = U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ];
}
MPI_Sendrecv(S[k],2*E->parallel.NUM_sNODE[lev][CPPR].pass[k],MPI_FLOAT,
@@ -856,8 +856,8 @@ void regional_exchange_snode_f(struct All_variables *E, float **U1,
E->parallel.world,&status);
for (j=1;j<=E->parallel.NUM_sNODE[lev][CPPR].pass[k];j++) {
- U1[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += R[k][j-1];
- U2[CPPR][ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
+ U1[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] += R[k][j-1];
+ U2[ E->parallel.EXCHANGE_sNODE[lev][CPPR][j].pass[k] ] +=
R[k][j-1+E->parallel.NUM_sNODE[lev][CPPR].pass[k]];
}
diff --git a/lib/Sphere_harmonics.c b/lib/Sphere_harmonics.c
index 2f99c7a..63e6858 100644
--- a/lib/Sphere_harmonics.c
+++ b/lib/Sphere_harmonics.c
@@ -100,7 +100,7 @@ double modified_plgndr_a(int l, int m, double t)
========================================================= */
void sphere_expansion(E,TG,sphc,sphs)
struct All_variables *E;
- float **TG,*sphc,*sphs;
+ float *TG,*sphc,*sphs;
{
int el,nint,d,p,i,m,j,es,mm,ll,rand();
void sum_across_surf_sph1();
@@ -120,12 +120,12 @@ void sphere_expansion(E,TG,sphc,sphs)
for(nint=1;nint<=onedvpoints[E->mesh.nsd];nint++) {
for(d=1;d<=onedvpoints[E->mesh.nsd];d++) {
j = E->sien[es].node[d];
- sphc[p] += TG[CPPR][E->sien[es].node[d]]
+ sphc[p] += TG[E->sien[es].node[d]]
* E->sphere.tablesplm[CPPR][j][p]
* E->sphere.tablescosf[CPPR][j][mm]
* E->M.vpt[GMVINDEX(d,nint)]
* E->surf_det[CPPR][nint][es];
- sphs[p] += TG[CPPR][E->sien[es].node[d]]
+ sphs[p] += TG[E->sien[es].node[d]]
* E->sphere.tablesplm[CPPR][j][p]
* E->sphere.tablessinf[CPPR][j][mm]
* E->M.vpt[GMVINDEX(d,nint)]
@@ -148,9 +148,9 @@ void debug_sphere_expansion(struct All_variables *E)
*/
int m, i, j, k, p, node;
int ll, mm;
- float *TT[NCS], *sph_harm[2];
+ float *TT, *sph_harm[2];
- TT[CPPR] = (float *) malloc ((E->lmesh.nsf+1)*sizeof(float));
+ TT = (float *) malloc ((E->lmesh.nsf+1)*sizeof(float));
/* sin coeff */
sph_harm[0] = (float*)malloc(E->sphere.hindice*sizeof(float));
@@ -162,7 +162,7 @@ void debug_sphere_expansion(struct All_variables *E)
for(j=1;j<=E->lmesh.nox;j++) {
node= k + (j-1)*E->lmesh.noz + (i-1)*E->lmesh.nox*E->lmesh.noz;
p = j + (i-1)*E->lmesh.nox;
- TT[CPPR][p] = E->T[node];
+ TT[p] = E->T[node];
}
/* expand TT into spherical harmonics */
diff --git a/lib/Topo_gravity.c b/lib/Topo_gravity.c
index 160a35b..c42c69b 100644
--- a/lib/Topo_gravity.c
+++ b/lib/Topo_gravity.c
@@ -31,7 +31,7 @@
#include "global_defs.h"
void myerror(struct All_variables *, char *);
-void sphere_expansion(struct All_variables *, float **, float *, float *);
+void sphere_expansion(struct All_variables *, float *, float *, float *);
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);
@@ -40,13 +40,13 @@ void allocate_STD_mem(struct All_variables *E,
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"
@@ -65,8 +65,8 @@ removed, make sure to recompute in output routines
void get_STD_topo(E,tpg,tpgb,divg,vort,ii)
struct All_variables *E;
- float **tpg,**tpgb;
- float **divg,**vort;
+ float *tpg,*tpgb;
+ float *divg,*vort;
int ii;
{
void allocate_STD_mem();
@@ -75,11 +75,11 @@ 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);
+ allocate_STD_mem(E, &SXX, &SYY, &SZZ, &SXY, &SXZ, &SZY, &divv, &vorv);
/* this one is for szz */
compute_nodal_stress(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
@@ -93,27 +93,27 @@ 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[snode] = -2*SZZ[node] + SZZ[node-1];
+ tpgb[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;
+ tpg[snode] = tpg[snode] *topo_scaling1;
+ tpgb[snode] = tpgb[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[snode] = 2*divv[node]-divv[node-1];
+ vort[snode] = 2*vorv[node]-vorv[node-1];
}
free_STD_mem(E, SXX, SYY, SZZ, SXY, SXZ, SZY, divv, vorv);
}
-void get_STD_freesurf(struct All_variables *E,float **freesurf)
+void get_STD_freesurf(struct All_variables *E,float *freesurf)
{
int node,snode,m;
if (E->parallel.me_loc[3]==E->parallel.nprocz-1)
for(snode=1;snode<=E->lmesh.nsf;snode++) {
node = E->surf_node[CPPR][snode];
- freesurf[CPPR][snode] += E->sphere.cap[CPPR].V[3][node]*E->advection.timestep;
+ freesurf[snode] += E->sphere.cap[CPPR].V[3][node]*E->advection.timestep;
}
}
@@ -125,47 +125,47 @@ void allocate_STD_mem(struct All_variables *E,
{
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) */
@@ -529,7 +529,7 @@ static void geoid_from_buoyancy(struct All_variables *E,
*/
int m,k,ll,mm,node,i,j,p,noz,snode,nxnz;
- float *TT[NCS],radius,*geoid[2],dlayer,con1,grav,scaling2,scaling,radius_m;
+ float *TT,radius,*geoid[2],dlayer,con1,grav,scaling2,scaling,radius_m;
float cont, conb;
double buoy2rho;
@@ -545,7 +545,7 @@ static void geoid_from_buoyancy(struct All_variables *E,
/ E->data.grav_acc;
/* density of one layer */
- TT[CPPR] = (float *) malloc ((E->lmesh.nsf+1)*sizeof(float));
+ TT = (float *) malloc ((E->lmesh.nsf+1)*sizeof(float));
/* cos coeff */
geoid[0] = (float*)malloc(E->sphere.hindice*sizeof(float));
@@ -571,7 +571,7 @@ static void geoid_from_buoyancy(struct All_variables *E,
p = j + (i-1)*E->lmesh.nox;
/* convert non-dimensional buoyancy to */
/* dimensional density */
- TT[CPPR][p] = (E->buoyancy[CPPR][node]+E->buoyancy[CPPR][node+1])
+ TT[p] = (E->buoyancy[CPPR][node]+E->buoyancy[CPPR][node+1])
* 0.5 * buoy2rho;
}
@@ -608,7 +608,7 @@ static void geoid_from_buoyancy(struct All_variables *E,
/* accumulate geoid from all layers to the CMB (bottom processors) */
sum_across_depth_sph1(E, harm_geoidb[0], harm_geoidb[1]);
- free ((void *)TT[CPPR]);
+ free ((void *)TT);
free ((void *)geoid[0]);
free ((void *)geoid[1]);
@@ -911,7 +911,7 @@ separately if stress output is needed
*/
void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*/
struct All_variables *E;
- float **H,**HB;
+ float *H,*HB;
{
void get_elt_k();
@@ -928,7 +928,7 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
struct Shape_function1 GM,GMb;
struct Shape_function1_dA dGammax,dGammabx;
- float *eltTU,*eltTL,*SU[NCS],*SL[NCS],*RU[NCS],*RL[NCS];
+ float *eltTU,*eltTL,*SU,*SL,*RU,*RL;
float VV[4][9];
double eltk[24*24],eltf[24];
@@ -955,13 +955,13 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
eltTU = (float *)malloc((1+Tsize)*sizeof(float));
eltTL = (float *)malloc((1+Tsize)*sizeof(float));
- SU[CPPR] = (float *)malloc((1+lnsf)*sizeof(float));
- SL[CPPR] = (float *)malloc((1+lnsf)*sizeof(float));
- RU[CPPR] = (float *)malloc((1+lnsf)*sizeof(float));
- RL[CPPR] = (float *)malloc((1+lnsf)*sizeof(float));
+ SU = (float *)malloc((1+lnsf)*sizeof(float));
+ SL = (float *)malloc((1+lnsf)*sizeof(float));
+ RU = (float *)malloc((1+lnsf)*sizeof(float));
+ RL = (float *)malloc((1+lnsf)*sizeof(float));
for(i=0;i<=lnsf;i++)
- RU[CPPR][i] = RL[CPPR][i] = SU[CPPR][i] = SL[CPPR][i] = 0.0;
+ RU[i] = RL[i] = SU[i] = SL[i] = 0.0;
/* calculate the element residuals */
@@ -1028,7 +1028,7 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
nodes = E->sien[els].node[4];
break;
}
- RL[CPPR][nodes] += resb[(m-1)*dims+2];
+ RL[nodes] += resb[(m-1)*dims+2];
}
else {
switch (m) {
@@ -1045,7 +1045,7 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
nodes = E->sien[els].node[4];
break;
}
- RU[CPPR][nodes] += res[(m-1)*dims+2];
+ RU[nodes] += res[(m-1)*dims+2];
}
} /* end for m */
}
@@ -1074,10 +1074,10 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
}
for (m=1;m<=onedv;m++) /* for bottom */
- SL[CPPR][E->sien[els].node[m]] += eltTL[m-1];
+ SL[E->sien[els].node[m]] += eltTL[m-1];
for (m=1;m<=onedv;m++)
- SU[CPPR][E->sien[els].node[m]] += eltTU[m-1];
+ SU[E->sien[els].node[m]] += eltTU[m-1];
}
@@ -1090,7 +1090,7 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
regional_exchange_snode_f(E,RL,SL,E->mesh.levmax);
for(i=1;i<=E->lmesh.nsf;i++)
- HB[CPPR][i] = RL[CPPR][i]/SL[CPPR][i];
+ HB[i] = RL[i]/SL[i];
}
/* for top topo */
if(E->parallel.me_loc[3] == E->parallel.nprocz-1) {
@@ -1100,12 +1100,12 @@ void get_CBF_topo(E,H,HB) /* call this only for top and bottom processors*
regional_exchange_snode_f(E,RU,SU,E->mesh.levmax);
for(i=1;i<=E->lmesh.nsf;i++)
- H[CPPR][i] = RU[CPPR][i]/SU[CPPR][i];
+ H[i] = RU[i]/SU[i];
}
free((void *)eltTU);
free((void *)eltTL);
- free((void *)SU[CPPR]);
- free((void *)SL[CPPR]);
- free((void *)RU[CPPR]);
- free((void *)RL[CPPR]);
+ free((void *)SU);
+ free((void *)SL);
+ free((void *)RU);
+ free((void *)RL);
}
diff --git a/lib/global_defs.h b/lib/global_defs.h
index ac8b2f8..292456e 100644
--- a/lib/global_defs.h
+++ b/lib/global_defs.h
@@ -371,13 +371,13 @@ struct HAVE { /* horizontal averages */
};
struct SLICE { /* horizontally sliced data, including topography */
- float *tpg[NCS];
- float *tpgb[NCS];
- float *shflux[NCS];
- float *bhflux[NCS];
- float *divg[NCS];
- float *vort[NCS];
- float *freesurf[NCS];
+ float *tpg;
+ float *tpgb;
+ float *shflux;
+ float *bhflux;
+ float *divg;
+ float *vort;
+ float *freesurf;
};
@@ -840,7 +840,7 @@ struct All_variables {
double *surf_det[NCS][5];
double *SinCos[MAX_LEVELS][NCS][4];
- float *NP[NCS];
+ float *NP;
//float *stress[NCS];
float *gstress[NCS];
float *Fas670[NCS],*Fas410[NCS],*Fas670_b[NCS],*Fas410_b[NCS];
diff --git a/lib/prototypes.h b/lib/prototypes.h
index 19bc5c5..2e4bce5 100644
--- a/lib/prototypes.h
+++ b/lib/prototypes.h
@@ -140,7 +140,7 @@ void full_parallel_domain_boundary_nodes(struct All_variables *);
void full_parallel_communication_routs_v(struct All_variables *);
void full_parallel_communication_routs_s(struct All_variables *);
void full_exchange_id_d(struct All_variables *, double *, int);
-void full_exchange_snode_f(struct All_variables *, float **, float **, int);
+void full_exchange_snode_f(struct All_variables *, float *, float *, int);
/* Full_read_input_from_files.c */
void full_read_input_files_for_timesteps(struct All_variables *, int, int);
/* Full_solver.c */
@@ -270,7 +270,7 @@ void v_from_vector_pseudo_surf(struct All_variables *);
void velo_from_element(struct All_variables *, float [4][9], int, int);
void velo_from_element_d(struct All_variables *, double [4][9], int, int);
-void p_to_nodes(struct All_variables *, double *, float **, int);
+void p_to_nodes(struct All_variables *, double *, float *, int);
void visc_from_gint_to_nodes(struct All_variables *, float *, float *, int);
void visc_from_nodes_to_gint(struct All_variables *, float *, float *, int);
@@ -417,7 +417,7 @@ void regional_parallel_domain_boundary_nodes(struct All_variables *);
void regional_parallel_communication_routs_v(struct All_variables *);
void regional_parallel_communication_routs_s(struct All_variables *);
void regional_exchange_id_d(struct All_variables *, double *, int);
-void regional_exchange_snode_f(struct All_variables *, float **, float **, int);
+void regional_exchange_snode_f(struct All_variables *, float *, float *, int);
/* Regional_read_input_from_files.c */
void regional_read_input_files_for_timesteps(struct All_variables *, int, int);
/* Regional_solver.c */
@@ -479,7 +479,7 @@ void fill_in_gaps(struct All_variables *, double *, int);
/* Sphere_harmonics.c */
void set_sphere_harmonics(struct All_variables *);
double modified_plgndr_a(int, int, double);
-void sphere_expansion(struct All_variables *, float **, float *, float *);
+void sphere_expansion(struct All_variables *, float *, float *, float *);
void debug_sphere_expansion(struct All_variables *);
/* Sphere_util.c */
void even_divide_arc12(int, double, double, double, double, double, double, double *, double *);
@@ -492,14 +492,14 @@ double get_angle(double [4], double [4]);
/* Stokes_flow_Incomp.c */
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 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 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 **);
+void get_CBF_topo(struct All_variables *, float *, float *);
/* Tracer_setup.c */
void tracer_input(struct All_variables *);
void tracer_initial_settings(struct All_variables *);
- Previous message: [cig-commits] [commit] rajesh-petsc-schur: Changed the shape of VI and EVI members of All_variables as part of caps_per_proc removal. Corrected the signatures of get_system_viscosity, visc_from_nodes_to_gint, visc_from_ele_to_gint, visc_from_gint_to_nodes, visc_from_gint_to_ele, apply_low_visc_wedge_channel, visc_from_P, visc_from_T, visc_from_S, visc_from_C, visc_from_mat (9790c04)
- Next message: [cig-commits] [commit] devel: clarified the way to define memory sizes for UNDO_ATTENUATION on Titan at Oak Ridge (8087d34)
- Messages sorted by:
[ date ]
[ thread ]
[ subject ]
[ author ]
More information about the CIG-COMMITS
mailing list