aboutsummaryrefslogtreecommitdiff
path: root/src/Startup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/Startup.c')
-rw-r--r--src/Startup.c46
1 files changed, 31 insertions, 15 deletions
diff --git a/src/Startup.c b/src/Startup.c
index dfe7d5f..19a75bd 100644
--- a/src/Startup.c
+++ b/src/Startup.c
@@ -15,21 +15,21 @@ static const char *rcsid = "$Header$";
CCTK_FILEVERSION(CactusElliptic_EllSOR_Startup_c)
void EllSOR_Register(CCTK_ARGUMENTS);
-void sor_confmetric(cGH *GH,
+void SORConfMetric(cGH *GH,
int *MetricPsiI,
int FieldI,
int MI,
int NI,
CCTK_REAL *AbsTol,
CCTK_REAL *RelTol);
-void sor_flat(cGH *GH,
- int FieldI,
- int MI,
- int NI,
- CCTK_REAL *AbsTol,
- CCTK_REAL *RelTol);
-
-/* routine registers the SOR solver "sor_confmetric" under the name "sor"
+void SORFlat(cGH *GH,
+ int FieldI,
+ int MI,
+ int NI,
+ CCTK_REAL *AbsTol,
+ CCTK_REAL *RelTol);
+
+/* routine registers the SOR solver "SORConfMetric" under the name "sor"
with the Elliptic Class "LinConfMetric".
*/
@@ -39,20 +39,20 @@ void EllSOR_Register(CCTK_ARGUMENTS)
DECLARE_CCTK_ARGUMENTS
DECLARE_CCTK_PARAMETERS
-
int err;
/* Register the solver with the elliptic classes */
- err = Ell_RegisterSolver(sor_confmetric,"sor","Ell_LinConfMetric");
+ err = Ell_RegisterSolver(SORConfMetric,"sor","Ell_LinConfMetric");
if (!err==ELL_SUCCESS)
{
- CCTK_WARN(0,"Failed to register sor for Ell_LinConfMetric");
+ CCTK_WARN(0,"EllSOR_Register: Failed to register sor for Ell_LinConfMetric");
}
- err = Ell_RegisterSolver(sor_flat,"sor","Ell_LinFlat");
+
+ err = Ell_RegisterSolver(SORFlat,"sor","Ell_LinFlat");
if (!err==ELL_SUCCESS)
{
- CCTK_WARN(0,"Failed to register sor for Ell_LinFlat");
+ CCTK_WARN(0,"EllSOR_Register: Failed to register sor for Ell_LinFlat");
}
/* These "keys" have to be same in other elliptic solver and in
@@ -62,6 +62,22 @@ void EllSOR_Register(CCTK_ARGUMENTS)
err = Ell_CreateKey(CCTK_VARIABLE_STRING,"EllLinFlat::Bnd::Robin");
err = Ell_CreateKey(CCTK_VARIABLE_STRING,"EllLinFlat::Bnd::Const");
-
+ /* Create a key to be associated with the maximum number of iterations
+ allowed. */
+ err = Ell_CreateKey(CCTK_VARIABLE_INT, "Ell::SORmaxit");
+ if (err != ELL_SUCCESS)
+ {
+ CCTK_WARN(0, "EllSOR_Register: "
+ "Failed to create integer key Ell::SORmaxit");
+ }
+
+ /* Create a key to be associated with the type of acceleration to be
+ used. */
+ err = Ell_CreateKey(CCTK_VARIABLE_STRING, "Ell::SORaccel");
+ if (err != ELL_SUCCESS)
+ {
+ CCTK_WARN(0, "EllSOR_Register: "
+ "Failed to create integer key Ell::SORaccel");
+ }
}