Commit 476a1e0f authored by Gaurav Kukreja's avatar Gaurav Kukreja

Swapped Pointers for u and uhelp after iteration

Copying of matrix uhelp to u each time is avoided, by swapping pointers.
Signed-off-by: 's avatarGaurav Kukreja <mailme.gaurav@gmail.com>
parent dea4cf6b
...@@ -26,6 +26,8 @@ int main( int argc, char *argv[] ) ...@@ -26,6 +26,8 @@ int main( int argc, char *argv[] )
FILE *infile, *resfile; FILE *infile, *resfile;
char *resfilename; char *resfilename;
double *tmp;
// algorithmic parameters // algorithmic parameters
algoparam_t param; algoparam_t param;
int np; int np;
...@@ -115,6 +117,9 @@ int main( int argc, char *argv[] ) ...@@ -115,6 +117,9 @@ int main( int argc, char *argv[] )
case 0: // JACOBI case 0: // JACOBI
relax_jacobi(param.u, param.uhelp, np, np); relax_jacobi(param.u, param.uhelp, np, np);
tmp = param.u;
param.u = param.uhelp;
param.uhelp = tmp;
residual = residual_jacobi( param.u, np, np); residual = residual_jacobi( param.u, np, np);
break; break;
......
...@@ -58,6 +58,7 @@ int initialize( algoparam_t *param ) ...@@ -58,6 +58,7 @@ int initialize( algoparam_t *param )
(param->heatsrcs[i].range-dist) / (param->heatsrcs[i].range-dist) /
param->heatsrcs[i].range * param->heatsrcs[i].range *
param->heatsrcs[i].temp; param->heatsrcs[i].temp;
(param->uhelp)[j] = (param->u)[j];
} }
} }
...@@ -74,6 +75,7 @@ int initialize( algoparam_t *param ) ...@@ -74,6 +75,7 @@ int initialize( algoparam_t *param )
(param->heatsrcs[i].range-dist) / (param->heatsrcs[i].range-dist) /
param->heatsrcs[i].range * param->heatsrcs[i].range *
param->heatsrcs[i].temp; param->heatsrcs[i].temp;
(param->uhelp)[(np-1)*np+j] = (param->u)[(np-1)*np+j];
} }
} }
...@@ -90,6 +92,7 @@ int initialize( algoparam_t *param ) ...@@ -90,6 +92,7 @@ int initialize( algoparam_t *param )
(param->heatsrcs[i].range-dist) / (param->heatsrcs[i].range-dist) /
param->heatsrcs[i].range * param->heatsrcs[i].range *
param->heatsrcs[i].temp; param->heatsrcs[i].temp;
(param->uhelp)[ j*np ] = (param->u)[ j*np ];
} }
} }
...@@ -106,6 +109,7 @@ int initialize( algoparam_t *param ) ...@@ -106,6 +109,7 @@ int initialize( algoparam_t *param )
(param->heatsrcs[i].range-dist) / (param->heatsrcs[i].range-dist) /
param->heatsrcs[i].range * param->heatsrcs[i].range *
param->heatsrcs[i].temp; param->heatsrcs[i].temp;
(param->uhelp)[ j*np+(np-1) ] = (param->u)[ j*np+(np-1) ];
} }
} }
} }
......
...@@ -53,14 +53,4 @@ void relax_jacobi( double *u, double *utmp, ...@@ -53,14 +53,4 @@ void relax_jacobi( double *u, double *utmp,
u[ (i+1)*sizex + j ]); // bottom u[ (i+1)*sizex + j ]); // bottom
} }
} }
// copy from utmp to u
for( i=1; i<sizey-1; i++ )
{
for( j=1; j<sizex-1; j++ )
{
u[ i*sizex+j ] = utmp[ i*sizex+j ];
}
}
} }
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment