36 #ifndef NEKTAR_LIB_UTILITIES_COMMUNICATION_XXT_HPP
37 #define NEKTAR_LIB_UTILITIES_COMMUNICATION_XXT_HPP
69 unsigned int n, *Lrp, *Lj;
74 unsigned int n, *Arp, *Aj;
double *A;
123 unsigned int *
Xp;
double *X;
126 double *vl, *vc, *
vx, *combuf;
133 unsigned int n,
const unsigned long *
id,
134 unsigned int nz,
const unsigned int *Ai,
const unsigned int *Aj,
135 const double *A,
unsigned int null_space,
const struct comm *
comm);
165 #ifdef NEKTAR_USE_MPI
166 unsigned int nz = pAr.num_elements();
168 ASSERTL1(vCommMpi,
"Failed to cast MPI Comm object.");
170 MPI_Comm_dup(vCommMpi->GetComm(), &vComm.
c);
171 vComm.
id = vCommMpi->GetRank();
172 vComm.
np = vCommMpi->GetSize();
174 &pAj[0], &pAr[0], 0, &vComm);
175 MPI_Comm_free(&vComm.
c);
190 #ifdef NEKTAR_USE_MPI
204 #ifdef NEKTAR_USE_MPI
206 MPI_Finalized(&finalized);
207 if (pCrs && !finalized)
static void Solve(Nektar::Array< OneD, NekDouble > pX, struct crs_data *pCrs, Nektar::Array< OneD, NekDouble > pB)
Solve the matrix system for a given input vector b.
void nektar_crs_free(struct crs_data *data)
boost::shared_ptr< Comm > CommSharedPtr
Pointer to a Communicator object.
boost::shared_ptr< CommMpi > CommMpiSharedPtr
Pointer to a Communicator object.
static struct crs_data * Init(unsigned int pRank, const Nektar::Array< OneD, unsigned long > pId, const Nektar::Array< OneD, unsigned int > pAi, const Nektar::Array< OneD, unsigned int > pAj, const Nektar::Array< OneD, NekDouble > pAr, const LibUtilities::CommSharedPtr &pComm)
Initialise the matrix-solve.
struct crs_data * nektar_crs_setup(unsigned int n, const unsigned long *id, unsigned int nz, const unsigned int *Ai, const unsigned int *Aj, const double *A, unsigned int null_space, const struct comm *comm)
static void Finalise(crs_data *pCrs)
Deallocates the crs mapping data.
void nektar_crs_stats(struct crs_data *data)
#define ASSERTL1(condition, msg)
Assert Level 1 – Debugging which is used whether in FULLDEBUG or DEBUG compilation mode...
void nektar_crs_solve(double *x, struct crs_data *data, double *b)