-- Gkyl ------------------------------------------------------------------------
--
-- Lua wrapper for C kernels used by the multigrid Poisson solver.
--
--    _______     ___
-- + 6 @ |||| # P ||| +
--------------------------------------------------------------------------------

local ffi = require "ffi"

ffi.cdef [[

void MGpoissonDGprolong1xSer_P1(const double *fldC, double **fldF);
void MGpoissonDGrestrict1xSer_P1(double **fldF, double *fldC);

void MGpoissonDGDampedGaussSeidel1xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi1xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel1xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel1xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi1xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi1xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonDGresidual1xSer_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual1xSer_LxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual1xSer_UxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonESenergyDG1xSer_P1(const double *dx, double *phi, double *out);

void MGpoissonFEM_DGtoFEM_1xSer_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_1xSer_LxNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_1xSer_UxNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_FEMtoDG_1xSer_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_1xSer_LxNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_1xSer_UxNonPeriodic_P1(double **femFld, double *dgFld);

void MGpoissonFEMproject1xSer_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject1xSer_LxNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject1xSer_UxNonPeriodic_P1(double **dx, double **femFld, double *out);

void MGpoissonFEMDampedJacobi1xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_LxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_LxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_UxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_UxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_LxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_LxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_UxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_UxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonFEMprolong1xSer_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_LxDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_LxNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_LxRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_UxDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_UxNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_UxRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMrestrict1xSer_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_LxDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_LxNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_LxRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_UxDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_UxNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_UxRobin_P1(double **fldF, double *fldCC);

void MGpoissonFEMresidual1xSer_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_LxDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_LxNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_LxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_UxDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_UxNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_UxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonFEML2norm1xSer_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm1xSer_LxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm1xSer_UxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMM0norm1xSer_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm1xSer_LxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm1xSer_UxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMaccuConst1xSer_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst1xSer_LxNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst1xSer_UxNonPeriodic_P1(const double constIn, double *femFld);

void MGpoissonDGprolong2xSer_P1(const double *fldC, double **fldF);
void MGpoissonDGrestrict2xSer_P1(double **fldF, double *fldC);

void MGpoissonDGDampedGaussSeidel2xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonDGresidual2xSer_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonESenergyDG2xSer_P1(const double *dx, double *phi, double *out);

void MGpoissonFEM_DGtoFEM_2xSer_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LxNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UxNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LxNonPeriodicLyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LxNonPeriodicUyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UxNonPeriodicLyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UxNonPeriodicUyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_FEMtoDG_2xSer_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LxNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UxNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LxNonPeriodicLyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LxNonPeriodicUyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UxNonPeriodicLyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UxNonPeriodicUyNonPeriodic_P1(double **femFld, double *dgFld);

void MGpoissonFEMproject2xSer_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LxNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UxNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LxNonPeriodicLyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LxNonPeriodicUyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UxNonPeriodicLyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UxNonPeriodicUyNonPeriodic_P1(double **dx, double **femFld, double *out);

void MGpoissonFEMDampedJacobi2xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonFEMprolong2xSer_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMrestrict2xSer_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinUyRobin_P1(double **fldF, double *fldCC);

void MGpoissonFEMresidual2xSer_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonFEML2norm2xSer_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMM0norm2xSer_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMaccuConst2xSer_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LxNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UxNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LxNonPeriodicLyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LxNonPeriodicUyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UxNonPeriodicLyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UxNonPeriodicUyNonPeriodic_P1(const double constIn, double *femFld);

void MGpoissonDGprolong3xSer_P1(const double *fldC, double **fldF);
void MGpoissonDGrestrict3xSer_P1(double **fldF, double *fldC);

void MGpoissonDGDampedGaussSeidel3xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonDGresidual3xSer_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonESenergyDG3xSer_P1(const double *dx, double *phi, double *out);

void MGpoissonFEM_DGtoFEM_3xSer_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUyNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LyNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LyNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UyNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UyNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(double **dgFld, double *femFld);
void MGpoissonFEM_FEMtoDG_3xSer_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUyNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LyNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LyNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UyNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UyNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(double **femFld, double *dgFld);

void MGpoissonFEMproject3xSer_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUyNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LyNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LyNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UyNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UyNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(double **dx, double **femFld, double *out);

void MGpoissonFEMDampedJacobi3xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinLzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinLzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinLzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinUzDirichlet_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinUzNeumann_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinUzRobin_P1(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonFEMprolong3xSer_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinLzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinLzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinLzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinUzDirichlet_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinUzNeumann_P1(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinUzRobin_P1(double *fldCC, double **fldF);
void MGpoissonFEMrestrict3xSer_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinLzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinLzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinLzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannUzRobin_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinUzDirichlet_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinUzNeumann_P1(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinUzRobin_P1(double **fldF, double *fldCC);

void MGpoissonFEMresidual3xSer_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinLzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinLzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinLzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinUzDirichlet_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinUzNeumann_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinUzRobin_P1(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonFEML2norm3xSer_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMM0norm3xSer_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUyNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMaccuConst3xSer_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUyNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LyNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LyNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UyNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UyNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P1(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P1(const double constIn, double *femFld);


void MGpoissonDGprolong1xSer_P2(const double *fldC, double **fldF);
void MGpoissonDGrestrict1xSer_P2(double **fldF, double *fldC);

void MGpoissonDGDampedGaussSeidel1xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi1xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel1xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel1xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi1xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi1xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonDGresidual1xSer_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual1xSer_LxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual1xSer_UxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonESenergyDG1xSer_P2(const double *dx, double *phi, double *out);

void MGpoissonFEM_DGtoFEM_1xSer_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_1xSer_LxNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_1xSer_UxNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_FEMtoDG_1xSer_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_1xSer_LxNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_1xSer_UxNonPeriodic_P2(double **femFld, double *dgFld);

void MGpoissonFEMproject1xSer_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject1xSer_LxNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject1xSer_UxNonPeriodic_P2(double **dx, double **femFld, double *out);

void MGpoissonFEMDampedJacobi1xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_LxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_LxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_UxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_UxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi1xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_LxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_LxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_UxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_UxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel1xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonFEMprolong1xSer_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_LxDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_LxNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_LxRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_UxDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_UxNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong1xSer_UxRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMrestrict1xSer_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_LxDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_LxNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_LxRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_UxDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_UxNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict1xSer_UxRobin_P2(double **fldF, double *fldCC);

void MGpoissonFEMresidual1xSer_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_LxDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_LxNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_LxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_UxDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_UxNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual1xSer_UxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonFEML2norm1xSer_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm1xSer_LxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm1xSer_UxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMM0norm1xSer_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm1xSer_LxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm1xSer_UxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMaccuConst1xSer_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst1xSer_LxNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst1xSer_UxNonPeriodic_P2(const double constIn, double *femFld);

void MGpoissonDGprolong2xSer_P2(const double *fldC, double **fldF);
void MGpoissonDGrestrict2xSer_P2(double **fldF, double *fldC);

void MGpoissonDGDampedGaussSeidel2xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel2xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi2xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonDGresidual2xSer_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_LxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual2xSer_UxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonESenergyDG2xSer_P2(const double *dx, double *phi, double *out);

void MGpoissonFEM_DGtoFEM_2xSer_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LxNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UxNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LxNonPeriodicLyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_LxNonPeriodicUyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UxNonPeriodicLyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_2xSer_UxNonPeriodicUyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_FEMtoDG_2xSer_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LxNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UxNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LxNonPeriodicLyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_LxNonPeriodicUyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UxNonPeriodicLyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_2xSer_UxNonPeriodicUyNonPeriodic_P2(double **femFld, double *dgFld);

void MGpoissonFEMproject2xSer_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LxNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UxNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LxNonPeriodicLyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_LxNonPeriodicUyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UxNonPeriodicLyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject2xSer_UxNonPeriodicUyNonPeriodic_P2(double **dx, double **femFld, double *out);

void MGpoissonFEMDampedJacobi2xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi2xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel2xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonFEMprolong2xSer_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxDirichletUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxNeumannUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_LxRobinUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxDirichletUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxNeumannUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong2xSer_UxRobinUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMrestrict2xSer_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxDirichletUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxNeumannUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_LxRobinUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxDirichletUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxNeumannUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict2xSer_UxRobinUyRobin_P2(double **fldF, double *fldCC);

void MGpoissonFEMresidual2xSer_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxDirichletUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxNeumannUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_LxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxDirichletUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxNeumannUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual2xSer_UxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonFEML2norm2xSer_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_LxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm2xSer_UxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMM0norm2xSer_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_LxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm2xSer_UxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMaccuConst2xSer_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LxNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UxNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LxNonPeriodicLyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_LxNonPeriodicUyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UxNonPeriodicLyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst2xSer_UxNonPeriodicUyNonPeriodic_P2(const double constIn, double *femFld);

void MGpoissonDGprolong3xSer_P2(const double *fldC, double **fldF);
void MGpoissonDGrestrict3xSer_P2(double **fldF, double *fldC);

void MGpoissonDGDampedGaussSeidel3xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_LxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedGaussSeidel3xSer_UxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_LxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonDGDampedJacobi3xSer_UxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonDGresidual3xSer_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_LxRobinUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonDGresidual3xSer_UxRobinUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonESenergyDG3xSer_P2(const double *dx, double *phi, double *out);

void MGpoissonFEM_DGtoFEM_3xSer_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUyNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LyNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LyNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UyNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UyNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_DGtoFEM_3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(double **dgFld, double *femFld);
void MGpoissonFEM_FEMtoDG_3xSer_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUyNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LyNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LyNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UyNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UyNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(double **femFld, double *dgFld);
void MGpoissonFEM_FEMtoDG_3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(double **femFld, double *dgFld);

void MGpoissonFEMproject3xSer_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUyNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LyNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LyNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UyNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UyNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(double **dx, double **femFld, double *out);
void MGpoissonFEMproject3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(double **dx, double **femFld, double *out);

void MGpoissonFEMDampedJacobi3xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxDirichletUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxNeumannUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_LxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxDirichletUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxNeumannUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedJacobi3xSer_UxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxDirichletUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxNeumannUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_LxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinLyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinLzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinLzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinLzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxDirichletUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxNeumannUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyDirichletUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyNeumannUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinUzDirichlet_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinUzNeumann_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);
void MGpoissonFEMDampedGaussSeidel3xSer_UxRobinUyRobinUzRobin_P2(const double omega, double **dx, const double *bcVals, double **rho, double **phiPrev, double **phi);

void MGpoissonFEMprolong3xSer_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletLyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannLyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinLyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxDirichletUyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxNeumannUyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_LxRobinUyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletLyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannLyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinLyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinLzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinLzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinLzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxDirichletUyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxNeumannUyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyDirichletUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyNeumannUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinUzDirichlet_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinUzNeumann_P2(double *fldCC, double **fldF);
void MGpoissonFEMprolong3xSer_UxRobinUyRobinUzRobin_P2(double *fldCC, double **fldF);
void MGpoissonFEMrestrict3xSer_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletLyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannLyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinLyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxDirichletUyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxNeumannUyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_LxRobinUyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletLyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannLyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinLyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinLzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinLzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinLzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxDirichletUyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxNeumannUyRobinUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyDirichletUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyNeumannUzRobin_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinUzDirichlet_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinUzNeumann_P2(double **fldF, double *fldCC);
void MGpoissonFEMrestrict3xSer_UxRobinUyRobinUzRobin_P2(double **fldF, double *fldCC);

void MGpoissonFEMresidual3xSer_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxDirichletUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxNeumannUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_LxRobinUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinLyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinLzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinLzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinLzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxDirichletUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxNeumannUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyDirichletUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyNeumannUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinUzDirichlet_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinUzNeumann_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);
void MGpoissonFEMresidual3xSer_UxRobinUyRobinUzRobin_P2(double **dx, const double *bcVals, double **rho, double **phi, double *resOut);

void MGpoissonFEML2norm3xSer_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEML2norm3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMM0norm3xSer_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUyNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);
void MGpoissonFEMM0norm3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(const double *dxC, double **femFld, double *normOut);

void MGpoissonFEMaccuConst3xSer_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUyNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LyNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LyNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UyNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UyNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_LxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLyNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicLyNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUyNonPeriodicLzNonPeriodic_P2(const double constIn, double *femFld);
void MGpoissonFEMaccuConst3xSer_UxNonPeriodicUyNonPeriodicUzNonPeriodic_P2(const double constIn, double *femFld);

]]
