aboutsummaryrefslogtreecommitdiff
path: root/src/CoordinateStuff.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/CoordinateStuff.c')
-rw-r--r--src/CoordinateStuff.c165
1 files changed, 0 insertions, 165 deletions
diff --git a/src/CoordinateStuff.c b/src/CoordinateStuff.c
deleted file mode 100644
index c630e4e..0000000
--- a/src/CoordinateStuff.c
+++ /dev/null
@@ -1,165 +0,0 @@
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <math.h>
-
-#include "cctk.h"
-
- /*@@
- @routine IndexFloor
- @date Fri Jan 7 10:34:29 2000
- @author Gerd Lanfermann
- @desc
- For a given physical, global coordinate, IndexFloor returns
- the closest lower grid index *locally* in the direction d,
- which is owned by the grid path. (Ghostzone are not owned!)
- Other return values:
- -1 : gridindex not on this gridpatch
- -3 : coordinate is outside global grid
-
- This routine and the Fortran wrapper are Fortran/C index aware.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
-
-@@*/
-
-
-int IndexFloor(cGH *GH, CCTK_REAL coord_value, int d)
-{
- int index_low,idummy,ugs,lgs;
- char *message;
- CCTK_REAL cmin,cmax;
-
- if (d==0)
- CCTK_CoordRange(GH,&cmin,&cmax,"x");
- else if (d==1)
- CCTK_CoordRange(GH,&cmin,&cmax,"y");
- else if (d==2)
- CCTK_CoordRange(GH,&cmin,&cmax,"z");
- else
- CCTK_WARN(0,"IndexFloor: dimension is not valid. Fortran:1..3 C:0..2");
-
- if ((coord_value<cmin)||(coord_value>cmax)) {
- message = (char*)malloc(128*sizeof(char));
- sprintf(message,
- "IndexFloor: coordinate value outside grid [%f,%f]: %f \n",
- cmin, cmax, coord_value);
- CCTK_WARN(2,message);
- free(message);
- return(-3);
- }
-
- idummy = floor((coord_value-GH->cctk_origin_space[d])/ GH->cctk_delta_space[d]);
- index_low = idummy-GH->cctk_lbnd[d];
-
- if (GH->cctk_bbox[2*d]==1)
- lgs = 0;
- else
- lgs = GH->cctk_nghostzones[d];
-
- if (GH->cctk_bbox[2*d+1]==1)
- ugs = 0;
- else
- ugs = GH->cctk_nghostzones[d];
-
- if (index_low<lgs)
- index_low = -1;
-
- if (index_low>=GH->cctk_lsh[d]-ugs)
- index_low = -1;
-
- return(index_low);
-}
-
-
- /*@@
- @routine IndexCeil
- @date Fri Jan 7 10:34:29 2000
- @author Gerd Lanfermann
- @desc
- For a given physical, global coordinate, IndexCeil returns
- the closest upper grid index *locally* in the direction d,
- which is owned by the grid path. (Ghostzone are not owned!)
- Other return values:
- -1 : grid index not on this gridpatch
- -3 : coordinate is outside global grid
-
- This routine and the Fortran wrapper are Fortran/C index aware.
- @enddesc
- @calls
- @calledby
- @history
-
- @endhistory
-
-@@*/
-
-
-int IndexCeil(cGH *GH, CCTK_REAL coord_value, int d)
-{
- int index_up,idummy,ugs,lgs;
- char *message;
- CCTK_REAL cmin,cmax;
-
- if (d==0)
- CCTK_CoordRange(GH,&cmin,&cmax,"x");
- else if (d==1)
- CCTK_CoordRange(GH,&cmin,&cmax,"y");
- else if (d==2)
- CCTK_CoordRange(GH,&cmin,&cmax,"z");
- else
- CCTK_WARN(0,"IndexCeil: dimension is not valid. Fortran:1..3 C:0..2");
-
-
- if ((coord_value<cmin)||(coord_value>cmax)) {
- message = (char*) malloc(256*sizeof(char));
- sprintf(message,
- "IndexCeil: coordinate value outside grid [%f,%f]: %f \n",
- cmin,cmax, coord_value);
- CCTK_WARN(2,message);
- free(message);
- return(-3);
- }
-
- idummy = ceil((coord_value-GH->cctk_origin_space[d])/ GH->cctk_delta_space[d]);
- index_up = idummy-GH->cctk_lbnd[d];
-
- if (GH->cctk_bbox[2*d]==1)
- lgs = 0;
- else
- lgs = GH->cctk_nghostzones[d];
-
- if (GH->cctk_bbox[2*d+1]==1)
- ugs = 0;
- else
- ugs = GH->cctk_nghostzones[d];
-
- if (index_up<lgs)
- index_up = -1;
-
- if (index_up>=GH->cctk_lsh[d]-ugs)
- index_up = -1;
-
- return(index_up);
-}
-
-void CCTK_FCALL CCTK_FNAME(IndexFloor)
- (cGH *GH, CCTK_REAL *coord_value, int *index_low, int *fdim) {
-
- /* note the increase/decrease of indeces for fortran compatability */
- *index_low = IndexFloor(GH, *coord_value, (*fdim)-1);
- if ((*index_low)>=0) (*index_low)++;
-}
-
-void CCTK_FCALL CCTK_FNAME(IndexCeil)
- (cGH *GH, CCTK_REAL *coord_value, int *index_up, int *fdim) {
- /* note the increase/decrease of indeces for fortran compatability */
- *index_up = IndexCeil(GH, *coord_value, (*fdim)-1);
- if ((*index_up)>=0) (*index_up)++;
-}
-
-