#include #include #include #include "cctk.h" #include "cctk_parameters.h" #include "cctk_WarnLevel.h" #include "CactusElliptic/EllBase/src/Ell_DBstructure.h" /* routine registers the SOR solver "sor_confmetric" under the name "sor" with the Elliptic Class "LinConfMetric". */ void EllSOR_Register(cGH *GH) { void sor_confmetric(cGH *GH, int *MetricPsiI, int FieldI, int MI, int NI, CCTK_REAL *AbsTol, CCTK_REAL *RelTol); void sor_flat(cGH *GH, int MI, int NI, CCTK_REAL *AbsTol, CCTK_REAL *RelTol); DECLARE_CCTK_PARAMETERS int err,ell_verb; CCTK_REAL dummy; ell_verb = CCTK_Equals(elliptic_verbose,"yes"); /* Register the solver withe the elliptic classes */ /* These "keys" have to be same in other elliptic solver and in the routines that sets them ! */ Ell_RegisterSolver(sor_confmetric,"sor","Ell_LinConfMetric"); Ell_RegisterSolver(sor_flat,"sor","Ell_LinFlat"); /* Register boundary SOR can handle */ err = Ell_CreateKey(CCTK_VARIABLE_STRING,"EllSOR::Bnd::Robin"); err = Ell_CreateKey(CCTK_VARIABLE_STRING,"EllSOR::Bnd::Const"); }