52 const double u[],
double sk[],
const int id[],
const int ik[] ,
double f[]);
63 int AdrCRS(
const int row,
const int col,
const int id[],
const int ik[],
const int nnode);
100 int IniLevels(
const double xl,
const double xr,
const double yb,
const double yt,
101 const int neigh[],
const int color,
const int myid,
const MPI::Intracomm& icomm,
126 int GlobalCoarse(
const int neigh[],
const int color,
const int myid,
127 const MPI::Intracomm& icomm,
const int nlevels,
PointerStruct *pp);
143 const int nx_c,
const int ny_c,
const double w_c[],
const int neigh[]);
158 void Restrict(
const int nx,
const int ny,
const double w[],
159 const int nx_c,
const int ny_c,
double w_c[],
const int neigh[]);
181 void JacobiSmooth(
const int nx,
const int ny,
const int neigh[],
const int color,
182 const int myid,
const MPI::Intracomm& icomm,
183 const double sk[],
const int id[],
const int ik[],
184 const double f[],
double u[],
const double dd[],
185 double aux[],
const int maxiter );
203 const int nnode,
const int nglob,
204 const double sk[],
const int id[],
const int ik[],
205 const int l2g[],
const double f[],
double u[] );
225 void JacobiSolve2(
const int nx,
const int ny,
const int neigh[],
const int color,
226 const MPI::Intracomm& icomm,
227 const double sk[],
const int id[],
const int ik[],
228 const double f[],
double u[],
const double dd[],
double aux[]);
232 const int level,
const int neigh[],
const int color,
233 const int myid,
const MPI::Intracomm& icomm);
237 const int neigh[],
const int color,
const int myid,
const MPI::Intracomm& icomm);
double * sk[MAXLEVEL]
Definition: mg.h:14
void ApplyDirichletBC1(const int nx, const int ny, const int neigh[], const double u[], double sk[], const int id[], const int ik[], double f[])
Definition: applybc1.cpp:28
int FreeLevels(const int nlevels, PointerStruct *pp)
Definition: allocati.cpp:107
int IniLevels(const double xl, const double xr, const double yb, const double yt, const int neigh[], const int color, const int myid, const MPI::Intracomm &icomm, const int nlevels, const PointerStruct *pp)
Definition: allocati.cpp:55
int AllocLevels(const int nlevels, const int nx, const int ny, PointerStruct *pp)
Definition: allocati.cpp:9
int * loc2glob
Definition: mg.h:20
void MGMSolver(const PointerStruct *const pp, const ControlStruct *const crtl, const int level, const int neigh[], const int color, const int myid, const MPI::Intracomm &icomm)
Definition: mgm.cpp:81
int * cid
Definition: mg.h:22
void Interpolate(const int nx, const int ny, double w[], const int nx_c, const int ny_c, const double w_c[], const int neigh[])
Definition: gridtransfer.cpp:9
#define MAXLEVEL
Definition: mg.h:4
void JacobiSmooth(const int nx, const int ny, const int neigh[], const int color, const int myid, const MPI::Intracomm &icomm, const double sk[], const int id[], const int ik[], const double f[], double u[], const double dd[], double aux[], const int maxiter)
Definition: jacsmooth.cpp:8
int ny[MAXLEVEL]
Definition: mg.h:9
int npre
Definition: mg.h:30
double * dd[MAXLEVEL]
Definition: mg.h:14
void JacobiSolveGlob(const int myid, const MPI::Intracomm &icomm, const int nnode, const int nglob, const double sk[], const int id[], const int ik[], const int l2g[], const double f[], double u[])
Definition: jacsmooth.cpp:39
void JacobiSolve2(const int nx, const int ny, const int neigh[], const int color, const MPI::Intracomm &icomm, const double sk[], const int id[], const int ik[], const double f[], double u[], const double dd[], double aux[])
Definition: jacsolve.cpp:65
void Restrict(const int nx, const int ny, const double w[], const int nx_c, const int ny_c, double w_c[], const int neigh[])
Definition: gridtransfer.cpp:88
int AdrCRS(const int row, const int col, const int id[], const int ik[], const int nnode)
Definition: applybc1.cpp:5
double * csk
Definition: mg.h:23
double * f[MAXLEVEL]
Definition: mg.h:14
int * ik[MAXLEVEL]
Definition: mg.h:12
void MGM(const PointerStruct *const pp, const ControlStruct *const crtl, const int level, const int neigh[], const int color, const int myid, const MPI::Intracomm &icomm)
Definition: mgm.cpp:9
double * u[MAXLEVEL]
Definition: mg.h:14
int GlobalCoarse(const int neigh[], const int color, const int myid, const MPI::Intracomm &icomm, const int nlevels, PointerStruct *pp)
Definition: allocati.cpp:182
int * cik
Definition: mg.h:22
int nx[MAXLEVEL]
Definition: mg.h:9
double * aux[MAXLEVEL]
Definition: mg.h:14
int nglob
Definition: mg.h:22