aboutsummaryrefslogtreecommitdiff
path: root/src/SetupGroup.c
diff options
context:
space:
mode:
authorgoodale <goodale@b61c5cb5-eaca-4651-9a7a-d64986f99364>2001-10-07 10:06:32 +0000
committergoodale <goodale@b61c5cb5-eaca-4651-9a7a-d64986f99364>2001-10-07 10:06:32 +0000
commite8cdd90785ee3239b9ba8ffdb974d1b3450f231c (patch)
treeae70f698996c2451c6505dddb121089c2d69db5c /src/SetupGroup.c
parent21374b8c6a67f5d8ddf11a14a2353b7ee11c0054 (diff)
Preliminary support for 'vector' Grid Variables (see commits to interface_parser.ccl for
syntax). Works for GFs and GAs, but not implemented yet for GSs. Please treat this as volatile until it is documented, and let me know if you are using it. Tom git-svn-id: http://svn.cactuscode.org/arrangements/CactusPUGH/PUGH/trunk@351 b61c5cb5-eaca-4651-9a7a-d64986f99364
Diffstat (limited to 'src/SetupGroup.c')
-rw-r--r--src/SetupGroup.c41
1 files changed, 32 insertions, 9 deletions
diff --git a/src/SetupGroup.c b/src/SetupGroup.c
index e3fffc3..c2a8bab 100644
--- a/src/SetupGroup.c
+++ b/src/SetupGroup.c
@@ -26,7 +26,9 @@ CCTK_FILEVERSION (CactusPUGH_PUGH_SetupGroup_c)
static int PUGH_SetupScalarGroup (pGH *newGH,
int vtype,
int n_variables,
- int n_timelevels);
+ int n_timelevels,
+ int vectorgroup);
+
static int PUGH_SetupGAGroup (pGH *newGH,
int *nsize,
int *ghostsize,
@@ -35,7 +37,8 @@ static int PUGH_SetupGAGroup (pGH *newGH,
int dim,
int n_variables,
int staggercode,
- int n_timelevels);
+ int n_timelevels,
+ int vectorgroup);
/*@@
@@ -71,6 +74,11 @@ static int PUGH_SetupGAGroup (pGH *newGH,
@vtype int
@vio in
@endvar
+ @var vectorgroup
+ @vdesc is this a vector group ?
+ @vtype int
+ @vio in
+ @endvar
@returntype int
@returndesc
@@ -81,7 +89,8 @@ static int PUGH_SetupGAGroup (pGH *newGH,
static int PUGH_SetupScalarGroup (pGH *newGH,
int vtype,
int n_variables,
- int n_timelevels)
+ int n_timelevels,
+ int vectorgroup)
{
DECLARE_CCTK_PARAMETERS
int variable, level, vtypesize, retval;
@@ -204,6 +213,11 @@ static int PUGH_SetupScalarGroup (pGH *newGH,
@vtype int
@vio in
@endvar
+ @var vectorgroup
+ @vdesc is this a vector group ?
+ @vtype int
+ @vio in
+ @endvar
@returntype int
@returndesc
@@ -219,7 +233,8 @@ static int PUGH_SetupGAGroup (pGH *newGH,
int dim,
int n_variables,
int staggercode,
- int n_timelevels)
+ int n_timelevels,
+ int vectorgroup)
{
int i;
int variable;
@@ -323,7 +338,10 @@ static int PUGH_SetupGAGroup (pGH *newGH,
newGH->narrays,
var_size,
vtype,
- staggercode);
+ staggercode,
+ vectorgroup ? n_variables : 1,
+ variable,
+ variable > 0 ? newGH->variables[newGH->nvariables-variable][level] : NULL);
newGH->narrays++;
}
newGH->nvariables++;
@@ -404,6 +422,11 @@ static int PUGH_SetupGAGroup (pGH *newGH,
@vtype int
@vio in
@endvar
+ @var vectorgroup
+ @vdesc is this a vector group ?
+ @vtype int
+ @vio in
+ @endvar
@returntype int
@returndesc
@@ -420,19 +443,19 @@ int PUGH_SetupGroup (pGH *newGH,
int dim,
int n_variables,
int staggercode,
- int n_timelevels)
+ int n_timelevels,
+ int vectorgroup)
{
int retval;
-
if (gtype == CCTK_SCALAR)
{
- retval = PUGH_SetupScalarGroup (newGH, vtype, n_variables, n_timelevels);
+ retval = PUGH_SetupScalarGroup (newGH, vtype, n_variables, n_timelevels, vectorgroup);
}
else if (gtype == CCTK_ARRAY || gtype == CCTK_GF)
{
retval = PUGH_SetupGAGroup (newGH, nsize, nghostsize, gtype, vtype, dim,
- n_variables, staggercode, n_timelevels);
+ n_variables, staggercode, n_timelevels,vectorgroup);
}
else
{